R - Artık Terminolojide Kafası Karışık


34
  • Kök ortalama kare hatası
  • Artık kareler toplamı
  • artık standart hata
  • ortalama kare hatası
  • test hatası

Bu terimleri anladığımı düşünmüştüm, ancak istatistiksel problemleri ne kadar fazla yaparsam, kendimi ikinci tahmin ettiğim yerde kendimden dolayı kafam karıştı. Biraz güvence ve somut bir örnek istiyorum

Denklemleri çevrimiçi ortamda yeterince kolay bulabilirim, ancak '5 yaşındayım gibi açıkla' terimlerini açıklamakta güçlük çekiyorum, bu yüzden kafamdaki farklılıkları ve birinin diğerine nasıl yol açtığını kafamda kristalize edebiliyorum.

Eğer kimse bu kodu aşağıdan alabilir ve bu terimlerin her birini nasıl hesaplayacağımı işaret ederse, çok memnun olurum. R kodu harika olurdu ..

Aşağıdaki bu örneği kullanarak:

summary(lm(mpg~hp, data=mtcars))

Bana nasıl bulacağımı R kodunda göster:

rmse = ____
rss = ____
residual_standard_error = ______  # i know its there but need understanding
mean_squared_error = _______
test_error = ________

Beşinci gibi açıklama için bonus puanları arasındaki farkları / benzerlikleri. örnek:

rmse = squareroot(mss)

2
" Test hatası " terimini duyduğunuz bağlamı verebilir misiniz ? Çünkü orada bir şey 'test hata' olarak adlandırılan ama ben eminim orası arayıp ... (bir sahip bağlamında ortaya çıkar ne arıyorsanız Test seti ve bir eğitim seti bu sesin herhangi tanıdık --does? )
Steve S

Evet - bunun için benim fikrim, test setine uygulanan eğitim setinde oluşturulan modeldir. Test hatası, y'nin - test y'nin veya (modellenen y'nin - test y'sinin) ^ 2 veya (modellenen y'nin - test y'in) ^ 2 /// DF (veya N?) Veya ((modelin y'nin - test y'in)) ^ 2 / modellenmesidir. N) ^ 5 mi?
user3788557

Yanıtlar:


60

İstendiği gibi, mtcarsverileri kullanarak basit bir regresyon kullanarak gösteriyorum :

fit <- lm(mpg~hp, data=mtcars)
summary(fit)

Call:
lm(formula = mpg ~ hp, data = mtcars)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.7121 -2.1122 -0.8854  1.5819  8.2360 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 30.09886    1.63392  18.421  < 2e-16 ***
hp          -0.06823    0.01012  -6.742 1.79e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 3.863 on 30 degrees of freedom
Multiple R-squared:  0.6024,    Adjusted R-squared:  0.5892 
F-statistic: 45.46 on 1 and 30 DF,  p-value: 1.788e-07

Ortalama karesel hata (MSE) artıkların kare ortalamasıdır:

# Mean squared error
mse <- mean(residuals(fit)^2)
mse
[1] 13.98982

Kök ortalama kare hatası (RMSE) daha sonra MSE'nin kareköküdür:

# Root mean squared error
rmse <- sqrt(mse)
rmse
[1] 3.740297

Artık karelerin toplamı (RSS), kare artıkların toplamıdır:

# Residual sum of squares
rss <- sum(residuals(fit)^2)
rss
[1] 447.6743

Artık standart hata (RSE) (RSS / serbestlik derecelerinin) kareköküdür:

# Residual standard error
rse <- sqrt( sum(residuals(fit)^2) / fit$df.residual ) 
rse
[1] 3.862962

Aynı hesaplama, daha önce hesapladığımız için basitleştirildi rss:

sqrt(rss / fit$df.residual)
[1] 3.862962

Regresyon bağlamındaki test hatası terimi (ve diğer öngörücü analitik teknikleri), genellikle eğitim verilerinizden farklı olarak test verileri üzerinde bir test istatistiği hesaplanmasını ifade eder.

Başka bir deyişle, verilerinizin bir bölümünü kullanarak bir model (genellikle% 80 örnek) tahmin ediyor ve sonra da bekletme örneğini kullanarak hatayı hesaplıyorsunuz. Yine, mtcarsbu sefer% 80 örneklemle kullanıldığını göstermektedir.

set.seed(42)
train <- sample.int(nrow(mtcars), 26)
train
 [1] 30 32  9 25 18 15 20  4 16 17 11 24 19  5 31 21 23  2  7  8 22 27 10 28  1 29

Modeli tahmin edin, daha sonra bekletilen verilerle tahmin edin:

fit <- lm(mpg~hp, data=mtcars[train, ])
pred <- predict(fit, newdata=mtcars[-train, ])
pred
 Datsun 710     Valiant  Merc 450SE  Merc 450SL Merc 450SLC   Fiat X1-9 
   24.08103    23.26331    18.15257    18.15257    18.15257    25.92090 

Orijinal verileri ve öngörüyü bir veri çerçevesinde birleştirin

test <- data.frame(actual=mtcars$mpg[-train], pred)
    test$error <- with(test, pred-actual)
