如何使用lmer估计具有随机效应的模型的方差成分并将其与lme结果进行比较


14

我进行了一项实验,从两个不同的来源人群中抚养了不同的家庭。每个家庭被分配两种治疗方法之一。实验结束后,我测量了每个人的几个特征。为了测试治疗或来源的效果以及它们之间的相互作用,我使用了以家庭为随机因素的线性混合效应模型,即

lme(fixed=Trait~Treatment*Source,random=~1|Family,method="ML")

到目前为止,到目前为止,我现在必须计算相对方差分量,即通过处理或源以及交互作用来解释的变化百分比。

没有随机效应,我可以轻松地使用平方和(SS)来计算每个因素所解释的方差。但是对于混合模型(带有ML估计),没有SS,因此我认为我也可以使用Treatment和Source作为随机效应来估计方差,即

lme(fixed=Trait~1,random=~(Treatment*Source)|Family, method="REML")

但是,在某些情况下,lme无法收敛,因此我使用了lme4软件包中的lmer:

lmer(Trait~1+(Treatment*Source|Family),data=DATA)

在哪里使用摘要功能从模型中提取方差:

model<-lmer(Trait~1+(Treatment*Source|Family),data=regrexpdat)
results<-VarCorr(model)
variances<-results[,3]

我得到与VarCorr函数相同的值。然后,我使用这些值以总和作为总变化量来计算实际的变化百分比。

我在努力挣扎的是对初始lme模型(以治疗和来源为固定效应)和随机模型以估计方差成分(以治疗和来源为随机效应)的结果的解释。我发现在大多数情况下,由每个因素解释的方差百分比与固定效应的重要性不符。

例如,对于性状HD,最初的lme暗示了相互作用的趋势以及对治疗的重要性。使用后退程序,我发现“治疗”有接近明显的趋势。但是,在估计方差成分时,我发现Source具有最高的方差,占总方差的26.7%。

LME:

anova(lme(fixed=HD~as.factor(Treatment)*as.factor(Source),random=~1|as.factor(Family),method="ML",data=test),type="m")
                                      numDF denDF  F-value p-value
(Intercept)                                1   426 0.044523  0.8330
as.factor(Treatment)                       1   426 5.935189  0.0153
as.factor(Source)                          1    11 0.042662  0.8401
as.factor(Treatment):as.factor(Source)     1   426 3.754112  0.0533

和lmer:

summary(lmer(HD~1+(as.factor(Treatment)*as.factor(Source)|Family),data=regrexpdat))
Linear mixed model fit by REML 
Formula: HD ~ 1 + (as.factor(Treatment) * as.factor(Source) | Family) 
   Data: regrexpdat 
    AIC    BIC logLik deviance REMLdev
 -103.5 -54.43  63.75   -132.5  -127.5
Random effects:
 Groups   Name                                      Variance  Std.Dev. Corr                 
 Family   (Intercept)                               0.0113276 0.106431                      
          as.factor(Treatment)                      0.0063710 0.079819  0.405               
          as.factor(Source)                         0.0235294 0.153393 -0.134 -0.157        
          as.factor(Treatment)L:as.factor(Source)   0.0076353 0.087380 -0.578 -0.589 -0.585 
 Residual                                           0.0394610 0.198648                      
Number of obs: 441, groups: Family, 13

Fixed effects:
            Estimate Std. Error t value
(Intercept) -0.02740    0.03237  -0.846

因此,我的问题是,我在做什么正确吗?还是我应该使用另一种方法来估计每个因素(即治疗,来源及其相互作用)所解释的方差量。例如,效果大小是否是更合适的选择?


处理因子的自由度是源因子的40倍(伪复制?)。无疑,这会降低治疗的P值。

Answers:


1

确定每个因素对模型的相对贡献的一种常用方法是删除该因素,并将相对可能性与卡方检验等进行比较:

pchisq(logLik(model1) - logLik(model2), 1)

由于函数之间的似然计算方式可能略有不同,因此我通常只会在相同方法之间进行比较。


1
不是1-pchisq(logLik(model1) - logLik(model2), 1)吗?
user81411
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.