数据分析

Linear mixed effects models

2020-04-10  本文已影响0人  Souff1e

提到线性模型可能会联想到三大类:

  1. 一般线性模型
  2. 广义线性模型
  3. 混合线性模型

今天我们主要关注混合线性模型。并通过简单的小例子对这种模型的应用进行粗浅的了解。
案例之前需要知道的:

  1. 为什么需要mixed-effect model?
    因为有些现实的复杂数据是普通线性回归处理不了的。比如数据中存在组内(noise)和组间(random effect)的随机效应。换句话说,就是当数据中存在复杂的层次结构,除了感兴趣的变量还存在需要控制的变量时,使用该模型可以得到更切合稳健的结果。

  2. 自变量的固定效应和随机效应:
    看到的一个很容易理解的说法——两者的不同实际在于看待参数的方式的不同。
    固定效应:参数含义是自变量每变化一个单位,应变量平均变化多少。因此固定效应fixed effect影响响应变量response variable(Y)的均值
    随机效应:参数是服从正态分布的一个随机变量,对于两个不同的自变量的值,对应变量的影响不一定是相同的。 也就是说Random effect影响的是响应变量的方差。

  3. 随机效应影响模型的两种方式:
    截距影响(random intercept model)
    对某个固定效应的斜率影响(random intercept and slope model)


    Harrison et al.

    现实数据中更多的是既具有截距影响也具有斜率影响的效应。

  4. 处理混合线性模型的两个常用R包:lme4和nlme,区别不大。

在R中使用混合线性模型时,主要用法如下:

fit=lmer(data=, formula=DV~fixed_factor+(random_intercept+random_slope|random_factor))
data - 要处理的数据集
formula - 表达式
DV - 因变量
fixed_factor - 固定因子,即考察的自变量
random_intercept - 随机截距,即认为不同群体的因变量的分布不同
random_slope - 随机斜率,即认为不同群体受固定因子的影响是不同的
random_factor - 随机因子
/ nested inside

接下来看例子:
案例来自这篇文章:


文章:Conclusions beyond support: overconfident estimates in mixed models

该文章讲了混合模型使用不当时会产生pseudo-replication的问题。pseudo-replication会出现在复杂结构的生物实验数据中,主要原因是无意识地将非独立的data point当作独立的数据点并用作生物学重复。对群体中的个体测量两个及以上观测量的时候很容易出现这种情况。有时我们对自己的实验结构非常清楚,但是用在模型上面表达出来时会出现错意。总之我们使用模型时需要确认代码中的表达式是否符合实验设计。

一群雌鸟跟good quality和poor quality两种雄鸟交配,测量其产下蛋的大小。

  1. 首先关心雄鸟quality对于雌鸟产蛋大小的影响。
    数据或许是这样的:


    malequal_eggsize

这是最简单的一种情况:
lmer(EggSize ~ MaleQual + (1|FemID))
其中EggSize是关心的响应变量,MaleQual是固定效应,FemID是基于总体均值的随机效应。所以“|”前是1。这里允许了每只雌鸟个体差异对产蛋大小造成的影响。

  1. 然后研究鸟类生态的同学可能会关心到产蛋的顺序,涉及到雌鸟对子代的资源分配等问题。所以我们的问题变成了:雄鸟quality是否影响雌鸟的eggsize以及eggsize如何随着产蛋顺序而改变?


    layseq

    于是在其中加上LaySeq因素:
    lmer(EggSize~MaleQual+LaySeq+MaleQual:LaySeq+(1+LaySeq|FemID))
    但此时LaySeq是因子型变量,所以分类数据是可以作为random slope的。这里检测的就是eggsize是否因malequal而不同,是否随layseq而不同,是否受到二者相互作用的影响。同时控制了受产蛋顺序影响的雌性个体差异带来的波动。

  2. 在上述基础上再复杂一点,考虑地域性。比如


    territory

    模型中加入地域性因素:
    lmer(EggSize~MaleQual+LaySeq+MaleQual:LaySeq+(1+LaySeq|FemID)+(1+LaySeq|Territory))
    这里除了控制上述因素,还控制了雌鸟因地域不同带来的影响。

  3. 再添加最后一个因素,雌鸟体型的影响。


    femmass

    我们要看雄鸟质量、雌鸟的体型如何影响eggsize以及eggsize随产蛋顺序如何变化。既然是兴趣变量,FemMass则要作为固定效应。
    lmer(EggSize~MaleQual+LaySeq+MaleQual:LaySeq+FemMass+FemMass:LaySeq+(1+LaySeq+FemMass|FemID)+(1+LaySeq+FemMass|Territory))
    除了加入了FemMass相关的固定效应外,还控制了个体差异和地域差异带来的影响。

以上例子中的表达式并不是该情景和目的下的唯一写法。有时表达式也可以简化。

以上就是我最近学习到的一些关于混合线性模型的一些东西。刚刚接触,很多东西也是似懂非懂。以下是我学习时搜索到用到的一些资料,很多东西都直接从这些地方搬过来的:
https://blog.csdn.net/sinat_26917383/article/details/51636011
https://zhuanlan.zhihu.com/p/63092231
https://cloud.tencent.com/developer/article/1434962
https://luansheng.github.io/2017/11/19/线性混合效应模型教程1/
https://zhuanlan.zhihu.com/p/49480686
https://stats.stackexchange.com/questions/38370/interpreting-three-forms-of-a-mixed-model
https://cran.r-project.org/web/packages/lme4/vignettes/lmer.pdf
文章:A brief introduction to mixed effects modelling and multi-model inference in ecology
文章:Conclusions beyond support: overconfident estimates in mixed models
我的感觉也是这样的:这些个模型说简单也简单,说复杂也复杂。简单的是只要把自己的实验逻辑理清楚,参照工具的做法照做就可以了。复杂在于要精确地用模型将自己的实验表述清楚,要对数据存在的问题进行适当的矫正。否则就容易出现评估偏差,影响结论。

写的很粗浅,为自己做一个记录,同时也欢迎大家批评指正~

上一篇 下一篇

猜你喜欢

热点阅读