R - Mylone z terminologią resztkową

34
  • Błąd średniej kwadratowej
  • rezydualna suma kwadratów
  • błąd resztkowy standardowy
  • średni błąd kwadratu
  • błąd testu

Myślałem, że kiedyś rozumiałem te terminy, ale im więcej robię problemów statystycznych, tym bardziej się mylę, gdy się domyślam. Chciałbym trochę pewności i konkretnego przykładu

Potrafię łatwo znaleźć równania w Internecie, ale mam problem z uzyskaniem wyjaśnienia tych terminów „wyjaśnij, że jestem 5”, aby móc skrystalizować w głowie różnice i sposób, w jaki jedno prowadzi do drugiego.

Jeśli ktoś może wziąć ten kod poniżej i wskazać, jak obliczyć każdy z tych warunków, byłbym wdzięczny. Kod R byłby świetny ..

Korzystając z tego przykładu poniżej:

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

Pokaż mi w kodzie R, jak znaleźć:

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

Punkty bonusowe za wyjaśnienie, jak jestem 5, różnic / podobieństw między nimi. przykład:

rmse = squareroot(mss)
użytkownik3788557
źródło
2
Czy możesz podać kontekst, w którym słyszałeś termin „ błąd testu ”? Ponieważ nie jest coś, co nazywa „Błąd testu”, ale nie jestem pewien, że to, czego szukasz ... (to pojawia się w kontekście posiadania zestawu testowego oraz zestaw szkoleniowy --does żadnej z tych brzmi znajomo? )
Steve S
Tak - rozumiem, że to model wygenerowany na zestawie szkoleniowym zastosowanym do zestawu testowego. Błąd testowy to modelowany y - test y lub (modelowany y - test y) ^ 2 lub (modelowany y - test y) ^ 2 /// DF (lub N?) Lub ((modelowany y - test y) ^ 2 / N) ^. 5?
user3788557,

Odpowiedzi:

60

Zgodnie z życzeniem, ilustruję za pomocą prostej regresji przy użyciu mtcarsdanych:

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

Średni błąd squared (MSE) jest średnią kwadratu reszt:

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

Błąd średniej kwadratowej (RMSE) jest wówczas pierwiastkiem kwadratowym z MSE:

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

Resztkowa suma kwadratów (RSS) to suma kwadratów reszt:

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

Błąd resztkowy standardowy (RSE) to pierwiastek kwadratowy z (RSS / stopni swobody):

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

To samo obliczenie, uproszczone, ponieważ wcześniej obliczyliśmy rss:

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

Termin błąd testu w kontekście regresji (i innych technik analizy predykcyjnej) zwykle odnosi się do obliczania statystyki testu na danych testowych, niezależnie od danych treningowych.

Innymi słowy, model szacuje się na podstawie części danych (często próba 80%), a następnie oblicza się błąd na podstawie próby wstrzymania. Ponownie ilustruję użycie mtcars, tym razem z próbką 80%

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

Oszacuj model, a następnie przewiduj na podstawie danych wstrzymania:

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 

Połącz oryginalne dane i prognozy w ramce danych

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

Teraz oblicz swoje statystyki testowe w normalny sposób. Ilustruję MSE i RMSE:

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

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

Zauważ, że ta odpowiedź ignoruje ważność obserwacji.

Andrie
źródło
Dziękuję za tę odpowiedź, która naprawdę pomogła mi zrozumieć. Przeprowadzając badania, lekcja Datacamp na temat dopasowania modelu opisuje inną formułę niż twoja dla RMSE. Znalazłem stronę po wyszukiwaniu w Google. Formuła podana dla RMSE ma intuicyjny sens i jest łatwa do zrozumienia. Ich obliczenia dla RMSE obejmują stopnie swobody w mianowniku. Ponadto, jeśli poprawnie przeczytałem ich post, mówią, że R nazywa RMSE rezydualnym błędem standardowym, ale z twojej odpowiedzi są to odrębne wskaźniki oceny. Myśli?
Doug Fir
22

