Regresja liniowa, co mówi nam statystyka F, kwadrat R i resztkowy błąd standardowy?

14

Jestem naprawdę zdezorientowany co do różnicy znaczenia w kontekście regresji liniowej następujących terminów:

  • Statystyka F.
  • R do kwadratu
  • Błąd resztkowy standardowy

Znalazłem tę stronę internetową, która dała mi świetny wgląd w różne terminy związane z regresją liniową, jednak wspomniane wyżej terminy wyglądają całkiem sporo (o ile rozumiem). Przytoczę to, co przeczytałem i co mnie zdezorientowało:

Rezydualny błąd standardowy jest miarą jakości dopasowania regresji liniowej ....... Resztkowy błąd standardowy jest średnią wartością, którą odpowiedź (dist) będzie odbiegać od rzeczywistej linii regresji.

1. Czy jest to w rzeczywistości średnia odległość zaobserwowanych wartości od linii lm?

Statystyka kwadratu R zapewnia miarę dopasowania modelu do rzeczywistych danych.

2. Teraz jestem zdezorientowany, 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 dobry jest nasz modele pasują, więc jaka jest różnica między kwadratem R i RSE?

Statystyka F jest dobrym wskaźnikiem tego, czy istnieje związek między naszym predyktorem a zmiennymi odpowiedzi.

3. Czy to prawda, że ​​możemy mieć wartość F wskazującą na silną zależność, która jest NIELINIOWA, tak że nasze RSE jest wysokie, a nasze R do kwadratu jest niskie

KingBoomie
źródło
Pytanie 3 Wartość nie oznacza zależności nieliniowej. Jest to stosunek wskazujący, czy istnieje istotna (stała) zależność między dwiema zmiennymi - zależna i niezależna.
Subhash C. Davar
Nie mówi nam o naturze relacji - nieliniowej lub liniowej.
Subhash C. Davar,

Odpowiedzi:

12

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 ( ):R2R2RSE

  1. suma kwadratów ( )SStotal
  2. pozostałe sumy kwadratów ( )SSresidual
  3. sumy modeli kwadratów ( )SSmodel

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:SStotalcars

wprowadź opis zdjęcia tutaj

ocenić, jak dobrze pasuje do linii regresji do danych.SSresidual

wprowadź opis zdjęcia tutaj

porównuje ile lepiej linia regresji jest w porównaniu do średniej (czyli różnica między i ).SSmodelSStotalSSresidual

wprowadź opis zdjęcia tutaj

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:

  1. 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 ( )RSEMSresidual

# 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.SSresidualMSresidual S S r SSresidualRSE

Q2:

  1. 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:

  1. 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ś.

Stefan
źródło
3

(2) Rozumiesz to poprawnie, po prostu masz trudności z koncepcją.

Wartość reprezentuje, jak dobrze model uwzględnia wszystkie dane. Może przyjmować wartości tylko od 0 do 1. Jest to procent odchylenia punktów w zbiorze danych, który model może wyjaśnić.R2

RSE jest raczej deskryptorem tego, co stanowi odchylenie od modelu, z którego pochodzą oryginalne dane. Zatem mówi: „model robi to dobrze, wyjaśniając przedstawione dane”. RSE mówi: „po zmapowaniu spodziewaliśmy się, że dane będą tutaj, ale tutaj właśnie tam były”. Są bardzo podobne, ale służą do sprawdzania poprawności na różne sposoby.R2

Chris
źródło
0

Aby uzupełnić to, co Chris odpowiedział powyżej:

Statystyka F to podział średniej kwadratowej modelu i średniej kwadratowej rezydualnej. Oprogramowanie takie jak Stata, po dopasowaniu modelu regresji, zapewnia również wartość p związaną ze statystyką F. Pozwala to przetestować hipotezę zerową, że współczynniki modelu wynoszą zero. Można by pomyśleć o tym jako o „statystycznym znaczeniu modelu jako całości”.

YSC
źródło