用简单的英语来说: 我有一个多元回归或ANOVA模型,但是每个人的响应变量都是时间的曲线函数。
- 如何确定哪个右侧变量导致曲线的形状或垂直偏移的显着差异?
- 这是时间序列问题,重复测量问题还是其他所有问题?
- 分析此类数据的最佳实践是什么(最好在中
R
,但我愿意使用其他软件)?
确切地说: 假设我有一个模型但实际上是从收集的一系列数据点在许多时间点,相同的个体被记录为数值变量。绘制数据表明,对于每个个体是时间的二次函数或周期性函数,其垂直偏移,形状或频率(在周期性情况下)可能极大地取决于协变量。协变量不会随时间变化-即,在数据收集期间,个体具有恒定的体重或治疗组。
到目前为止,我已经尝试了以下R
方法:
马诺娃
Anova(lm(YT~A*B,mydata),idata=data.frame(TIME=factor(c(1:10))),idesign=~TIME);
...这里
YT
是一个矩阵,其列为时间点,在此示例中为10个,但在实际数据中则更多。问题:这将时间视为一个因素,但是每个人的时间点并不完全匹配。此外,其中有许多是与样本大小相关的,因此模型变得饱和。似乎随时间变化的响应变量的形状被忽略了。
混合模型(如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()
该怎么办?我应该将该公式设为与inrandom
或just 中的公式相同~1|ID
吗? nlme
在Pinheiro和Bates以外的时间序列中很少提及该软件包...难道它不适合解决此问题?
- 是
将平方或三角模型拟合到每个个体,然后将每个系数用作多元回归或ANOVA的响应变量。
问题:必须进行多次比较校正。无法想到任何其他让我怀疑自己正在忽略的东西的问题。
如该站点上先前所建议的(具有多个预测变量的时间序列回归的术语是什么?),存在ARIMAX和传递函数/动态回归模型。
问题:基于ARMA的模型假设离散时间,不是吗?关于动态回归,我今天是第一次听说它,但是在我深入研究另一种可能永远无法奏效的新方法之前,我认为最好向以前做过此事的人寻求建议。