Oryginalny plakat poprosił o odpowiedź „wytłumacz jak jestem 5”. Powiedzmy, że nauczyciel w szkole zaprasza ciebie i twoich kolegów, aby odgadli szerokość stołu nauczyciela. Każdy z 20 uczniów w klasie może wybrać urządzenie (linijkę, skalę, taśmę lub miernik) i może zmierzyć stół 10 razy. Wszyscy są proszeni o użycie różnych lokalizacji początkowych w urządzeniu, aby uniknąć ciągłego odczytywania tego samego numeru; odczyt początkowy należy następnie odjąć od odczytu końcowego, aby w końcu uzyskać jeden pomiar szerokości (ostatnio nauczyłeś się, jak wykonywać tego rodzaju matematykę).

Klasa wykonała w sumie 200 pomiarów szerokości (20 uczniów, po 10 pomiarów każdy). Obserwacje są przekazywane nauczycielowi, który skruszy liczby. Odjęcie obserwacji każdego ucznia od wartości odniesienia spowoduje kolejne 200 liczb, zwanych odchyleniami . Nauczyciel uśrednia próbkę każdego ucznia osobno, uzyskując 20 środków . Odjęcie obserwacji każdego ucznia od jego indywidualnej średniej spowoduje 200 odchyleń od średniej, zwanych resztami . Gdyby obliczono średnią resztkową dla każdej próbki, można zauważyć, że zawsze wynosi zero. Jeśli zamiast tego wyprostujemy każdą resztę, uśrednimy ją i ostatecznie cofniemy kwadrat, otrzymamy odchylenie standardowe. (Nawiasem mówiąc, nazywamy to ostatnie obliczenie bitem pierwiastka kwadratowego (pomyślmy o znalezieniu podstawy lub boku danego kwadratu), więc cała operacja jest w skrócie często nazywana pierwiastkiem średnim kwadratem , w skrócie; standardowe odchylenie obserwacji wynosi średnia kwadratowa reszt.)

Ale nauczyciel znał już prawdziwą szerokość stołu, na podstawie tego, jak został zaprojektowany, zbudowany i sprawdzony w fabryce. Zatem kolejne 200 liczb, zwanych błędami , można obliczyć jako odchylenie obserwacji w stosunku do prawdziwej szerokości. Średni błąd można obliczyć dla każdej próbki studentów. Podobnie, 20 odchyleń standardowych błędu lub błędu standardowego , można obliczyć dla obserwacji. Więcej 20 błąd średniej kwadratowejwartości można również obliczyć. Trzy zestawy 20 wartości są powiązane jako sqrt (me ^ 2 + se ^ 2) = rmse, w kolejności pojawiania się. Opierając się na rmse, nauczyciel może ocenić, czyj uczeń podał najlepszą ocenę szerokości stołu. Ponadto, patrząc oddzielnie na 20 średnich błędów i 20 standardowych wartości błędów, nauczyciel może pouczyć każdego ucznia, jak poprawić swoje odczyty.

W ramach kontroli nauczyciel odejmował każdy błąd od odpowiadającego mu średniego błędu, co skutkowało kolejnymi 200 liczbami, które nazywamy błędami resztkowymi (co nie jest często wykonywane). Jak wyżej, średni błąd resztkowy wynosi zero, więc odchylenie standardowe błędów resztkowych lub standardowy błąd resztkowy jest taki sam, jak błąd standardowy , i tak samo jest również z błędem resztkowym średniej kwadratowej . (Szczegóły poniżej.)

Teraz jest coś interesującego dla nauczyciela. Możemy porównać średnią każdego ucznia z resztą klasy (20 oznacza w sumie). Tak jak zdefiniowaliśmy przed tymi wartościami punktowymi:

  • m: średnia (z obserwacji),
  • s: odchylenie standardowe (obserwacji)
  • ja: średni błąd (z obserwacji)
  • se: błąd standardowy (z obserwacji)
  • rmse: błąd średniokwadratowy (z obserwacji)

możemy również zdefiniować teraz:

  • mm: średnia średnich
  • sm: odchylenie standardowe średniej
  • mem: średni błąd średniej
  • sem: błąd standardowy średniej
  • rmsem: błąd średniokwadratowy średniej

