Je viens de tomber sur cet article , qui décrit comment calculer la répétabilité (aka fiabilité, aka corrélation intraclasse) d'une mesure via la modélisation d'effets mixtes. Le code R serait:
#fit the model
fit = lmer(dv~(1|unit),data=my_data)
#obtain the variance estimates
vc = VarCorr(fit)
residual_var = attr(vc,'sc')^2
intercept_var = attr(vc$id,'stddev')[1]^2
#compute the unadjusted repeatability
R = intercept_var/(intercept_var+residual_var)
#compute n0, the repeatability adjustment
n = as.data.frame(table(my_data$unit))
k = nrow(n)
N = sum(n$Freq)
n0 = (N-(sum(n$Freq^2)/N))/(k-1)
#compute the adjusted repeatability
Rn = R/(R+(1-R)/n0)
Je pense que cette approche peut également être utilisée pour calculer la fiabilité des effets (c'est-à-dire l'effet de contraste de la somme d'une variable à 2 niveaux), comme dans:
#make sure the effect variable has sum contrasts
contrasts(my_data$iv) = contr.sum
#fit the model
fit = lmer(dv~(iv|unit)+iv,data=my_data)
#obtain the variance estimates
vc = VarCorr(fit)
residual_var = attr(vc,'sc')^2
effect_var = attr(vc$id,'stddev')[2]^2
#compute the unadjusted repeatability
R = effect_var/(effect_var+residual_var)
#compute n0, the repeatability adjustment
n = as.data.frame(table(my_data$unit,my_data$iv))
k = nrow(n)
N = sum(n$Freq)
n0 = (N-(sum(n$Freq^2)/N))/(k-1)
#compute the adjusted repeatability
Rn = R/(R+(1-R)/n0)
Trois questions:
- Les calculs ci-dessus pour obtenir l'estimation ponctuelle de la répétabilité d'un effet ont-ils un sens?
- Lorsque j'ai plusieurs variables dont je veux estimer la répétabilité, les ajouter toutes au même ajustement (par exemple
lmer(dv~(iv1+iv2|unit)+iv1+iv2
) semble donner des estimations de répétabilité plus élevées que de créer un modèle distinct pour chaque effet. Cela a du sens pour moi sur le plan du calcul, car l'inclusion d'effets multiples aura tendance à diminuer la variance résiduelle, mais je ne suis pas certain que les estimations de répétabilité qui en résultent soient valides. Sont-ils? - L'article cité ci-dessus suggère que le profil de vraisemblance pourrait m'aider à obtenir des intervalles de confiance pour les estimations de répétabilité, mais pour autant que je sache,
confint(profile(fit))
ne fournit que des intervalles pour les variances d'interception et d'effet, alors que j'aurais également besoin de l'intervalle pour la variance résiduelle pour calculer l'intervalle pour la répétabilité, non?