如何处理线性混合模型(lme4 1.0.4)中非常s形的qq图?

机器算法验证 混合模式 残差 lme4-nlme QQ图
2022-03-25 02:44:25

我有一个数据集,我在其中测量了diff38 名参与者 ( sub) 在两种不同条件 ( ) 下的变量 ( cond.lag)。position现在我对这两个条件之间项目的斜率是否不同感兴趣。cond.lag那就是我对和之间是否存在交互感兴趣position(我之前以 0 为中心)。

require(lme4)
options(contrasts=c('contr.sum', 'contr.poly'))

# read data
dat <- read.table("http://pastebin.com/raw.php?i=MmNQigRv", colClasses = c(NA, rep("factor", 2), rep("numeric", 2)))
# center position
dat$pos.centered <- scale(dat$position, scale = FALSE)

# fit the model
m1 <- lmer(diff ~ cond.lag * pos.centered + (cond.lag * pos.centered|sub), dat)
print(summary(m1), corr = FALSE)
## [...]
## Fixed effects:
##                          Estimate Std. Error t value
## (Intercept)             0.0819639  0.0121378   6.753
## cond.lag1              -0.0122033  0.0155427  -0.785
## pos.centered            0.0031775  0.0006429   4.942
## cond.lag1:pos.centered -0.0011495  0.0011351  -1.013

虽然看起来好像我没有找到交互作用(仅是位置斜率的主要影响),但我不确定这个模型是否有意义,因为我发现了一个非常不寻常的(我预计重尾)qq 图:

qqnorm(resid(m1))
qqline(resid(m1))

在此处输入图像描述

问题

  • 尽管看起来表现不佳的残差,这个模型是否有意义?
  • 我该怎么做才能去除那些沉重的尾巴或获得更好的模型?
1个回答

如有疑问,请查看原始数据:

library(ggplot2)
theme_set(theme_bw())
ggplot(dat,aes(pos.centered,diff,colour=cond.lag))+geom_point()+
    geom_line(aes(group=sub:cond.lag),alpha=0.4)
ggsave("SE_ex.png",width=6,height=4)

在此处输入图像描述

(您也可以尝试colour=subfacet_grid(.~cond.lag)

看起来您的问题是居中位置 > 5 左右的方差爆炸(仅来自发散的单条线的方差比预期的要大)。我不太确定该怎么做:您可以多看一下各个曲线,并考虑这些数据是否有一个好的(现象学或机械学的)非线性模型。lme目前在 R 中将异方差模型(可以但不能lmer)与交叉随机效应(可能在 中lme,但比在 中更难)结合起来有点困难,但在 SAS 、Genstat/ASlmer中可能(??)PROC NLMIXEDREML、AD 模型生成器...