如何获得混合模型(lme4)中分类因子的“总体” p值和效应大小?


28

我想获得一个独立类别变量(具有多个级别)的p值和效果大小-即“总体”,而不是分别针对每个级别,就像lme4R中的正常输出一样。就像人们在运行ANOVA时报告的事情。

我怎么能得到这个?


您到底想要什么统计数据?您可以使用该anova()函数来获得线性混合模型的方差分析表,就像线性模型一样。
smillig 2014年

我已经尝试过anova(),但是它给了我Df,Sum Sq,Mean Sq和F值。我看不到效果大小和p值。您对此有任何想法吗?
user3288202 2014年

1
通过效果大小,您是说等同于吗?关于p值,围绕它们的估计以及在中的实现,存在着长期而广泛的争论。有关更多详细信息,请参见此问题中的讨论。[R2lme4
smillig

感谢您的链接,Smilig。这是否意味着因为p值计算存在问题,所以总体上因子的影响大小也是一个问题吗?
user3288202

它们不是直接相关的问题。但是,请记住,线性混合模型的行为与没有随机效应的线性模型并不完全一样,因此可能适用于线性模型的度量不一定会推广到混合模型。
smillig

Answers:


48

您提到的两个概念(线性混合模型的p值和效果大小)都存在固有的问题。关于效果大小,引用了道格·贝茨(Doug Bates)的原始作者lme4

假设要定义一个度量,我认为可以为处理线性混合模型的惩罚残差平方和提出一个论点,就像我们考虑线性模型的残差平方和一样。或者,一个人可以只使用残差平方和,而不会从给定的一组术语中获得罚分或最小残差平方和,这对应于无限精度矩阵。我真的不知道 这取决于您要表征的内容。[R2

有关更多信息,您可以查看此线程此线程此消息。从根本上说,问题在于,尚无商定的方法来包含和分解模型中来自随机效应的方差。但是,有一些使用的标准。如果您查看由r-sig-mixed-models邮件列表建立Wiki,则列出了几种方法。

建议的方法之一是查看拟合值和观察值之间的相关性。可以按照Jarrett Byrnes在这些线程之一中的建议在R中实现:

r2.corr.mer <- function(m) {
  lmfit <-  lm(model.response(model.frame(m)) ~ fitted(m))
  summary(lmfit)$r.squared
}

例如,假设我们估计以下线性混合模型:

set.seed(1)
d <- data.frame(y = rnorm(250), x = rnorm(250), z = rnorm(250),
                g = sample(letters[1:4], 250, replace=T)       )
library(lme4)
summary(fm1 <- lmer(y ~ x + (z | g), data=d))
# Linear mixed model fit by REML ['lmerMod']
# Formula: y ~ x + (z | g)
#    Data: d
# REML criterion at convergence: 744.4
# 
# Scaled residuals: 
#     Min      1Q  Median      3Q     Max 
# -2.7808 -0.6123 -0.0244  0.6330  3.5374 
# 
# Random effects:
#  Groups   Name        Variance Std.Dev. Corr 
#  g        (Intercept) 0.006218 0.07885       
#           z           0.001318 0.03631  -1.00
#  Residual             1.121439 1.05898       
# Number of obs: 250, groups: g, 4
# 
# Fixed effects:
#             Estimate Std. Error t value
# (Intercept)  0.02180    0.07795   0.280
# x            0.04446    0.06980   0.637
# 
# Correlation of Fixed Effects:
#   (Intr)
# x -0.005

我们可以使用上面定义的函数来计算效果大小:

r2.corr.mer(fm1)
# [1] 0.0160841

Ω02

1-var(residuals(fm1))/(var(model.response(model.frame(fm1))))
# [1] 0.01173721  # Usually, it would be even closer to the value above

关于p值,这是一个更具争议性的问题(至少在R / lme4社区中)。请参阅此处此处此处的问题中的讨论。再次参考Wiki页面,有几种方法可以检验关于线性混合模型中的效应的假设。从“最坏到最好”列出(根据Wiki页面的作者,我相信其中包括Doug Bates以及在这里做出很多贡献的Ben Bolker):

  • Wald Z检验
  • 对于可以计算df的平衡嵌套LMM:Wald t检验
  • 似然比测试,可以通过建立模型以使参数可以被隔离/删除(通过anovadrop1),也可以通过计算似然曲线来进行
  • MCMC或参数自举置信区间

他们推荐了马尔可夫链蒙特卡洛采样方法,并且还列出了许多从伪贝叶斯方法和完全贝叶斯方法实现此方法的可能性,如下所示。

伪贝叶斯:

  • 事后抽样,通常(1)假设先验平坦,(2)从MLE开始,可能使用近似方差-协方差估计来选择候选分布
  • 通过mcmcsamp(如果适用于您的问题:即LMMS简单随机效应-不GLMMs参数或复杂的随机效应),
    通过pvals.fnclanguageR包装,用于包装mcmcsamp
  • 在AD Model Builder中,可能通过glmmADMB包(使用mcmc=TRUE选项)或R2admb包(在AD Model Builder中编写您自己的模型定义),或通过R之外
  • 通过包装中的sim函数arm(仅针对β(固定效应)系数模拟后验

完全贝叶斯方法:

  • 通过MCMCglmm包装
  • 使用glmmBUGS(WinBUGS包装器/ R界面)
  • 通过rjags/ r2jags/ R2WinBUGS/ BRugs包 使用JAGS / WinBUGS / OpenBUGS等

为了便于说明,下面是MCMCglmm使用该MCMCglmm包进行的估算,您将看到与上述模型相似的结果,并具有某种贝叶斯p值:

library(MCMCglmm)
summary(fm2 <- MCMCglmm(y ~ x, random=~us(z):g, data=d))
# Iterations = 3001:12991
# Thinning interval  = 10
#  Sample size  = 1000 
# 
#  DIC: 697.7438 
# 
#  G-structure:  ~us(z):g
# 
#       post.mean  l-95% CI u-95% CI eff.samp
# z:z.g 0.0004363 1.586e-17 0.001268    397.6
# 
#  R-structure:  ~units
# 
#       post.mean l-95% CI u-95% CI eff.samp
# units    0.9466   0.7926    1.123     1000
# 
#  Location effects: y ~ x 
# 
#             post.mean l-95% CI u-95% CI eff.samp pMCMC
# (Intercept)  -0.04936 -0.17176  0.07502     1000 0.424
# x            -0.07955 -0.19648  0.05811     1000 0.214

我希望这会有所帮助。我认为对于从线性混合模型入手并尝试在R中进行估算的人来说,最好的建议是阅读从中提取大多数此类信息的Wiki常见问题。从基础到高级,从建模到绘图,它都是各种混合效果主题的极佳资源。


非常感谢smilig。因此,我可能不会报告总体参数的效果大小。
user3288202 2014年

[R2

3
+6,清晰,全面,完整注释。
gung-恢复莫妮卡

1
此外,您可以查看afex软件包,尤其是混合功能。看到这里
beginneR

6

关于计算显着性(p)值,Luke(2016)在R中的线性混合效应模型中评估显着性表明,最佳方法是自由度的Kenward-Roger或Satterthwaite逼近(在R中提供,例如lmerTestafex)。

抽象

在实验数据分析中,混合效应模型越来越频繁地被使用。但是,在R中的lme4程序包中,用于评估这些模型中固定效应的重要性的标准(即获得p值)有些含糊。这样做有充分的理由,但是由于在许多情况下都需要使用这些模型的研究人员来报告p值,因此需要一些方法来评估模型输出的重要性。本文报告的模拟结果表明,使用似然比检验并将z分布应用于模型输出(t-as-z)的Wald t值的两种最常用的评估显着性的方法在某种程度上是保守的,特别是对于较小的样本量。其他评估重要性的方法,这些模拟的结果表明,当使用REML拟合模型并使用Kenward-Roger或Satterthwaite近似推导p值时,类型1的错误率最接近.05,因为即使对于较小的体积这些近似值都可以产生可接受的类型1的错误率。样品。

(强调)


4
+1感谢您分享此链接。我将简要地评论一下该lmerTest包中提供了Kenward-Roger逼近。
变形虫说恢复莫妮卡

5

我用的lmerTest包。这方便地包括了anova()我的MLM分析的输出中p值的估计,但由于此处其他帖子中给出的原因,没有给出效果大小。


1
就我而言,我更喜欢使用lsmeans进行成对比较,因为它可以为我提供包括p值在内的所有对比。如果使用lmerTest,则必须使用不同的基准运行六次模型才能查看所有对比。
user3288202 2014年
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.