Zastanawiam się, jaki jest dokładny związek między częściowym a współczynnikami w modelu liniowym i czy powinienem użyć tylko jednego, czy obu, aby zilustrować znaczenie i wpływ czynników.
O ile mi wiadomo, wraz z summary
otrzymaniem oszacowań współczynników i anova
sumą kwadratów dla każdego czynnika - proporcja sumy kwadratów jednego czynnika podzielona przez sumę kwadratów plus reszty jest częściowa (znajduje się następujący kod ).R
library(car)
mod<-lm(education~income+young+urban,data=Anscombe)
summary(mod)
Call:
lm(formula = education ~ income + young + urban, data = Anscombe)
Residuals:
Min 1Q Median 3Q Max
-60.240 -15.738 -1.156 15.883 51.380
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.868e+02 6.492e+01 -4.418 5.82e-05 ***
income 8.065e-02 9.299e-03 8.674 2.56e-11 ***
young 8.173e-01 1.598e-01 5.115 5.69e-06 ***
urban -1.058e-01 3.428e-02 -3.086 0.00339 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 26.69 on 47 degrees of freedom
Multiple R-squared: 0.6896, Adjusted R-squared: 0.6698
F-statistic: 34.81 on 3 and 47 DF, p-value: 5.337e-12
anova(mod)
Analysis of Variance Table
Response: education
Df Sum Sq Mean Sq F value Pr(>F)
income 1 48087 48087 67.4869 1.219e-10 ***
young 1 19537 19537 27.4192 3.767e-06 ***
urban 1 6787 6787 9.5255 0.003393 **
Residuals 47 33489 713
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Wielkość współczynników dla „młodych” (0,8) i „miejskich” (-0,1, około 1/8 poprzedniego, ignorując „-”) nie odpowiada wyjaśnionej wariancji („młodzi” ~ 19500 i „miejscy” ~ 6790, tj. Około 1/3).
Pomyślałem więc, że będę musiał skalować moje dane, ponieważ założyłem, że jeśli zakres czynnika jest znacznie szerszy niż zakres innego czynnika, jego współczynniki trudno byłoby porównać:
Anscombe.sc<-data.frame(scale(Anscombe))
mod<-lm(education~income+young+urban,data=Anscombe.sc)
summary(mod)
Call:
lm(formula = education ~ income + young + urban, data = Anscombe.sc)
Residuals:
Min 1Q Median 3Q Max
-1.29675 -0.33879 -0.02489 0.34191 1.10602
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.084e-16 8.046e-02 0.000 1.00000
income 9.723e-01 1.121e-01 8.674 2.56e-11 ***
young 4.216e-01 8.242e-02 5.115 5.69e-06 ***
urban -3.447e-01 1.117e-01 -3.086 0.00339 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.5746 on 47 degrees of freedom
Multiple R-squared: 0.6896, Adjusted R-squared: 0.6698
F-statistic: 34.81 on 3 and 47 DF, p-value: 5.337e-12
anova(mod)
Analysis of Variance Table
Response: education
Df Sum Sq Mean Sq F value Pr(>F)
income 1 22.2830 22.2830 67.4869 1.219e-10 ***
young 1 9.0533 9.0533 27.4192 3.767e-06 ***
urban 1 3.1451 3.1451 9.5255 0.003393 **
Residuals 47 15.5186 0.3302
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Ale to tak naprawdę nie robi różnicy, częściowe i wielkość współczynników (są to teraz znormalizowane współczynniki ) wciąż nie pasują:
22.3/(22.3+9.1+3.1+15.5)
# income: partial R2 0.446, Coeff 0.97
9.1/(22.3+9.1+3.1+15.5)
# young: partial R2 0.182, Coeff 0.42
3.1/(22.3+9.1+3.1+15.5)
# urban: partial R2 0.062, Coeff -0.34
Czy można więc powiedzieć, że „młody” wyjaśnia trzy razy większą wariancję niż „miejski”, ponieważ częściowe dla „młodego” jest trzy razy większe niż „miejskie”? Dlaczego współczynnik „młody” nie jest trzy razy większy niż współczynnik „miejski” (ignorując znak)?
Przypuszczam, że odpowiedź na to pytanie powie mi również odpowiedź na moje pierwsze pytanie: Czy powinienem użyć częściowego lub współczynników, aby zilustrować względną ważność czynników? (Na razie ignorowanie kierunku wpływu - znak -).
Edytować:
Częściowe eta-kwadrat wydaje się być inną nazwą tego, co nazwałem częściowym . etasq {heplots} to przydatna funkcja, która daje podobne wyniki:
etasq(mod)
Partial eta^2
income 0.6154918
young 0.3576083
urban 0.1685162
Residuals NA
Odpowiedzi:
W krótkim czasie , nie używać zarówno częściowe i współczynniki znormalizowane w tej samej analizie, ponieważ nie są niezależne. Twierdziłbym, że porównywanie relacji przy użyciu standardowych współczynników jest zwykle bardziej intuicyjne, ponieważ łatwo odnoszą się one do definicji modelu (tj. Y = β X ). Z kolei częściowe jest zasadniczo proporcją unikalnej wspólnej wariancji między predyktorem a zmienną zależną (dv) (więc dla pierwszego predyktora jest to kwadrat częściowej korelacji ). Ponadto, dla dopasowania z bardzo małym błędem wszystkie częściowe współczynnikiR2) Y= βX r x 1 rok . x 2 . . . x n R 2R2) rx1y. x2). . . xn R2) mają tendencję do 1, więc nie są przydatne w określaniu względnej ważności predyktorów.
Definicje wielkości efektu
częściowe - proporcja resztkowej zmienności wyjaśniona przez dodanie predyktora do modelu ograniczonego (pełny model bez predyktora). Taki sam jak:R2)
R 2ΔR2 - Różnica w między modelem ograniczonym a pełnym. Równy:R2)
Wszystkie są ściśle powiązane, ale różnią się sposobem obsługi struktury korelacji między zmiennymi. Aby lepiej zrozumieć tę różnicę, załóżmy, że mamy 3 znormalizowane (średnia = 0, sd = 1) zmienne których korelacje to . Przyjmiemy jako zmienną zależną oraz i jako predyktory. Wyrażymy wszystkie współczynniki wielkości efektu w kategoriach korelacji, abyśmy mogli wyraźnie zobaczyć, jak każda z nich obsługuje strukturę korelacji. Najpierw współczynniki w modelu regresji oszacowane za pomocą OLS. Wzór na współczynniki: r x y , r x z , r y z x y z x = β y Y + β z Z β y = r x y - r y z r z xx , y, z rx y, rx z, ryz x y z x = βyY+ βzZ R2częściowe
jest równa:Δ R2)----√
Różnica między nimi to mianownik, który dla i zawiera tylko korelację między predyktorami. Należy pamiętać, że w większości kontekstów (dla słabo skorelowanych predyktorów) rozmiar tych dwóch będzie bardzo podobny, więc decyzja nie wpłynie zbytnio na twoją interpretację. Ponadto, jeśli predyktory, które mają podobną siłę korelacji ze zmienną zależną i nie są zbyt silnie skorelowane, współczynniki będą podobne do stosunków .√β √Δ R2)----√ βetdR2)częściowy------√ βs t d
Powrót do kodu.R2)
anova
Funkcja w zastosowaniach R typu I Suma kwadratów domyślnie podczas częściowego , jak opisano powyżej, powinien być obliczany na podstawie sumy typu III kwadratów (które zdaniem jest równoznaczne z sumą pól typu II jeśli nie interakcja obecny w twoim modelu). Różnica polega na tym, jak wyjaśniony SS dzieli się między predyktory. W typie I SS pierwszy predyktor ma przypisane wszystkie wyjaśnione SS, drugi tylko „pozostały SS” z tego, a trzeci tylko pozostały SS z tego, dlatego kolejność wprowadzania zmiennych w wywołaniu zmienia ich odpowiednie SS . Najprawdopodobniej nie tego chcesz interpretować współczynniki modelu.lm
Jeśli użyjesz sumy kwadratów typu II w swoimfa t fa( 1 , n ) = t2)( n ) R2) to zmienna SS podzielona przez zmienną SS plus resztkowe SS. Spowoduje to uzyskanie takich samych wartości, jakie wymieniono w p R2)
Anova
wywołaniu zcar
pakietu w R, wówczas wartości dla twojej anova będą równe wartości podniesionej do twoich współczynników (ponieważ ). Wskazuje to, że rzeczywiście te ilości są ściśle powiązane i nie powinny być oceniane niezależnie. Aby wywołać sumy kwadratów typu II w swojej przykład wymienić z . Jeśli uwzględnisz termin interakcji, będziesz musiał go zastąpić sumą kwadratów typu III, aby testy współczynnika i częściowe R były takie same (pamiętaj, aby przed wywołaniem zmienić kontrasty na sumę za pomocą ). Częścioweanova(mod)
Anova(mod, type = 2)
options(contrasts = c("contr.sum","contr.poly"))
Anova(mod,type=3)
etasq()
danych wyjściowych. Teraz testy i wartości dla wyników anova (częściowe ) i współczynników regresji są takie same.Kredyt
Wzór na korelację częściową podano w ttnphns. Odpowiedz tutaj: Regresja wielokrotna czy współczynnik korelacji częściowej? I relacje między nimi
źródło
Jak już wyjaśniono w kilku innych odpowiedziach i komentarzach, pytanie to było oparte na co najmniej trzech nieporozumieniach:
Funkcjat
anova()
wykorzystuje sekwencyjną (zwaną także typem I) sumę kwadratów (SS), która zależy od kolejności predyktorów. Dekompozycja odpowiadająca współczynnikom regresji i testom pod kątem ich znaczenia, to SS typu III, które można uzyskać za pomocą funkcji z pakietu.Anova()
car
Nawet jeśli użyjesz rozkładu SS typu III, to częściowe dla każdego predyktora nie będą równe kwadratowym znormalizowanym współczynnikom . Stosunki tych wartości dla dwóch różnych predyktorów również będą różne. Obie wartości są miarami wielkości efektu (lub ważności), ale są różnymi , nie równoważnymi miarami. Mogą jakościowo zgodzić się przez większość czasu, ale nie muszą.R2) βs t d
To, co nazywasz częściowym R do kwadratu, nie jest częściowym R do kwadratu. Częściowe jest zdefiniowane jako . W przeciwieństwie do tego, można nazwać „eta kwadrat” (zapożyczenie terminu z ANOVA) lub kwadratową korelację dwuczęściową, a być może dwuczęściową (w obu formułach jest rozumiany w sposób typu III). Ta terminologia nie jest bardzo standardowa. To kolejna możliwa miara ważności.R2) SSefekt/ ( SSefekt+ SSbłąd) SSefekt/ SScałkowity R2) SSefekt
Po wyjaśnieniu tych nieporozumień pozostaje pytanie, jakie są najbardziej odpowiednie miary wielkości lub znaczenia efektu predyktora.
W wersji R znajduje się pakiet,
relaimpo
który zapewnia kilka miar względnego znaczenia.Korzystanie z tego samego
Anscombe
zestawu danych, co w pytaniu, daje następujące dane:Niektóre z tych wskaźników zostały już omówione:
betasq
to kwadratowe standardowe współczynniki, takie same wartości jak uzyskanelm()
.first
anova()
last
anova()
Istnieją cztery dalsze metryki w
relaimpo
- a jedna (piąta) jest dostępna, jeśli pakietrelaimpo
jest instalowany ręcznie: wersja CRAN wyklucza tę metrykę z powodu potencjalnego konfliktu z jej autorem, który, jakkolwiek szalony, ma patent amerykański na jego metodę . Korzystam z R online i nie mam do niego dostępu, więc jeśli ktokolwiek może ręcznie zainstalowaćrelaimpo
, dodaj tę dodatkową metrykę do moich danych wyjściowych powyżej, aby uzyskać kompletność.Dwie metryki
pratt
mogą być negatywne (złe) igenizi
dość niejasne.Dwa interesujące podejścia to
lmg
icar
.Drugi został wprowadzony w (Zuber i Strimmer, 2011) i ma wiele interesujących właściwości teoretycznych; to kwadratowe znormalizowane współczynniki po uprzedniej standaryzacji predyktorów, a następnie wybieleniu za pomocą transformacji ZCA / Mahalanobis (tj. wybieleniu przy minimalizacji błędu rekonstrukcji).
lmg
car
Bibliografia:
Odniesienia na temat względnego znaczenia na stronie internetowej Ulrike Grömping - jest autorką
relaimpo
.Grömping, U. (2006). Względne znaczenie dla regresji liniowej w R: Pakiet relaimpo . Journal of Statistics Software 17, wydanie 1.
Grömping, U. (2007). Estymatory względnego znaczenia w regresji liniowej na podstawie rozkładu wariancji . The American Statistician 61, 139-147.
Zuber, V. and Strimmer, K. (2010). Regresja wielowymiarowa i wybór zmiennych za pomocą wyników CAR . Zastosowania statystyczne w genetyce i biologii molekularnej 10.1 (2011): 1-27.
Grömping, U. (2015). Zmienne znaczenie w modelach regresji . Wiley Interdisciplinary Reviews: Statystyka obliczeniowa, 7 (2), 137-152. (za ścianą płatną)
źródło
Napisałeś:
Ważne jest, aby nie mylić tutaj dwóch rzeczy. Po pierwsze, jest kwestia specyfikacji modelu. Algorytm lm zakłada, że założenia OLS są spełnione. Oznacza to między innymi, że dla obiektywnych szacunków w modelu nie może brakować zmiennej znaczącej NO (z wyjątkiem sytuacji, gdy jest ona nieskorelowana ze wszystkimi innymi regresorami, rzadko).
Dlatego przy znajdowaniu modelu dodatkowy wpływ na R² lub skorygowany R² jest oczywiście interesujący. Można by pomyśleć, że właściwe jest dodawanie regresorów, aż na przykład skorygowany R² przestanie się poprawiać. Istnieją ciekawe problemy z takimi procedurami regresji krokowej, ale to nie jest temat. W każdym razie zakładam, że był powód, dla którego wybrałeś swój model.
JEDNAK: ten dodatkowy wpływ na R² nie jest identyczny z rzeczywistym lub całkowitym wpływem regresora na zmienną niezależną, właśnie z powodu wieloklinowości: jeśli usuniesz regresor, część jego wpływu zostanie teraz przypisana innym regresorom, które są z tym skorelowane. Tak więc teraz prawdziwy wpływ nie jest poprawnie pokazany.
I jest jeszcze jeden problem: szacunki są ważne tylko dla pełnego modelu z wszystkimi innymi regresorami. Albo ten model nie jest jeszcze poprawny i dlatego dyskusja na temat wpływu jest bez znaczenia - lub jest poprawna, a wtedy nie można wyeliminować regresora i nadal z powodzeniem stosować metody OLS.
Więc: czy Twój model i korzystanie z OLS są odpowiednie? Jeśli tak, to szacunki odpowiadają na twoje pytanie - są twoim dosłownym najlepszym odgadnięciem wpływu zmiennych na regresand / zmienną zależną.
Jeśli nie, to Twoim pierwszym zadaniem jest znalezienie odpowiedniego modelu. W tym celu można zastosować częściowe R2. Wyszukiwanie specyfikacji modelu lub regresja krokowa przyniesie wiele interesujących podejść na tym forum. To, co działa, będzie zależeć od twoich danych.
źródło
relaimpo
jest zapewnienie alternatywy dla częściowego R ^ 2, właśnie z tego powodu, który podaje IMA!relaimpo
pakietu zdałem sobie sprawę, że istnieje cały świat różnych podejść do kwantyfikacji względnej ważności predyktorów w regresji liniowej. Obecnie przeglądam powiązane z nim dokumenty (do tej pory przedruk z 2010 roku wyglądał całkiem nieźle), a to jest bałagan! Nie zdawałem sobie sprawy, że ten problem jest tak skomplikowany, kiedy zaoferowałem nagrodę. Nie wydaje się, aby zostało to odpowiednio omówione w CV. Czy to jest niejasny temat? Jeśli tak, dlaczego?Jeśli chodzi o różnicę między współczynnikiem regresji liniowej a korelacją częściową, możesz to na przykład przeczytać.
Jednak zamieszanie wyrażone w pytaniu wydaje się mieć inny charakter. Wygląda na to, że chodzi o domyślny typ sum kwadratów używanych przez ten lub inny pakiet statystyczny (temat, wielokrotnie omawiany na naszej stronie). Regresja liniowa wykorzystuje tak zwane obliczanie SS ANOVA typu III. W wielu programach ANOVA jest to również opcja domyślna. W
R
funkcjianova
wydaje mi się (nie jestem użytkownikiem R, więc przypuszczam, że). Domyślnym rachunkiem jest SS typu I („sekwencyjne SS”, które zależy od kolejności, w jakiej predyktory są określone w modelu). Tak więc rozbieżność, którą zaobserwowałeś i która nie zniknęła, gdy ustandaryzowałeś („skalowałeś”) swoje zmienne, ponieważ określiłeś ANOVA z domyślną opcją Typu I.Poniżej znajdują się wyniki uzyskane w SPSS z Twoimi danymi:
W wydrukach tych można wybrać, że parametry (współczynniki regresji) są takie same, niezależnie od rodzaju obliczeń SS. Możesz również zauważyć, że częściowy Eta do kwadratu [który jest SSeffect / (SSeffect + SSerror) i = częściowy R do kwadratu w naszym przypadku, ponieważ predyktory są zmiennymi liczbowymi] jest w pełni taki sam w tabeli efektów i współczynników tylko, gdy typ SS to III. Gdy typ SS to I, tylko ostatni z 3 predyktorów, „urban”, zachowuje tę samą wartość (.169); dzieje się tak, ponieważ w sekwencji wprowadzania predyktorów jest to ostatni. W przypadku SS typu III kolejność wprowadzania nie ma znaczenia, jak w regresji. Nawiasem mówiąc, rozbieżność jest również przestrzegana w wartościach p. Chociaż nie widać tego w moich tabelach, ponieważ w kolumnie „Sig” są tylko 3 cyfry dziesiętne,
Możesz przeczytać więcej o różnych „typach SS” w ANOVA / modelu liniowym. Pod względem koncepcyjnym typ SS typu III lub „regresja” jest fundamentalny i pierwotny. Inne typy SS (I, II, IV, istnieje jeszcze więcej) to specjalne urządzenia do oszacowania efektów w sposób bardziej kompleksowy, mniej marnotrawny, niż pozwalają parametry regresji w sytuacji skorelowanych predyktorów.
Ogólnie rzecz biorąc, rozmiary efektów i ich wartości p są ważniejsze do zgłaszania niż parametry i ich wartości p, chyba że celem badania jest stworzenie modelu na przyszłość. Parametry pozwalają przewidzieć, ale „wpływ” lub „efekt” może być szerszym pojęciem niż „siła predykcji liniowej”. Aby zgłosić wpływ lub wagę, możliwe są inne współczynniki oprócz częściowego kwadratu Eta. Jednym z nich jest współczynnik pominięcia: ważność predyktora jest resztkową sumą kwadratów z predyktorem usuniętym z modelu, znormalizowanym, tak że wartości istotności dla wszystkich predyktorów wynoszą 1.
źródło