Najlepszym sposobem na zrozumienie tych terminów jest ręczne obliczenie regresji. Napisałem dwie ściśle powiązane odpowiedzi ( tutaj i tutaj ), jednak mogą one nie w pełni pomóc w zrozumieniu konkretnego przypadku. Ale mimo to przeczytaj je. Może pomogą ci także lepiej zrozumieć te warunki.
W regresji (lub ANOVA) budujemy model w oparciu o przykładowy zestaw danych, który pozwala nam przewidywać wyniki z interesującej populacji. Aby to zrobić, oblicza się następujące trzy składniki w prostej regresji liniowej, na podstawie której można obliczyć inne składniki, np. Średnie kwadraty, wartość F, (również skorygowane ) i resztkowe błąd standardowy ( ):R2)R2)R Smi
- suma kwadratów ( )S.S.t o t a l
- pozostałe sumy kwadratów ( )S.S.R e s i dU l
- sumy modeli kwadratów ( )S.S.m o de l
Każdy z nich ocenia, jak dobrze model opisuje dane i jest sumą kwadratowych odległości od punktów danych do dopasowanego modelu (zilustrowane jako czerwone linie na wykresie poniżej).
ocenić, jak również średnie pasuje do danych. Dlaczego to znaczy? Ponieważ średnia jest najprostszym modelem, jaki możemy dopasować, a zatem służy jako model, do którego porównywana jest linia regresji najmniejszych kwadratów. Ten wykres wykorzystujący zestaw danych pokazuje, że:S.S.t o t a lcars
ocenić, jak dobrze pasuje do linii regresji do danych.S.S.R e s i dU l
porównuje ile lepiej linia regresji jest w porównaniu do średniej (czyli różnica między i ).S.S.m o de lS.S.t o t a lS.S.R e s i dU l
Aby odpowiedzieć na pytania, najpierw obliczmy te terminy, które chcesz zrozumieć, zaczynając od modelu i wyników jako odniesienia:
# The model and output as reference
m1 <- lm(dist ~ speed, data = cars)
summary(m1)
summary.aov(m1) # To get the sums of squares and mean squares
Sumy kwadratów są kwadratowymi odległościami poszczególnych punktów danych do modelu:
# Calculate sums of squares (total, residual and model)
y <- cars$dist
ybar <- mean(y)
ss.total <- sum((y-ybar)^2)
ss.total
ss.residual <- sum((y-m1$fitted)^2)
ss.residual
ss.model <- ss.total-ss.residual
ss.model
Średnie kwadraty są sumami kwadratów uśrednionymi przez stopnie swobody:
# Calculate degrees of freedom (total, residual and model)
n <- length(cars$speed)
k <- length(m1$coef) # k = model parameter: b0, b1
df.total <- n-1
df.residual <- n-k
df.model <- k-1
# Calculate mean squares (note that these are just variances)
ms.residual <- ss.residual/df.residual
ms.residual
ms.model<- ss.model/df.model
ms.model
Moje odpowiedzi na twoje pytania:
P1:
- Czy jest to w rzeczywistości średnia odległość obserwowanych wartości od linii lm?
Resztkowy błąd standardowy ( ) jest pierwiastkiem kwadratowym z resztek z przeciętnego odchylenia kwadratowego ( )R SmiM.S.R e s i dU l
# Calculate residual standard error
res.se <- sqrt(ms.residual)
res.se
Jeśli pamiętasz, że to kwadratowe odległości obserwowanych punktów danych i modelu (linia regresji na drugim wykresie powyżej), a było tylko uśrednioną , odpowiedź na twoje pierwsze pytanie brzmi: tak: reprezentuje średnią odległość obserwowanych danych od modelu. Intuicyjnie ma to również sens, ponieważ jeśli odległość jest mniejsza, dopasowanie modelu jest również lepsze.S.S.R e s i dU lM.S.R e s i dU l S S r S.S.R e s i dU lR Smi
Q2:
- Teraz się mylę, ponieważ jeśli RSE mówi nam, jak daleko nasze obserwowane punkty odbiegają od linii regresji, niskie RSE mówi nam „Twój model dobrze pasuje na podstawie zaobserwowanych punktów danych” -> w ten sposób, jak dobrze nasze modele pasują , więc jaka jest różnica między kwadratem R i RSE?
Teraz jest stosunkiem i :R2SSmodelSStotal
# R squared
r.sq <- ss.model/ss.total
r.sq
Gdy wyraża ile z całkowitą zmienność w danych może być wyjaśnione przez model (linia regresji). Pamiętaj, że całkowita zmienność była zmianą danych, gdy dopasowaliśmy do danych najprostszy model, tj. Średnią. Porównaj z .R2SStotalSSmodel
Aby odpowiedzieć na twoje drugie pytanie, różnica między i polega na tym, że mówi ci coś o niedokładności modelu (w tym przypadku linii regresji), biorąc pod uwagę zaobserwowane dane.RSER2RSE
Z drugiej strony mówi, ile zmienności wyjaśnia model (tj. Linia regresji) w stosunku do wariancji, która została wyjaśniona samą średnią (tj. Najprostszym modelem).R2
P3:
- Czy to prawda, że możemy mieć wartość F wskazującą na silną zależność, która jest NIELINIOWA, więc nasze RSE jest wysokie, a nasze R do kwadratu jest niskie
Zatem wartość z drugiej strony jest obliczana jako średnia kwadratowa modelu (lub sygnał) podzielona przez (szum):FMSmodelMSresidual
# Calculate F-value
F <- ms.model/ms.residual
F
# Calculate P-value
p.F <- 1-pf(F, df.model, df.residual)
p.F
Innymi słowy, wartość wyraża stopień poprawienia modelu (w porównaniu do średniej), biorąc pod uwagę niedokładność modelu.F
Twoje trzecie pytanie jest nieco trudne do zrozumienia, ale zgadzam się z cytatem, który podałeś.