Witaj Mam dwa problemy, które brzmią jak naturalni kandydaci na modele wielopoziomowe / mieszane, których nigdy nie używałem. Prostszy i taki, który mam nadzieję wypróbować jako wprowadzenie, wygląda następująco: Dane wyglądają jak wiele wierszy formularza
x y innergroup outergroup
gdzie x jest zmienną liczbową, na której chcę regresować y (inna zmienna liczbowa), każde y należy do grupy wewnętrznej, a każda grupa wewnętrzna jest zagnieżdżona w grupie zewnętrznej (tj. wszystkie y w danej grupie wewnętrznej należą do tej samej grupy zewnętrznej) . Niestety, grupa wewnątrzgrupowa ma wiele poziomów (wiele tysięcy), a każdy poziom ma stosunkowo niewiele obserwacji y, więc pomyślałem, że ten rodzaj modelu może być odpowiedni. Moje pytania są
Jak napisać ten rodzaj wielopoziomowej formuły?
Kiedy lmer pasuje do modelu, jak można zacząć przewidywać z niego? Dopasowałem kilka prostszych przykładów zabawek, ale nie znalazłem funkcji predykcji (). Większość ludzi wydaje się bardziej zainteresowana wnioskowaniem niż przewidywaniem przy użyciu tego rodzaju techniki. Mam kilka milionów wierszy, więc obliczenia mogą stanowić problem, ale zawsze mogę je odpowiednio wyciąć.
Przez jakiś czas nie będę musiał robić drugiego, ale równie dobrze mogę zacząć o tym myśleć i bawić się nim. Mam podobne dane jak poprzednio, ale bez x, a y jest teraz zmienną dwumianową formy . y również wykazuje dużą naddyspersję, nawet w grupach wewnętrznych. Większość nie więcej niż 2 lub 3 (lub mniej), a więc w celu uzyskania oszacowania wskaźników powodzenia każdej I zostały za pomocą beta-dwumianowego skurczu estymatora , gdzie isą szacowane przez MLE dla każdej grupy osobno. Jest to dość adekwatne, ale rzadkość danych wciąż mnie nęka, dlatego chciałbym wykorzystać wszystkie dostępne dane. Z jednej perspektywy problem ten jest łatwiejszy, ponieważ nie ma współzmiennej, ale z drugiej strony dwumianowa natura utrudnia. Czy ktoś ma jakieś wytyczne na wysokim (lub niskim!) Poziomie?
Odpowiedzi:
Wyrażanie zależności czynników za pomocą wzorów R wynika z notacji Wilkinsona, gdzie „*” oznacza skrzyżowanie i „/” zagnieżdżenie, ale istnieją pewne szczególne cechy sposobu, w jaki formuła dla modeli z efektami mieszanymi lub bardziej ogólnie efektów losowych, jest obsługiwana. Na przykład dwa skrzyżowane efekty losowe mogą być reprezentowane jako
(1|x1)+(1|x2)
. Zinterpretowałem twój opis jako przypadek zagnieżdżenia, podobnie jak klasy są zagnieżdżone w szkołach (zagnieżdżone w stanach itp.), Więc podstawowa formułalmer
wyglądałaby tak (chyba że zaznaczono inaczej,gaussian
domyślnie używana jest rodzina):gdzie A i B odpowiadają odpowiednio twoim czynnikom wewnętrznym i zewnętrznym. B jest zagnieżdżone w obrębie A i oba są traktowane jako czynniki losowe. W starszym pakiecie nlme odpowiada to coś podobnego
lme(y ~ x, random=~ 1 | A/B)
. Jeśli A miałoby być uważane za stały czynnik, wzór powinien brzmiećy ~ x + A + (1|A:B)
.Warto jednak dokładniej sprawdzić specyfikacje D. Batesa dla pakietu lme4 , np. W jego nadchodzącym podręczniku, lme4: Modelowanie mieszane z R lub wiele materiałów informacyjnych dostępnych na tej samej stronie. W szczególności, nie jest przykładem dla takich stosunków w lęgowych Montaż Linear Mixed efekty modele pakiet lme4 w badania . Samouczek Johna Maindonalda zawiera także ładny przegląd: Anatomia analizy modelu mieszanego z pakietem R. lme4 . Wreszcie, sekcja 3 winiety R na temat implikacji Lme4 zawiera przykład analizy zagnieżdżonej struktury.
W lme4 nie ma żadnej(ta funkcja już istnieje, patrz komentarz poniżej), i musisz obliczyć sobie przewidywane indywidualne wartości, używając oszacowanych stałych (patrzpredict()
funkcji?fixef
) i losowych (patrz?ranef
) efektów, ale zobacz także ten wątek dotyczący braku funkcji przewidywania w lme4 . Możesz również wygenerować próbkę z rozkładu tylnego za pomocąmcmcsamp()
funkcji. Czasami może się jednak kolidować. Zobacz aktualną listę mailingową sig-me .źródło
lme4
teraz zawiera funkcję przewidywania inside-r.org/packages/cran/lme4/docs/predict.mermodEz pakiet zawiera funkcję ezPredict (), która uzyskuje przewidywań lmer modeli gdzie prognoza jest oparta tylko na stałych efektów. To naprawdę tylko opakowanie wokół podejścia opisanego na wiki glmm .
źródło
Chciałbym użyć funkcji „logit.mixed” w Zelig , która jest opakowaniem dla lime4 i sprawia, że bardzo wygodnie jest przewidywać i symulować.
źródło
Wersja rozwojowa lme4 ma wbudowaną funkcję przewidywania (przewidywana.merMod). Można go znaleźć na https://github.com/lme4/lme4/ .
Kod do zainstalowania „Prawie aktualnych plików binarnych programowania z repozytorium lme4 r-forge” można znaleźć na powyższej stronie i jest on:
źródło
predict
dostępna od kilku lat.Stephen Raudenbush ma rozdział książkowy w Podręczniku analizy wielopoziomowej na temat „ Wiele małych grup ”. Jeśli interesują cię tylko efekty x na y i nie interesujesz się efektami wyższego poziomu, jego sugestią jest po prostu oszacowanie modelu efektów stałych (tj. Zmiennej zastępczej dla wszystkich możliwych grup wyższych poziomów).
Nie wiem, jak ma to zastosowanie do przewidywania, ale wyobrażam sobie, że niektóre z jego tekstów odnoszą się do tego, co próbujesz osiągnąć.
źródło