将时间序列合并到R中的混合效果模型中(使用lme4)

时间:2016-02-25 13:07:09

标签: r time-series lme4 mixed-models

我已经搜索过类似的问题,如果有相关的问题我错过了,那就道歉了。所以道歉。

我在各种条件下查看馈线(因变量)花费的时间,每个主题访问馈线30次。

受试者接触一种类型的喂食器,其具有香味/无味的不同组合,具有视觉图案/空白,并且具有以两种空间布置之一呈现的这些视觉或香味图案。

到目前为止,我的模型是:

mod<-lmer(timeonfeeder ~ scent_yes_no + visual_yes_no + 
    pattern_one_or_two + (1|subject), data=data)

如何将访问号码合并到模型中,看看这些因素是否会影响馈线上的时间?

1 个答案:

答案 0 :(得分:8)

您有多种选择(对于CrossValidated,这个问题可能稍微好一点。)

  • 正如@Dominix建议的那样,随着时间的推移,您可以允许进纸器的时间线性增加或减少。允许这种变化在不同的鸟类之间变化是有意义的:

    timeonfeeder ~ time + ... + (time|subject)
    
  • 可以允许随时间变化的任意模式(即不仅仅是线性的):

    timeonfeeder ~ factor(time) + ... + (1|subject)
    

    这可能对你的情况没有意义,因为你有大量的观察,所以它需要很多参数(如果你有,比如每个人有3个时间点,那就更明智了)< / p>

  • 您可以通过添加模型允许更复杂的变化模式,即建模随着三次样条曲线随时间的变化。例如:

    library(mgcv)
    gamm(timeonfeeder ~ s(time) + ... , random = ~1|subject
    

    (1)这假设不同科目的时间模式相同; (2)因为gamm()使用lme而不是lmer,你必须将随机效果指定为单独的参数。 (您也可以使用gamm4包,它在引擎盖下使用lmer。)

  • 您可能希望允许时间自相关。例如,

    lme(timeonfeeder ~ time + ... ,
        random = ~ time|subject,
        correlation = corAR1(form= ~time|subject) , ...)