test
            actual     pred      error
Datsun 710    22.8 24.08103  1.2810309
Valiant       18.1 23.26331  5.1633124
Merc 450SE    16.4 18.15257  1.7525717
Merc 450SL    17.3 18.15257  0.8525717
Merc 450SLC   15.2 18.15257  2.9525717
Fiat X1-9     27.3 25.92090 -1.3791024

Şimdi test istatistiklerinizi normal şekilde hesaplayın. MSE ve RMSE'yi örneklendiririm:

test.mse <- with(test, mean(error^2))
test.mse
[1] 7.119804

test.rmse <- sqrt(test.mse)
test.rmse
[1] 2.668296

Bu cevabın gözlemlerin ağırlığını dikkate almadığını unutmayın.


Bu cevap için teşekkür ederim, gerçekten anlamama yardımcı oldu. Araştırmada Datacamp'ın model uyum dersi RMSE için sizinkinden farklı bir formülü anlatıyor. Bir Google aramasından sonra bu sayfayı buldum . RMSE için verdiğiniz formül sezgiseldir ve anlaşılması kolaydır. RMSE için hesaplamaları, paydadaki serbestlik derecelerini içerir. Ayrıca, gönderilerini doğru okuduğumda, R'nin RMSE'yi artık standart hata olarak adlandırdığını söylerler ancak cevabınızdan farklı değerlendirme ölçütleri olduğunu söylerler. Düşünceler?
Doug Fir

22

Orijinal poster "5 yaşında olduğumu açıkla" cevabı istedi. Diyelim ki öğretmeniniz sizi ve okul arkadaşlarınızı öğretmenin masa genişliğini tahmin etmeleri için davet ediyor. Sınıftaki 20 öğrenciden her biri bir cihaz seçebilir (cetvel, ölçek, bant veya kıstas) ve tablonun 10 kez ölçülmesine izin verilir. Hepinizden aynı numarayı tekrar tekrar okumaktan kaçınmak için cihazınızda farklı başlangıç ​​yerleri kullanmanız istenir; o zaman başlangıç ​​okumasının sonunda bir genişlik ölçümü elde etmek için son okumadan çıkarılması gerekir (yakın zamanda bu tür bir matematiğin nasıl yapıldığını öğrendiniz).

Sınıf tarafından alınan toplam 200 genişlik ölçüsü vardı (20 öğrenci, her biri 10 ölçüm). Gözlemler, sayıları sıkıştıracak öğretmene verilir. Her öğrencinin gözlemlerini bir referans değerden çıkarmak, sapma olarak adlandırılan 200 sayı ile sonuçlanır . Öğretmen ortalamaları her öğrencinin numune ayrı ayrı 20 elde araçları . Her öğrencinin gözlemlerini bireysel ortalamalarından çıkarmak, artıklar olarak adlandırılan ortalamadan 200 sapma ile sonuçlanacaktır . Eğer ortalama artık her numune için hesaplanacak idi, bunu hep sıfır olduğunu fark ediyorum. Bunun yerine her bir kalıntının karesini alırsak, ortalamaları alırız ve sonunda kareyi geri alırsak standart sapmayı elde ederiz. (Bu arada, son hesaplamaya karekökü bit diyoruz (belirli bir karenin tabanını veya kenarını bulmayı düşünün), bu nedenle tüm işlem genellikle kısaca kök-ortalama-kare olarak adlandırılır ; gözlemlerin standart sapması eşittir artıkların kök-ortalama karesi.)

Ancak öğretmen, fabrikada nasıl tasarlanıp üretilip kontrol edildiğine bağlı olarak gerçek tabla genişliğini zaten biliyordu. Böylece, hata adı verilen 200 sayı daha gözlemlerin gerçek genişliğe göre sapması olarak hesaplanabilir. Bir ortalama hata her öğrenci numune için hesaplanabilir. Aynı şekilde, gözlemler için hatanın 20 standart sapması veya standart hata da hesaplanabilir. Daha fazla 20 kök-ortalama-kare hatasıdeğerler de hesaplanabilir. 20 değerin üç grubu, görünüm sırasına göre sqrt (me ^ 2 + se ^ 2) = rmse ile ilişkilidir. Rmse'ye göre öğretmen, öğrencisi masa genişliği için en iyi tahminde bulunmuş olanı yargılayabilir. Ayrıca, 20 ortalama hataya ve 20 standart hata değerine ayrı ayrı bakarak öğretmen her öğrenciye okumalarını nasıl geliştirebileceğini öğretebilir.

Bir kontrol olarak, öğretmen her bir hatayı kendi ortalama hatalarından çıkardı ve artık 200 hatayla sonuçlandı ( artık yapılmıyor). Yukarıda belirtildiği gibi, ortalama artık hata , böylece sıfır bakiye hatalarının standart sapması ya da standart hata payı ile aynıdır standart hata , ve aslında, bu bir kök-ortalama-kare kalan hata da. (Ayrıntılar için aşağıya bakın.)

