我在对具有权重的数据执行线性混合模型 (LMM) 时遇到了困难(我的意思是不同组的权重不同)。此外,似乎在使用 glmulti() 时没有保留权重。下面是一个可重现的例子:
require(lme4)
require (glmulti)
data(cake)
cake$wght <- as.numeric(cake$replicate)
fm1 <- lmer(angle ~ recipe + temperature + (1|replicate), cake, REML= FALSE)
print(VarCorr(fm1),comp=c("Variance","Std.Dev."))
在这种情况下,随机效应的残余方差等于 22.36。
fm2 <- lmer(angle ~ recipe + temperature + (1|replicate), cake, weights=wght,REML= FALSE)
print(VarCorr(fm2),comp=c("Variance","Std.Dev."))
在这里,随机效应的残余方差现在是 155。对于线性模型,无论权重如何,残余方差都保持不变,而这里的情况似乎并非如此。
第二个问题发生在使用加权数据执行模型平均时。在以下示例中,glmulti() 似乎没有考虑指定的权重:
wlmer.glmulti <- function (formula, data, random = "", weights ,...) {
lmer(paste(deparse(formula), random), data = data, weights)}
#(watch out doesn't converge!!)
LMM <- glmulti(angle ~ recipe + temperature , data=cake, random="+ (1|replicate)", fitfunc = wlmer.glmulti, weights=cake$wght,report=T, level = 1,crit="aic",method="g")
summary(LMM@objects[[1]]) # is similar to fm1
任何建议都是最受欢迎的。谢谢