Jak sprawdzić istotność statystyczną zmiennej jakościowej w regresji liniowej?

18

Jeśli w regresji liniowej mam zmienną kategorialną ... skąd mam poznać stastyczne znaczenie zmiennej kategorialnej?

Powiedzmy, że współczynnik ma 10 poziomów ... będzie 10 różnych wynikowych wartości t, pod parasolem jednej zmiennej czynnikowej ...X1X1

Wydaje mi się, że istotność statystyczna jest testowana dla każdego poziomu zmiennej czynnikowej? Nie?

@Macro: Zgodnie z twoją sugestią zbudowałem następujący przykład:

Wygląda na to, że x3 jest przydatne i musi zostać uwzględnione w modelu na podstawie poniższego porównania modeli.

Ale tak naprawdę to źle ...

n=100    
x1=1:n
x2=(1:n)^2 
x3=rnorm(n)
ee=rnorm(n)
y=3*x1-2*x2+x3+3+ee
lm1=lm(y~x1+x2+x3)
summary(lm1)

lm2=lm(y~x1+x2) 
summary(lm2)

anova(lm1, lm2)

> anova(lm1, lm2)
Analysis of Variance Table

Model 1: y ~ x1 + x2 + x3
Model 2: y ~ x1 + x2
  Res.Df     RSS Df Sum of Sq      F    Pr(>F)    
1     96  82.782                                  
2     97 146.773 -1    -63.99 74.207 1.401e-13 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 
Luna
źródło
1
@Luna, dlaczego to źle? Wygląda na to, że użyłeś x3do wygenerowania ys, więc powinien zostać uwzględniony w modelu, a wartość zgadza się z tym wnioskiem. p
Makro
@Seth - masz rację. Podałem tylko zabawkowy przykład użycia anova ogólnie w porównaniu modeli. Nie ma to więc związku z moim pierwotnym pytaniem.
Luna,
@Macro - masz rację. Teraz rozumiem o co chodzi. Dziękuję Ci!
Luna
Funkcja „Anova” z pakietu „samochód” R ( pdf ) pozwala przetestować ogólne znaczenie zmiennej kategorialnej. Działa z wieloma różnymi pakietami i typami regresji.
SK4ndal

Odpowiedzi:

28

Masz rację, że te wartości mówią tylko, czy średnia każdego poziomu jest znacząco różna od średniej poziomu odniesienia. Dlatego mówią tylko o różnicach między parami między poziomami. Testowanie, czy predyktor jakościowy jako całość jest znaczący, jest równoważne testowaniu, czy istnieje jakakolwiek niejednorodność w średnich poziomów predyktora. Gdy w modelu nie ma innych predyktorów, jest to klasyczny problem ANOVA .p

Gdy w modelu występują inne predyktory. masz dwie opcje sprawdzenia znaczenia predyktora jakościowego:

(1) Test ilorazu wiarygodności: Załóżmy, że masz wynik , predyktorami ilościowe x I 1 , . . . , X i P , a kategoryczne czynnikiem C i o k poziomach. Model bez predyktora jakościowego jestYiXi1,...,XipCik

Yi=β0+β1Xi1+...+βpXip+εi

W Rmożna dopasować ten model za pomocą lm()polecenia i wyodrębnić prawdopodobieństwo dziennika za pomocą logLikpolecenia. Nazwij to prawdopodobieństwo logarytmu . Następnie możesz dopasować model do predyktora jakościowego:L0

Yi=β0+β1Xi1+...+βpXip+j=1k1αjBj+εi

w którym jest zmienną, która jest obojętne 1 jeśli D i = j i 0 inaczej. Poziom k jest poziomem odniesienia, dlatego suma zawiera tylko terminy k - 1 . automatycznie wykona to kodowanie dla Ciebie, jeśli podasz zmienną kategorialną do . Możesz dopasować ten model podobnie i wyodrębnić prawdopodobieństwo dziennika jak wyżej. Nazwij to prawdopodobieństwo dziennika L 1 . Następnie, zgodnie z hipotezą zerową, że D i nie ma wpływu,Bj1Di=j0kk1Rlm()L1Di

λ=2(L1L0)

ma rozkład z k - 1 stopniami swobody. Możesz więc obliczyć wartość p za pomocą in, aby sprawdzić istotność.χ2k1p1-pchisq(2*(L1-L0),df=k-1)R

(2) Test :F Bez wchodzenia w szczegóły (które są podobne do LRT, z wyjątkiem tego, że używa się sum kwadratów zamiast prawdopodobieństw logarytmicznych), wyjaśnię, jak to zrobić R. Jeśli dopasujesz model „pełny” (tj. Model ze wszystkimi predyktorami, w tym predyktorem jakościowym) przy Rużyciu lm()polecenia (nazwij to g1) i model bez predyktora jakościowego (nazwij to g0), wówczas anova(g1,g0)przetestuje tę hipotezę dla równie dobrze.

Uwaga: oba podejścia, o których tu wspomniałem, wymagają normalności błędów. Również test współczynnika prawdopodobieństwa jest bardzo ogólnym narzędziem stosowanym do porównań zagnieżdżonych, dlatego tutaj o nim wspominam (i dlaczego pojawia się najpierw), chociaż test jest bardziej znany w porównywaniu modeli regresji liniowej.F

Makro
źródło
Wielkie dzięki Makro. Odkryłem, że moje dane są bardzo nietypowe. Wykres QQ wygląda następująco: krzywa znajduje się poniżej prostej linii 45 stopni. Krzywa jest styczna do tej linii prostej. A krzywa wygląda jak krzywa f (x) = - x ^ 2 (pod względem kształtu). Z jakim problemem mam do czynienia? Jak mam to naprawić? Dziękuję Ci!
Luna,
1
@Luna, Twoje dane są bardzo nietypowe, czy reszty są wysoce nienormalne? Nie sądzę też, aby cały zestaw punktów mógł leżeć poniżej linii 45 stopni.
Makro
och, właściwie masz rację ... Jeszcze raz rzuciłem okiem na fabułę QQ. To nie cały zestaw punktów znajduje się poniżej linii 45 stopni. Jest to krzywa o kształcie f (x) = - x ^ 2 jest „styczna” do linii 45 stopni. Przez „styczną” powinienem rozumieć, że te punkty wokół punktu „stycznej” są w rzeczywistości powyżej linii 45 stopni, choć bardzo nieznacznie. Dlatego wizualnie większość danych (~ 98%) znajduje się poniżej linii 45 stopni ... co mam zrobić, aby rozwiązać ten problem przed porównaniem modelu? Dziękuję Ci!
Luna,
2
p
1
@ Druss2k, tak, to prawda.
Makro,