Le contexte
Cette question utilise R, mais concerne des problèmes statistiques généraux.
J'analyse les effets des facteurs de mortalité (% de mortalité due aux maladies et au parasitisme) sur le taux de croissance de la population de papillons au fil du temps, où les populations de larves ont été échantillonnées à partir de 12 sites une fois par an pendant 8 ans. Les données sur le taux de croissance démographique affichent une tendance cyclique claire mais irrégulière au fil du temps.
Les résidus d'un modèle linéaire généralisé simple (taux de croissance ~% maladie +% parasitisme + année) ont montré une tendance cyclique tout aussi claire mais irrégulière dans le temps. Par conséquent, des modèles de moindres carrés généralisés de la même forme ont également été ajustés aux données avec des structures de corrélation appropriées pour gérer l'autocorrélation temporelle, par exemple la symétrie composée, l'ordre de processus autorégressif 1 et les structures de corrélation moyenne mobile autorégressives.
Les modèles contenaient tous les mêmes effets fixes, ont été comparés en utilisant AIC et ont été ajustés par REML (pour permettre la comparaison de différentes structures de corrélation par AIC). J'utilise le package R nlme et la fonction gls.
question 1
Les valeurs résiduelles des modèles GLS affichent toujours des modèles cycliques presque identiques lorsqu'ils sont tracés en fonction du temps. De tels modèles resteront-ils toujours, même dans les modèles qui tiennent compte avec précision de la structure d'autocorrélation?
J'ai simulé des données simplifiées mais similaires dans R ci-dessous ma deuxième question, qui montre le problème basé sur ma compréhension actuelle des méthodes nécessaires pour évaluer les modèles autocorrélés temporellement dans les résidus du modèle , que je connais maintenant faux (voir réponse).
question 2
J'ai ajusté les modèles GLS avec toutes les structures de corrélation plausibles possibles à mes données, mais aucun n'est en réalité bien mieux adapté que le GLM sans aucune structure de corrélation: un seul modèle GLS est légèrement meilleur (score AIC = 1,8 inférieur), tandis que tous les autres ont des valeurs AIC plus élevées. Cependant, ce n'est le cas que lorsque tous les modèles sont équipés de REML, pas ML où les modèles GLS sont clairement beaucoup mieux, mais je comprends que dans les livres de statistiques, vous ne devez utiliser REML que pour comparer des modèles avec différentes structures de corrélation et les mêmes effets fixes pour des raisons Je ne détaillerai pas ici.
Étant donné la nature clairement autocorrélée temporellement des données, si aucun modèle n'est même modérément meilleur que le GLM simple, quelle est la façon la plus appropriée de décider quel modèle utiliser pour l'inférence, en supposant que j'utilise une méthode appropriée (je veux éventuellement utiliser AIC pour comparer différentes combinaisons de variables)?
«Simulation» du premier trimestre explorant les schémas résiduels dans les modèles avec et sans structures de corrélation appropriées
Générez une variable de réponse simulée avec un effet cyclique de «temps» et un effet linéaire positif de «x»:
time <- 1:50
x <- sample(rep(1:25,each=2),50)
y <- rnorm(50,5,5) + (5 + 15*sin(2*pi*time/25)) + (x/1)
y devrait afficher une tendance cyclique dans le temps avec une variation aléatoire:
plot(time,y)
Et une relation linéaire positive avec 'x' avec une variation aléatoire:
plot(x,y)
Créez un modèle additif linéaire simple de "y ~ temps + x":
require(nlme)
m1 <- gls(y ~ time + x, method="REML")
Le modèle affiche des modèles cycliques clairs dans les résidus lorsqu'il est tracé en fonction du «temps», comme on pourrait s'y attendre:
plot(time, m1$residuals)
Et ce qui devrait être un manque clair et clair de tout motif ou tendance dans les résidus lorsqu'il est tracé contre `` x '':
plot(x, m1$residuals)
Un modèle simple de "y ~ temps + x" qui comprend une structure de corrélation autorégressive d'ordre 1 devrait mieux correspondre aux données que le modèle précédent en raison de la structure d'autocorrélation, lorsqu'il est évalué à l'aide de l'AIC:
m2 <- gls(y ~ time + x, correlation = corAR1(form=~time), method="REML")
AIC(m1,m2)
Cependant, le modèle devrait toujours afficher des résidus autocorrélés presque identiquement «temporellement»:
plot(time, m2$residuals)
Merci beaucoup pour tout conseil.