纵向数据:时间序列、重复测量还是其他?

机器算法验证 回归 时间序列 混合模式 重复测量 面板数据
2022-03-30 01:52:56

简单地说: 我有一个多元回归或方差分析模型,但每个人的响应变量是时间的曲线函数。

  • 如何判断哪些右侧变量导致曲线形状或垂直偏移的显着差异?
  • 这是一个时间序列问题,一个重复测量问题,还是完全不同的问题?
  • 分析此类数据的最佳实践是什么(最好在 中R,但我愿意使用其他软件)?

更准确地说: 假设我有一个模型实际上是从在许多时间点相同的个体,它们被记录为数字变量。绘制数据表明,对于每个单独的是时间的二次或循环函数,其垂直偏移、形状或频率(在循环情况下)可能显着取决于协变量。协变量不会随时间而变化——即,在数据收集期间,个体的体重或治疗组是恒定的。yijk=β0+β1xi+β2xj+β3xixj+ϵkyijkktyijkt

到目前为止,我已经尝试了以下R方法:

  1. 马诺瓦

    Anova(lm(YT~A*B,mydata),idata=data.frame(TIME=factor(c(1:10))),idesign=~TIME); 
    

    ...其中YT是一个矩阵,其列是时间点,在此示例中为 10 个,但在实际数据中更多。

    问题:这将时间视为一个因素,但每个人的时间点并不完全匹配。此外,相对于样本量,它们中有很多,因此模型变得饱和。似乎随着时间的推移响应变量的形状被忽略了。

  2. 混合模型(如 Pinheiro 和 Bates 中的混合效应模型,S 和 S-Plus 中的混合效应模型

    lme(fixed=Y~ A*B*TIME + sin(2*pi*TIME) + cos(2*pi*TIME), data=mydata, 
        random=~(TIME + sin(2*pi*TIME) + cos(2*pi*TIME))|ID), method='ML')
    

    ...哪里ID是按个人对数据进行分组的因素。在这个例子中,响应是随时间循环的,但也可以是二次项或其他时间函数。

    问题:我不确定每个时间项是否是必要的(尤其是二次项)以及哪些受哪些协变量影响。

    • stepAIC()选择它们的好方法吗?
    • 如果它确实删除了一个与时间相关的项,它是否也会将其从random参数中删除?
    • corEXP()如果我还使用在参数中采用公式的自相关函数(例如),correlation我应该使该公式corEXP()与 in 中的公式相同random还是只是~1|ID
    • 在 Pinheiro 和 Bates 之外的时间序列的上下文中很少提到这个nlme包……它不被认为很适合这个问题吗?
  3. 将二次或三角模型拟合到每个人,然后将每个系数用作多元回归或方差分析的响应变量。

    问题:需要进行多重比较校正。想不出任何其他让我怀疑我忽略了某些东西的问题。

  4. 正如本网站先前所建议的(具有多个预测变量的时间序列回归的术语是什么?),有ARIMAX 和传递函数/动态回归模型

    问题:基于 ARMA 的模型假设离散时间,不是吗?至于动态回归,我今天第一次听说,但在我深入研究另一种可能最终不会成功的新方法之前,我认为向以前这样做过的人征求意见是明智的。

2个回答

正如杰罗米·安格利姆所说,了解每个人的时间点数量会有所帮助;正如您所说的“很多”,我敢说功能分析可能是一个可行的选择。您可能想查看 R 包fda 并查看Ramsay 和 Silverman 的书

自从最初提出这个问题以来,我得出的结论是,以受试者作为随机阻塞因子的混合效应模型是这个问题的实际解决方案,即我原来帖子中的选项#2。如果random参数 tolme设置为~1|ID(其中ID标识来自同一测试对象的观察),则拟合随机截距模型。如果将其设置为,~TIME|ID则拟合随机斜率和截距模型。任何包含在同一个体内变化的变量的右侧公式都可以放在 和 之间~|ID但过于复杂的公式会导致模型饱和和/或各种数值错误。因此,可以使用似然比检验 (anova(myModel, update(myModel,random=~TIME|ID))) 将随机截距模型与随机斜率和截距模型或其他候选随机效应模型进行比较。如果拟合差异不显着,则坚持使用更简单的模型。在我的原始帖子中进入随机触发函数对我来说太过分了。

我提出的另一个问题是模型选择。似乎人们不喜欢任何类型的模型选择,但没有人有任何实际的选择。如果你盲目地相信收集数据的研究人员关于哪些解释变量是相关的和不相关的,你通常会盲目地接受他们未经检验的假设。如果你考虑到每一个可能的信息,你通常会得到一个饱和的模型。如果您因为简单而随意选择特定模型和变量,那么您将再次接受未经检验的假设,这一次是您自己的假设。

因此,总而言之,对于重复测量,它是lme模型,然后通过MASS:::stepAICMuMIn:::dredge和/或进行修剪nlme:::anova.lme,除非有人有更好的主意。

在接受它之前,我将把这个自我回答搁置一段时间,看看是否有人有任何反驳。感谢您的宝贵时间,如果您阅读本文是因为您有与我相同的问题,祝您好运,欢迎来到半未知领域。