Muszę zmieścić kilka modeli efektów mieszanych (zwłaszcza modele wzdłużny) używając lme4
w R
ale chciałby naprawdę opanować modeli i kod, który jedzie z nimi.
Zanim jednak zanurzę się obiema stopami (i kupię książki), chcę mieć pewność, że uczę się odpowiedniej biblioteki. Przyzwyczaiłem lme4
się do tej pory, ponieważ po prostu uważałem, że jest to łatwiejsze nlme
, ale jeśli nlme
jest to lepsze dla moich celów, to czuję, że powinienem to wykorzystać.
Jestem pewien, że żadne z nich nie jest „lepsze” w uproszczony sposób, ale ceniłbym kilka opinii lub przemyśleń. Moje główne kryteria to:
- łatwy w użyciu (jestem psychologiem z wykształcenia i nie jestem szczególnie zaznajomiony ze statystykami lub kodowaniem, ale uczę się)
- dobre cechy dopasowania danych podłużnych (jeśli jest tutaj różnica, ale do tego głównie ich używam)
- dobre (łatwe do interpretacji) podsumowania graficzne, znowu nie jestem pewien, czy jest tu różnica, ale często tworzę wykresy dla ludzi nawet mniej technicznych niż ja, więc ładne wyraźne wykresy są zawsze dobre (bardzo lubię funkcję xyplot w sieci) () z tego powodu).
Jak zwykle mam nadzieję, że to pytanie nie jest zbyt niejasne i z góry dziękuję za wszelką mądrość!
źródło
lme4
możesz albo określić ukośną strukturę kowariancji (tj. Niezależne efekty losowe) lub nieustrukturyzowane macierze kowariancji (tj. Należy oszacować wszystkie korelacje) lub częściowo ukośne, częściowo nieustrukturyzowane macierze kowariancji dla efektów losowych. Dodałbym także trzecią różnicę w możliwościach, które mogą być bardziej odpowiednie w wielu sytuacjach danych wzdłużnych:nlme
pozwólmy, że określisz struktury wariancji-kowariancji dla reszt (tj. Autokorelacja przestrzenna lub czasowa lub heteroskedastyczność),lme4
nie.lme4
pozwala wybrać różne struktury VC. Byłoby lepiej, gdybyś dodał go we własnej odpowiedzi wraz z innymi pomysłami, które możesz mieć. Będę głosować. BTW, zdałem sobie również sprawę, żelmList()
jest również dostępnylme4
. Wydaje mi się, że pamiętam trochę dyskusji na ten temat na R-sig-ME.Jak wskazał chl, główna różnica polega na tym, jaki rodzaj struktury wariancji-kowariancji można określić dla efektów losowych. W
lme4
możesz określić:~ (1 | group)+ (0 + x1 | group) + (0 + x2 | group)
)~ (1 + x1 + x2 | group)
)y ~ (1 + x1 | group) + (0 + x2 | group)
gdzie oszacowałbyś korelację między losowym przechwytywaniem a losowym nachyleniem dlax1
, ale brak korelacji między losowym nachyleniem dlax2
i losowym przechodzeniem oraz między losowym nachyleniem dlax2
i losowym nachyleniem dlax1
).nlme
oferuje znacznie szerszą klasę struktur kowariancji dla efektów losowych. Z mojego doświadczenia wynika jednak, że elastycznośćlme4
jest wystarczająca dla większości aplikacji.Dodałbym również trzecią różnicę w możliwościach, która może być bardziej odpowiednia w wielu sytuacjach danych wzdłużnych:
nlme
pozwólmy określić struktury wariancji-kowariancji dla reszt (tj. Autokorelację przestrzenną lub czasową lub heteroskedastyczność lub zmienność zależna od zmiennej) wweights
argumencie (por.?varFunc
), podczas gdylme4
zezwala tylko na ustalone wcześniej wagi dla obserwacji.Czwarta różnica polega na tym, że
nlme
dopasowanie (częściowo) skrzyżowanych efektów losowych może być trudne , podczas gdy nie stanowi to problemulme4
.Prawdopodobnie wszystko będzie dobrze, jeśli będziesz się trzymać
lme4
.źródło
Inni bardzo dobrze podsumowali różnice. Mam wrażenie, że
lme4
bardziej nadaje się do klastrowanych zestawów danych, szczególnie gdy trzeba użyć skrzyżowanych efektów losowych. Jednak w przypadku powtarzanych pomiarów (w tym wielu projektów wzdłużnych)nlme
jest to narzędzie, ponieważnlme
obsługuje jedynie określanie struktury korelacji dla reszt. Robisz to za pomocą argumentucorrelations
lubcor
zcorStruct
obiektem. Pozwala także modelować heteroscedastyczność za pomocąvarFunc
obiektu.źródło
W R znajduje się wiele pakietów do dopasowania modeli efektów mieszanych poza
lme4
inlme
. Istnieje ładna wiki prowadzona przez grupę R specjalnego zainteresowania dla modeli mieszanych, która ma bardzo ładne FAQ i stronę porównującą różne pakiety .Co do moich opinii na temat faktycznego używania
lme4
inlme
: Odkryłem, żelme4
jest ogólnie łatwiejszy w użyciu ze względu na raczej bezpośrednie rozszerzenie podstawowej składni formuły R. (Jeśli potrzebujesz pracować z uogólnionymi modelami addytywnymi,gamm4
pakiet rozszerza tę składnię o kolejny krok, dzięki czemu masz przyjemną płynną krzywą uczenia się.) Jak już wspomniano inni,lme4
może obsługiwać modele uogólnione (inne funkcje łącza i rozkłady błędów), podczas gdynlme
skupienie się na funkcji połączenia Gaussa pozwala na wykonanie pewnych rzeczy, które są bardzo trudne w ogólnym przypadku (określenie struktury kowariancji i pewnych rzeczy zależnych od obliczeń stopni swobody, takich jak wartości p, których drugiej zachęcam do poruszania się z dala od!).źródło