Tylko jeśli mówi się, że klasa uczniów jest bezstronna, tj. Jeśli mem = 0, to sem = sm = rmsem; tj. błąd standardowy średniej, odchylenie standardowe średniej i błąd pierwiastkowy średniej kwadratowej średnia może być taka sama, pod warunkiem, że średni błąd średniej wynosi zero.

Gdybyśmy pobrali tylko jedną próbkę, tj. Gdyby w klasie był tylko jeden uczeń, odchylenie standardowe obserwacji (s) można by zastosować do oszacowania odchylenia standardowego średniej (sm), jako sm ^ 2 ~ s ^ 2 / n, gdzie n = 10 to wielkość próby (liczba odczytów na ucznia). Oba będą się lepiej zgadzać w miarę wzrostu wielkości próby (n = 10,11, ...; więcej odczytów na ucznia) i liczby próbek rośnie (n '= 20,21, ...; więcej uczniów w klasie). (Zastrzeżenie: niekwalifikowany „błąd standardowy” częściej odnosi się do standardowego błędu średniej, a nie do standardowego błędu obserwacji.)

Oto kilka szczegółów związanych z obliczeniami. Prawdziwa wartość jest oznaczona t.

Operacje od punktu do punktu:

  • średnia: MEAN (X)
  • pierwiastek średni-kwadrat: RMS (X)
  • odchylenie standardowe: SD (X) = RMS (X-MEAN (X))

ZESTAWY PRÓBEK:

  • obserwacje (podane), X = {x_i}, i = 1, 2, ..., n = 10.
  • odchylenia: różnica zestawu względem stałego punktu.
  • reszty: odchylenie obserwacji od ich średniej, R = Xm.
  • błędy: odchylenie obserwacji od wartości rzeczywistej, E = Xt.
  • błędy resztkowe: odchylenie błędów od ich średniej, RE = E-MEAN (E)

PUNKTY WEWNĘTRZNE (patrz tabela 1):

  • m: średnia (z obserwacji),
  • s: odchylenie standardowe (obserwacji)
  • ja: średni błąd (z obserwacji)
  • se: błąd standardowy obserwacji
  • rmse: błąd średniokwadratowy (z obserwacji)

Tabela 1

ZESTAWY MIĘDZYPróbKOWE (ZESTAWOWE):

  • oznacza, M = {m_j}, j = 1, 2, ..., n '= 20.
  • reszty średniej: odchylenie średnich od ich średniej, RM = M-mm.
  • błędy średniej: odchylenie średnich od „prawdy”, EM = Mt.
  • błędy resztkowe średniej: odchylenie błędów średniej od ich średniej, REM = EM-MEAN (EM)

PUNKTY MIĘDZY PRÓBKAMI (ZATRUDNIANE) (patrz tabela 2):

  • mm: średnia średnich
  • sm: odchylenie standardowe średniej
  • mem: średni błąd średniej
  • sem: błąd standardowy (średniej)
  • rmsem: błąd średniokwadratowy średniej

Tabela 2

Felipe G. Nievinski
źródło
0

Uważam również, że wszystkie warunki są bardzo mylące. Uważam, że konieczne jest wyjaśnienie, dlaczego mamy tak wiele wskaźników.

Oto moja uwaga na temat SSE i RMSE:

Pierwsza metryka: Suma kwadratów błędów (SSE). Inne nazwy, Resztkowa suma kwadratów (RSS), Suma kwadratów resztkowych (SSR).

Jeśli jesteśmy w społeczności optymalizacyjnej, SSE jest szeroko stosowane. Jest tak, ponieważ jest to cel optymalizacji, gdzie jest optymalizacja

zminimalizowaćβ Xβ-y2)

mi=Xβ-ymi2)=miT.mi

Druga metryka: błąd średniej kwadratowej (RMSE) . Inne nazwy, odchylenie średnich kwadratowych.

RMSE to

1N.(Xβ-y)=1N.miT.mi

N.

y

Haitao Du
źródło