这是分析R中带有lme4的混合效果模型的可接受方法吗?


14

我有一个不平衡的重复测量数据集来进行分析,并且我已经读到大多数统计软件包使用ANOVA(即III型平方和)处理此问题的方式是错误的。因此,我想使用混合效应模型来分析这些数据。我已经在中阅读了很多有关混合模型的信息R,但是对于R混合效应模型我还是很陌生,对自己做的事情不是很自信。请注意,我还不能完全脱离“传统”方法,仍然需要和事后检验。p

我想知道以下方法是否有意义,或者我做错了什么。这是我的代码:

# load packages
library(lme4)
library(languageR)
library(LMERConvenienceFunctions)
library(coda)
library(pbkrtest)

# import data
my.data <- read.csv("data.csv")

# create separate data frames for each DV & remove NAs
region.data <- na.omit(data.frame(time=my.data$time, subject=my.data$subject, dv=my.data$dv1))

# output summary of data
data.summary <- summary(region.data)

# fit model
# "time" is a factor with three levels ("t1", "t2", "t3")
region.lmer <- lmer(dv ~ time + (1|subject), data=region.data)

# check model assumptions
mcp.fnc(region.lmer)

# remove outliers (over 2.5 standard deviations)
rm.outliers <- romr.fnc(region.lmer, region.data, trim=2.5)
region.data <- rm.outliers$data
region.lmer <- update(region.lmer)

# re-check model assumptions
mcp.fnc(region.lmer)

# compare model to null model
region.lmer.null <- lmer(dv ~ 1 + (1|subject), data=region.data)
region.krtest <- KRmodcomp(region.lmer, region.lmer.null)

# output lmer summary
region.lmer.summary <- summary(region.lmer)

# run post hoc tests
t1.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)

region.lmer <- lmer(dv ~ relevel(time,ref="t2") + (1|subject), data=region.data)
t2.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)

region.lmer <- lmer(dv ~ relevel(time,ref="t3") + (1|subject), data=region.data)
t3.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)

# Get mcmc mean and 50/95% HPD confidence intervals for graphs
# repeated three times and stored in a matrix (not shown here for brevity)
as.numeric(t1.pvals$fixed$MCMCmean)
as.numeric(t1.pvals$fixed$HPD95lower)
as.numeric(t1.pvals$fixed$HPD95upper)
HPDinterval(as.mcmc(t1.pvals$mcmc),prob=0.5)
    HPDinterval(as.mcmc(t1.pvals$mcmc),prob=0.5)

我有一些具体问题:

  1. 这是分析混合效应模型的有效方法吗?如果没有,我应该怎么做。
  2. mcp.fnc输出的批评图是否足以验证模型假设,还是我应该采取其他措施?
  3. 我认为为了使混合模型有效,数据需要尊重正态性和均方差性的假设。我如何通过查看mcp.fnc生成的批评图来判断什么是“近似正常”,什么不是?我只是需要对此有所了解,还是他们有规定的做事方式?关于这些假设,混合模型的稳健性如何?
  4. 我需要评估样本中受试者约20个特征(生物标志物)的三个时间点之间的差异。只要我报告所有已进行的测试(重要的或不重要的),或者是否需要任何形式的校正以进行多次比较,是否可以对每个模型分别进行拟合和测试?

为了使实验更加精确,这里有一些更多细节。我们对许多参与者进行了纵向治疗。在治疗开始之前和之后的两个时间点,我们测量了许多生物标志物。我想看到的是,这三个时间点之间的这些生物标记物是否存在差异。

我将本教程的大部分工作都基于本教程,但是会根据我的需要和阅读的内容进行一些更改。我所做的更改是:

  1. 使用“ pvals.fnc”(来自languageR包)重新调整“时间”因子,以获得t1-t2,t2-t3和t1-t3比较
  2. 使用基于Kenward-Roger方法(使用pbkrtest程序包)的近似F检验(而不是似然比检验)将混合模型与零模型进行比较(因为我读过,现在最好考虑使用Kenward-Roger的模型)
  3. 使用LMERConvenienceFunctions包检查假设并删除异常值(因为我读到混合模型对异常值非常敏感)

1
(+1)个精心设计的(多个)问题。
chl

Answers:


22

您的问题有点“大”,因此,我将从一些一般性的评论和提示开始。

一些背景阅读和有用的软件包

您可能应该看一下使用混合模型的一些教程介绍,我建议从Baayen等人(2008年)开始-Baayen是的作者languageR。Barr等人(2013年)讨论了随机效应结构的一些问题,Ben Bolker是的当前开发者之一lme4。Baayen等人特别适合您的问题,因为他们花费了大量时间来讨论自举/置换测试(后面的内容mcp.fnc)的用法。

文献

Florian Jaeger在他实验室的博客上也有很多关于混合模型的实用知识。

还有许多有用的R包,用于可视化和测试混合模型,例如lmerTesteffects。该effects软件包特别好用,因为它可以让您绘制幕后发生的线性回归和置信区间。

拟合优度和比较模型

plmerTest

anova()merχ2χ2p值以直接比较两个模型。不利的一面是,尚不清楚您的健康状况如何。

Ťsummary()|Ť|>2fixef()

您还应确保所有固定效应之间的相关性都不强-多重共线性违反了模型假设。弗洛里安·杰格(Florian Jaeger)对此做了一些介绍,并提供了一些可能的解决方案。

多重比较

我会更直接地解决您的问题4。答案基本上与传统方差分析的优良作法相同,不幸的是,对于大多数研究人员来说,这似乎是一个充满不确定性的地方。(这与传统的ANOVA相同,因为线性混合效果模型和ANOVA均基于通用线性模型,只是混合模型对随机效果有一个额外的称呼。)如果您假设时间窗使并想比较时间的影响,您应该在模型中包括时间。顺便说一下,这也将为您提供一种方便的方式来判断时间是否有所不同:时间是否有主要(固定)影响?这条路线的不利之处在于您的模型将变得更加复杂,并且单个“超级” 以时间为参数的模型比没有时间作为参数的三个较小模型的计算可能需要更长的时间。确实,混合模型的经典教程示例是sleepstudy 它使用时间作为参数。

Ťforeachlme4χ2

如果特征是因变量,则无论如何都必须计算不同的模型,然后可以使用AIC和BIC比较结果。


感谢您的详细回复!我已经阅读了一些提供的参考,但是一定会看看其他参考。据我了解p值的弊端,不幸的是,审阅者经常会以其他方式思考(至少现在是这样)。根据贝茨的建议,我正在使用mcmc采样,从我的理解来看,这是问题的一部分(即,不可能正确估计lmer模型的自由度)。特征是DV,我将添加更多信息来阐明。
2013年
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.