Próbuję zrozumieć logikę testu F ANOVA w prostej analizie regresji liniowej. Pytanie, które mam, jest następujące. Gdy wartość F, tj.
MSR/MSE
Jest duża, akceptujemy model jako znaczący. Jaka jest logika tego?
Próbuję zrozumieć logikę testu F ANOVA w prostej analizie regresji liniowej. Pytanie, które mam, jest następujące. Gdy wartość F, tj.
MSR/MSE
Jest duża, akceptujemy model jako znaczący. Jaka jest logika tego?
Odpowiedzi:
W najprostszym przypadku, gdy masz tylko jeden predyktor (regresja prosta), powiedzmy , test F mówi, czy włączenie X 1 wyjaśnia większą część wariancji obserwowanej w Y w porównaniu do modelu zerowego (tylko przechwytywanie) . Chodzi o to, aby sprawdzić, czy dodana wyjaśniona wariancja (wariancja całkowita, TSS, minus wariancja resztkowa, RSS) jest wystarczająco duża, aby uznać ją za „znaczącą ilość”. Porównujemy tutaj model z jednym predyktorem lub zmienną objaśniającą do linii bazowej, która jest po prostu „szumem” (nic oprócz wielkiej średniej).
Podobnie można obliczyć statystykę w ustawieniu regresji wielokrotnej: w tym przypadku jest to test wszystkich predyktorów zawartych w modelu, co w ramach HT oznacza, że zastanawiamy się, czy któryś z nich jest przydatny w przewidywaniu odpowiedzi zmienna. To jest powód, dla którego możesz napotkać sytuacje, w których test F dla całego modelu jest znaczący, podczas gdy niektóre t lub z testy powiązane z każdym współczynnikiem regresji nie są.
W wygląda jak statystyki
gdzie jest liczbą parametrów modelu, a n liczbą obserwacji. Ilość tę należy odnieść do F p - 1 , n - p rozkładu dla wartości krytycznej lub . Dotyczy to również prostego modelu regresji i oczywiście ma pewną analogię do klasycznego frameworka ANOVA.
Dygresja. Jeśli masz więcej niż jeden predyktor, możesz się zastanawiać, czy rozważenie tylko podzbioru tych predyktorów „obniża” jakość dopasowania modelu. Odpowiada to sytuacji, w której rozważamy modele zagnieżdżone . Jest to dokładnie taka sama sytuacja jak powyżej, w której porównujemy dany model regresji z modelem zerowym (bez predyktorów). Aby ocenić zmniejszenie wyjaśnionej wariancji, możemy porównać resztkową sumę kwadratów (RSS) z obu modeli (to znaczy, co pozostaje niewyjaśnione, gdy weźmie się pod uwagę wpływ predyktorów obecnych w modelu). Niech i M 1 oznaczają model podstawowy (z p ) oraz model z dodatkowym predyktorem ( ), a następnie, jeśli RSS M 1 - RSS M 0 jest mały, uważamy, że mniejszy model działa tak dobrze, jak większy. Dobrą statystyką do zastosowania byłby stosunek takich SS, ( RSS M 1 - RSS M 0 ) / RSS M 0 , ważony ich stopniami swobody ( p - q dla licznika, a n - p dla mianownika). Jak już wspomniano, można było wykazać, że ilość ta jest następstwem rozkładu (lub Fisher Snedecora) z P - Q i n - s stopniach swobody . Jeśli obserwowane jest większe niż odpowiadający mu kwantyl F przy danym α (zazwyczaj α = 0,05 ), to wyciągnęlibyśmy wniosek, że większy model stanowi „lepszą pracę”. (To wcale nie oznacza, że model jest poprawny z praktycznego punktu widzenia!)
Uogólnieniem powyższego pomysłu jest test współczynnika wiarygodności .
Jeśli używasz R, możesz grać z powyższymi pojęciami w następujący sposób:
df <- transform(X <- as.data.frame(replicate(2, rnorm(100))),
y = V1+V2+rnorm(100))
## simple regression
anova(lm(y ~ V1, df)) # "ANOVA view"
summary(lm(y ~ V1, df)) # "Regression view"
## multiple regression
summary(lm0 <- lm(y ~ ., df))
lm1 <- update(lm0, . ~ . -V2) # reduced model
anova(lm1, lm0) # test of V2
anova()
funkcja w R zwraca pojedynczy wiersz dla każdego predyktora w modelu. Na przykład, anova(lm0)
wyżej zwraca wiersz V1
, V2
i Residuals
(a nie całości). W związku z tym otrzymujemy dwie statystyki F * dla tego modelu. Jak to zmienia interpretację statystyki F * zgłoszonej w tabeli ANOVA?
anova()
do porównania GLM. Po zastosowaniu do obiektu lm
lub aov
wyświetla osobne efekty (SS) dla każdego terminu w modelu i nie pokazuje TSS. (Kiedyś stosowałem to na odwrót, mianowicie po dopasowaniu ANOVA aov()
, mogę użyć, summary.lm()
aby uzyskać pojęcie o kontrastach leczenia.) Jednak istnieją subtelne problemy między, summary.lm()
a summary.aov()
zwłaszcza związane z dopasowaniem sekwencyjnym.