Jak usunąć parametr niższego rzędu w modelu, gdy pozostaną parametry wyższego rzędu?
Problem: Nie mogę usunąć parametru niższego rzędu (np. Głównego parametru efektów) w modelu, o ile parametry wyższego rzędu (tj. Interakcje) pozostają w modelu. Nawet w takim przypadku model jest refaktoryzowany, a nowy model nie jest zagnieżdżony w wyższym modelu.
Zobacz poniższy przykład (jak pochodzę z ANOVA, których używam)contr.sum
):
d <- data.frame(A = rep(c("a1", "a2"), each = 50), B = c("b1", "b2"), value = rnorm(100))
options(contrasts=c('contr.sum','contr.poly'))
m1 <- lm(value ~ A * B, data = d)
m1
## Call:
## lm(formula = value ~ A * B, data = d)
##
## Coefficients:
## (Intercept) A1 B1 A1:B1
## -0.005645 -0.160379 -0.163848 0.035523
m2 <- update(m1, .~. - A)
m2
## Call:
## lm(formula = value ~ B + A:B, data = d)
## Coefficients:
## (Intercept) B1 Bb1:A1 Bb2:A1
## -0.005645 -0.163848 -0.124855 -0.195902
Jak widać, chociaż usuwam jeden parametr (A
), nowy model (m2
) jest refaktoryzowany i jestnie zagnieżdżony w większym modelu (m1
). Jeśli przekształcę moje czynniki na rękę w liczbowe zmienne kontrastowe, mogę uzyskać pożądane wyniki, ale jak uzyskać je przy użyciu możliwości czynnika R?
Pytanie: Jak mogę usunąć czynnik niższego rzędu w R i uzyskać model, który naprawdę tęskni za tym parametrem i nie jest refaktoryzowany (tzn. Liczba parametrów w mniejszym modelu musi być niższa)?
Ale dlaczego? Chcę uzyskać „Typ 3” jak wartości p dla almer
model za pomocąKRmodcomp
funkcja zpbkrtest
pakiet. Więc ten przykład jest naprawdę tylko przykładem.
Dlaczego nie CrossValidated? Mam wrażenie, że jest to bardziej kwestia R niż pytanie statystyczne (tj. Wiem, że nigdy nie należy dopasowywać modelu do interakcji, ale bez jednego z głównych efektów, ale nadal chcę to zrobić).