En clair: j'ai un modèle de régression multiple ou ANOVA mais la variable de réponse pour chaque individu est une fonction curviligne du temps.
- Comment puis-je savoir laquelle des variables de droite est responsable des différences significatives dans les formes ou les décalages verticaux des courbes?
- S'agit-il d'un problème de séries chronologiques, d'un problème de mesures répétées ou de tout autre chose?
- Quelles sont les meilleures pratiques pour analyser ces données (de préférence dans
R
, mais je suis prêt à utiliser d'autres logiciels)?
En termes plus précis: disons que j'ai un modèle mais est en fait une série de points de données collectés à partir du même individu à de nombreux moments , qui ont été enregistrés comme une variable numérique. Le traçage des données montre que pour chaque individu est une fonction quadratique ou cyclique du temps dont le décalage vertical, la forme ou la fréquence (dans le cas cyclique) pourrait dépendre de manière significative des covariables. Les covariables ne changent pas au fil du temps - c'est-à-dire qu'un individu a un poids corporel constant ou un groupe de traitement pour la durée de la période de collecte de données.y i j k k t y i j k t
Jusqu'à présent, j'ai essayé les R
approches suivantes :
Manova
Anova(lm(YT~A*B,mydata),idata=data.frame(TIME=factor(c(1:10))),idesign=~TIME);
... où
YT
est une matrice dont les colonnes sont les points temporels, 10 d'entre elles dans cet exemple, mais beaucoup plus dans les données réelles.Problème: cela traite le temps comme un facteur, mais les points temporels ne correspondent pas exactement à chaque individu. De plus, ils sont nombreux par rapport à la taille de l'échantillon, de sorte que le modèle est saturé. Il semble que la forme de la variable de réponse au fil du temps soit ignorée.
Modèles mixtes (comme dans Pinheiro et Bates, modèles à effets mixtes dans S et 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')
... où
ID
est un facteur qui regroupe les données par individu. Dans cet exemple, la réponse est cyclique dans le temps, mais il pourrait plutôt y avoir des termes quadratiques ou d'autres fonctions du temps.Problème: je ne sais pas si chaque terme est nécessaire (en particulier pour les termes quadratiques) et quels sont ceux qui sont affectés par quelles covariables.
- Est-ce
stepAIC()
une bonne méthode pour les sélectionner? - S'il supprime un terme dépendant du temps, le supprimera-t-il également de l'
random
argument? - Que se passe-t-il si j'utilise également une fonction d'autocorrélation (telle que
corEXP()
) qui prend une formule dans l'correlation
argument - dois-je faire cette formule pourcorEXP()
la même que celle dansrandom
ou juste~1|ID
? - Le
nlme
package est rarement mentionné dans le contexte des séries chronologiques en dehors de Pinheiro et Bates ... n'est-il pas considéré comme bien adapté à ce problème?
- Est-ce
Ajuster un modèle quadratique ou trigonométrique à chaque individu, puis utiliser chaque coefficient comme variable de réponse pour la régression multiple ou l'ANOVA.
Problème: correction de comparaison multiple nécessaire. Je ne peux penser à aucun autre problème qui me fait soupçonner que j'oublie quelque chose.
Comme suggéré précédemment sur ce site ( quel est le terme pour une régression de séries chronologiques ayant plus d'un prédicteur? ), Il existe des modèles ARIMAX et de fonction de transfert / régression dynamique .
Problème: les modèles basés sur ARMA supposent des temps discrets, n'est-ce pas? En ce qui concerne la régression dynamique, j'en ai entendu parler pour la première fois aujourd'hui, mais avant de me plonger dans une autre nouvelle méthode qui pourrait ne pas fonctionner, je pensais qu'il serait prudent de demander conseil à des personnes qui l'ont déjà fait.