Проще говоря, у меня есть модель множественной регрессии или ANOVA, но переменная отклика для каждого человека является криволинейной функцией времени.
- Как я могу сказать, какие из переменных правой стороны ответственны за существенные различия в формах или вертикальных смещениях кривых?
- Это проблема временного ряда, проблема повторных измерений или что-то еще?
- Каковы лучшие практики для анализа таких данных (желательно
R
, но я открыт для использования другого программного обеспечения)?
В более точном выражении: допустим, у меня есть модель но на самом деле представляет собой серию точек данных, собранных из один и тот же человек во многих временных точках , которые были записаны в виде числовой переменной. График данных показывает, что для каждого отдельного является квадратичной или циклической функцией времени, вертикальное смещение, форма или частота которого (в циклическом случае) могут существенно зависеть от ковариат. Ковариаты не меняются с течением времени, т. Е. Индивидуум имеет постоянную массу тела или группу лечения на протяжении периода сбора данных.
До сих пор я пробовал следующие R
подходы:
Manova
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()
такой же, как вrandom
или просто~1|ID
? nlme
Пакет редко упоминаются в контексте временных рядов вне Пиньейра и Бейтса ... это не считаются хорошо подходят к этой проблеме?
- Это
Подгонка квадратичной или тригонометрической модели к каждому человеку, а затем использование каждого коэффициента в качестве переменной отклика для множественной регрессии или ANOVA.
Проблема: необходима множественная коррекция сравнения. Не могу думать ни о каких других проблемах, которые заставляют меня подозревать, что я что-то упускаю.
Как ранее предлагалось на этом сайте ( что такое термин для регрессии временного ряда, имеющего более одного предиктора? ), Существуют модели ARIMAX и передаточной функции / динамической регрессии .
Проблема: модели на основе ARMA предполагают дискретное время, не так ли? Что касается динамической регрессии, я впервые услышал об этом сегодня, но прежде чем углубиться в еще один новый метод, который может не сработать, я подумал, что было бы разумно попросить людей, которые делали это раньше, за советом.