Mam nadzieję, że jest to pytanie, na które ktoś tutaj może mi odpowiedzieć na temat natury rozkładania sum kwadratów z dopasowanego modelu mieszanego lmer
(z pakietu lme4 R).
Po pierwsze powinienem powiedzieć, że jestem świadomy kontrowersji związanych z zastosowaniem tego podejścia, aw praktyce bardziej prawdopodobne byłoby użycie LRT z bootstrapem do porównywania modeli (jak sugeruje Faraway, 2006). Jednak zastanawiam się, jak odtworzyć wyniki, więc dla własnego zdrowia psychicznego pomyślałem, że zapytam tutaj.
Zasadniczo zajmuję się używaniem modeli z efektami mieszanymi dopasowanymi do lme4
pakietu. Wiem, że możesz użyćanova()
polecenia, aby uzyskać podsumowanie sekwencyjnego testowania efektów stałych w modelu. O ile wiem, to właśnie Faraway (2006) określa jako podejście „oczekiwanych średnich kwadratów”. Chcę wiedzieć, w jaki sposób obliczane są sumy kwadratów?
Wiem, że mogłem wziąć oszacowane wartości z konkretnego modelu (używając coef()
), założyć, że są one ustalone, a następnie wykonać testy z wykorzystaniem sum kwadratów reszt modelu z i bez czynników zainteresowania. To dobrze w przypadku modelu zawierającego pojedynczy czynnik wewnątrz podmiotu. Jednak przy wdrażaniu projektu podzielonego wykresu sumy wartości kwadratów, które otrzymuję, są równoważne wartości wytworzonej przez R przy użyciu aov()
odpowiedniego Error()
oznaczenia. Nie jest to jednak to samo, co suma kwadratów wyprodukowanych przezanova()
polecenie na obiekcie modelowym, mimo że współczynniki F są takie same.
Oczywiście ma to sens, ponieważ nie ma takiej potrzeby Error()
warstw w modelu mieszanym. Musi to jednak oznaczać, że sumy kwadratów są w jakiś sposób karane w modelu mieszanym, aby zapewnić odpowiednie współczynniki F. Jak to się osiąga? I w jaki sposób model w jakiś sposób koryguje sumę kwadratów między wykresami, ale nie koryguje sumy kwadratów wewnątrz wykresów. Najwyraźniej jest to coś, co jest konieczne w przypadku klasycznej analizy wariancji ANOVA, która została osiągnięta poprzez wyznaczenie różnych wartości błędów dla różnych efektów, więc w jaki sposób pozwala na to model mieszany?
Zasadniczo chcę być w stanie samodzielnie odtworzyć wyniki anova()
polecenia zastosowanego do obiektu modelu Lmer, aby zweryfikować wyniki i moje zrozumienie, ale obecnie mogę to osiągnąć dla normalnego projektu wewnątrz podmiotu, ale nie dla podziału projekt fabuły i nie mogę się dowiedzieć, dlaczego tak jest.
Jako przykład:
library(faraway)
library(lme4)
data(irrigation)
anova(lmer(yield ~ irrigation + variety + (1|field), data = irrigation))
Analysis of Variance Table
Df Sum Sq Mean Sq F value
irrigation 3 1.6605 0.5535 0.3882
variety 1 2.2500 2.2500 1.5782
summary(aov(yield ~ irrigation + variety + Error(field/irrigation), data = irrigation))
Error: field
Df Sum Sq Mean Sq F value Pr(>F)
irrigation 3 40.19 13.40 0.388 0.769
Residuals 4 138.03 34.51
Error: Within
Df Sum Sq Mean Sq F value Pr(>F)
variety 1 2.25 2.250 1.578 0.249
Residuals 7 9.98 1.426
Jak widać powyżej, wszystkie współczynniki F są zgodne. Sumy kwadratów dla różnorodności również się zgadzają. Jednak sumy kwadratów do nawadniania nie są zgodne, jednak wydaje się, że wydajność lmera jest skalowana. Co właściwie robi komenda anova ()?
mixed()
zafex
której oferuje to, czego chcesz (przezmethod = "PB"
). Ponieważ oczywiście wykonałeś już pewne testy z danymi zabawek, zdecydowanie pomocne byłoby pokazanie tych równoważności z danymi i kodem (stąd brak +1).