Ho letto sul calcolo dei valori di in modelli misti e dopo aver letto le FAQ di R-sig, altri post su questo forum (ne collegherei alcuni ma non ho abbastanza reputazione) e molti altri riferimenti che capisco che usando valori di nel contesto di modelli misti sono complicati.R 2
Tuttavia, di recente mi sono imbattuto in questi due articoli di seguito. Mentre questi metodi sembrano promettenti (per me) non sono uno statistico, e come tale mi chiedevo se qualcun altro avrebbe avuto un'idea dei metodi che proponevano e di come si sarebbero confrontati con altri metodi che sono stati proposti.
Nakagawa, Shinichi e Holger Schielzeth. "Un metodo generale e semplice per ottenere R2 da modelli lineari generalizzati a effetti misti." Methods in Ecology and Evolution 4.2 (2013): 133-142.
Johnson, Paul CD. "Estensione di R2GLMM di Nakagawa & Schielzeth ai modelli a pendenza casuale." Methods in Ecology and Evolution (2014).
Il metodo is può anche essere implementato usando la funzione r.squaredGLMM nel pacchetto MuMIn che fornisce la seguente descrizione del metodo.
Per i modelli a effetti misti, può essere classificato in due tipi. Marginale rappresenta la varianza spiegata da fattori fissi ed è definita come: La viene interpretata come varianza spiegata da fattori sia fissi che casuali (cioè l'intero modello) e viene calcolata in base all'equazione: dove è la varianza dei componenti degli effetti fissi e è la somma di tutti i componenti di varianza (gruppo, individuo, ecc.),R 2 R2RGLMM(c)2
σ 2 f ∑(σ 2 l )σ 2 l σ 2 dè la varianza dovuta alla dispersione additiva e è la varianza specifica della distribuzione.
Nella mia analisi sto esaminando i dati longitudinali e sono principalmente interessato alla varianza spiegata dagli effetti fissi nel modello
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