Şimdi burada öğretmen için ilgi çekici bir şey var. Her öğrencinin ortalamasını sınıfın geri kalanıyla karşılaştırabiliriz (toplam 20). Tıpkı şu nokta değerlerinden önce tanımladığımız gibi:

  • m: ortalama (gözlemlerin),
  • s: standart sapma (gözlemlerin)
  • ben: ortalama hata (gözlemlerin)
  • se: standart hata (gözlemlerin)
  • rmse: kök-ortalama-kare hatası (gözlemlerin)

şimdi tanımlayabiliriz:

  • mm: ortalamaların ortalaması
  • sm: ortalamanın standart sapması
  • mem: ortalamanın ortalama hatası
  • sem: ortalamanın standart hatası
  • rmsem: ortalamanın kök-ortalama-kare hatası

Sadece öğrencilerin sınıfının tarafsız olduğu söylenirse, yani mem = 0 ise, sem = sm = rmsem; yani, ortalamanın standart hatası, ortalamanın standart sapması ve ortalama-kök-kare-kare hatası, ortalamaların sıfır olması şartıyla, ortalama aynı olabilir.

Sadece bir örnek almış olsaydık, yani sınıfta sadece bir öğrenci varsa, gözlemlerin standart sapması ortalama (sm) 'ın standart sapmasını tahmin etmek için kullanılabiliyordu; 2 / n, burada n = 10 örneklem büyüklüğüdür (öğrenci başına düşen okuma sayısı). İkisi örneklem sayısı arttıkça (n = 10,11, ...; öğrenci başına daha fazla okuma) ve örnek sayısı arttıkça (n '= 20,21, ...; sınıfta daha fazla öğrenci) daha iyi anlaşacaktır. (Bir uyarı: niteliksiz bir "standart hata", genellikle gözlemlerin standart hatasını değil, ortalamanın standart hatasını belirtir.)

İşte söz konusu hesaplamaların bazı detayları. Gerçek değer t olarak gösterilir.

Noktadan noktaya işlemler

  • ortalama: MEAN (X)
  • kök-ortalama-kare: RMS (X)
  • standart sapma: SD (X) = RMS (X-MEAN (X))

INTRA-ÖRNEK SETLERİ:

  • gözlemler (verilen), X = {x_i}, i = 1, 2, ..., n = 10.
  • sapmalar: sabit noktaya göre küme farkı.
  • artıklar: gözlemlerin ortalamalarından sapması, R = Xm.
  • hatalar: gözlemlerin gerçek değerden sapması, E = Xt.
  • artık hatalar: hataların ortalamalarından sapması, RE = E-MEAN (E)

INTRA-NUMUNE NOKTALARI (tablo 1'e bakınız):

  • m: ortalama (gözlemlerin),
  • s: standart sapma (gözlemlerin)
  • ben: ortalama hata (gözlemlerin)
  • se: gözlemlerin standart hatası
  • rmse: kök-ortalama-kare hatası (gözlemlerin)

tablo 1

ÖRNEK ÖRNEK (ENSEMBLE) SETLERİ:

  • M = {m_j}, j = 1, 2, ..., n '= 20 anlamına gelir.
  • ortalamanın artıkları: ortalamaların ortalamalarından sapması, RM = M-mm.
  • Ortalamanın hataları: Ortalamaların "gerçek" ten sapması, EM = Mt.
  • ortalamanın artık hataları: ortalamanın hatalarının ortalamalarından sapması, REM = EM-MEAN (EM)

ÖRNEK ÖRNEK (ENSEMBLE) NOKTALARI (bkz. Tablo 2):

  • mm: ortalamaların ortalaması
  • sm: ortalamanın standart sapması
  • mem: ortalamanın ortalama hatası
  • sem: standart hata (ortalamanın)
  • rmsem: ortalamanın kök-ortalama-kare hatası

Tablo 2


0

Ayrıca tüm terimlerin kafa karıştırıcı olduğunu da hissediyorum. Neden bu kadar çok ölçüme sahip olduğumuzu açıklamanın gerekli olduğunu şiddetle hissediyorum.

İşte SSE ve RMSE ile ilgili notum:

İlk metrik: Karesel Hataların Toplamı (SSE). Diğer isimler, Artık Kareler Toplamı (RSS), Artık Kareler Toplamı (SSR).

Optimizasyon topluluğundaysak, SSE yaygın olarak kullanılır. Çünkü optimizasyonun amacı optimizasyonun olduğu yer.

küçültmekβ Xβ-y2

Kalıntı / hata terimi, , ve ;e 2 = e T ee=Xβ-ye2=eTe

İkinci Metrik: Kök ortalama kare hatası (RMSE) . Diğer isimler, kök-ortalama-kareler sapması.

RMSE

1N-(Xβ-y)=1N-eTe

burada , veri noktalarının sayısıdır.N-

Bu yüzden yukarıda konuştuğumuz SSE'ye ek olarak bu metriğe sahibiz. RMSE metrikinin avantajı, daha "normalize" olmasıdır. Spesifik olarak, SSE veri miktarına bağlı olacaktır. MSE, verinin miktarına bağlı olmaz, ancak RMSE de hatayı aynı birimde ifade eder .y

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.