W odpowiedzi na pytanie o wybór modelu w obecności Współliniowość , Frank Harrell zaproponował :
Umieść wszystkie zmienne w modelu, ale nie testuj wpływu jednej zmiennej skorygowanej o skutki zmiennych konkurujących ... Testy fragmentów zmiennych konkurencyjnych są potężne, ponieważ zmienne współliniowe łączą siły w ogólnym teście asocjacji wielokrotnego stopnia swobody zamiast konkurując ze sobą, tak jak przy testowaniu zmiennych indywidualnie.
Co to są testy porcji ? Czy możesz podać przykład ich zastosowania r
?
Odpowiedzi:
@ mark999 dostarczył doskonałą odpowiedź. Oprócz wspólnego testowania warunków wielomianowych, możesz wspólnie testować („test fragmentu”) dowolny zestaw zmiennych. Załóżmy, że masz model z konkurującymi zmiennymi współliniowymi obwód tricep, obwód talii, obwód bioder, wszystkie pomiary wielkości ciała. Aby uzyskać ogólny test na wielkość ciała, możesz zrobić
Możesz uzyskać ten sam test, dopasowując model zawierający tylko wiek (jeśli nie ma żadnychR2)
NA
litertricep, waist, hip
) i wykonując „różnicę w teście ”. Te równoważne testy nie wykazują nawet skrajnej kolinearności między trzema zmiennymi.źródło
Komentarz Makro jest poprawny, podobnie jak Andy. Oto przykład.
Zamiast osobnego rozpatrywania terminów
x2
ix2^2
„test fragmentu” jest testem 2-df, który testuje hipotezę zerową, że współczynniki tych terminów są równe zeru (uważam, że jest to częściej nazywane „ogólnym liniowym testem F” ). Wartość p dla tego testu wynosi 0,0037 podane przezanova(ols1)
.Zauważ, że w
rms
pakiecie, musisz określićx2
warunki jakpol(x2, 2)
dlaanova.rms()
wiedzieć, że mają one być badane razem.anova.rms()
wykona podobne testy dla zmiennych predykcyjnych, które są reprezentowane jako ograniczone splajny sześcienne, używając, na przykładrcs(x2, 3)
, i dla zmiennych predykcyjnych jakościowych. Będzie także zawierać warunki interakcji w „fragmentach”.Jeśli chciałbyś wykonać test porcji dla ogólnych „konkurencyjnych” zmiennych predykcyjnych, jak wspomniano w cytacie, uważam, że musiałbyś to zrobić ręcznie, dopasowując oba modele osobno, a następnie używając
anova(model1, model2)
. [Edycja: to jest niepoprawne - patrz odpowiedź Franka Harrella.]źródło