Czytałem o obliczaniu wartości w modelach mieszanych i po przeczytaniu FAQ R-sig, innych postów na tym forum (zamieściłem kilka, ale nie mam wystarczającej reputacji) i kilku innych odniesień, rozumiem, że używając Wartości w kontekście modeli mieszanych są skomplikowane.R 2
Ostatnio jednak natknąłem się na te dwa artykuły poniżej. Chociaż te metody wyglądają obiecująco (dla mnie), nie jestem statystykiem i jako taki zastanawiałem się, czy ktokolwiek inny miałby jakiś wgląd w proponowane metody i ich porównanie z innymi zaproponowanymi metodami.
Nakagawa, Shinichi i Holger Schielzeth. „Ogólna i prosta metoda uzyskiwania R2 z uogólnionych liniowych modeli efektów mieszanych.” Methods in Ecology and Evolution 4.2 (2013): 133-142.
Johnson, Paul CD. „Rozszerzenie R2GLMM firmy Nakagawa i Schielzeth na losowe modele stoków”. Methods in Ecology and Evolution (2014).
Metoda is może być również zaimplementowana przy użyciu funkcji r.squaredGLMM w pakiecie MuMIn, która daje następujący opis metody.
W przypadku modeli z efektami mieszanymi można podzielić na dwa typy. Marginalna reprezentuje wariancję wyjaśnioną przez ustalone czynniki i jest zdefiniowana jako: Warunkowe jest interpretowane jako wariancja wyjaśniona zarówno przez stałe, jak i losowe czynniki (tj. cały model) i jest obliczana zgodnie z równaniem: gdzie to wariancja składników stałego efektu, a to suma wszystkich składników wariancji (grupa, indywidualna itp.),R 2
jest wariancją wynikającą z dyspersji addytywnej, a jest wariancją specyficzną dla rozkładu.
W mojej analizie patrzę na dane podłużne i interesuje mnie przede wszystkim wariancja wyjaśniona stałymi efektami w modelu
library(MuMIn)
library(lme4)
fm1 <- lmer(zglobcog ~ age_c + gender_R2 + ibphdtdep + iyeareducc + apoegeno + age_c*apoegeno + (age_c | pathid), data = dat, REML = FALSE, control = lmerControl(optimizer = "Nelder_Mead"))
# Jarret Byrnes (correlation between the fitted and the observed values)
r2.corr.mer <- function(m) {
lmfit <- lm(model.response(model.frame(m)) ~ fitted(m))
summary(lmfit)$r.squared
}
r2.corr.mer(fm1)
[1] 0.8857005
# Xu 2003
1-var(residuals(fm1))/(var(model.response(model.frame(fm1))))
[1] 0.8783479
# Nakagawa & Schielzeth's (2013)
r.squaredGLMM(fm1)
R2m R2c
0.1778225 0.8099395