J'essaie d'estimer une régression linéaire multiple dans R avec une équation comme celle-ci:
regr <- lm(rate ~ constant + askings + questions + 0)
les demandes et les questions sont des séries chronologiques de données trimestrielles, construites avec askings <- ts(...)
.
Le problème est que j'ai obtenu des résidus autocorrélés. Je sais qu'il est possible d'ajuster la régression en utilisant la fonction gls, mais je ne sais pas comment identifier la structure d'erreur AR ou ARMA correcte que je dois implémenter dans la fonction gls.
Je voudrais essayer d'estimer à nouveau maintenant avec,
gls(rate ~ constant + askings + questions + 0, correlation=corARMA(p=?,q=?))
mais je ne suis malheureusement ni un expert R ni un expert statistique en général pour identifier p et q.
Je serais heureux si quelqu'un pouvait me donner un indice utile. Merci beaucoup d'avance!
Jo
la source
Si la prédiction est votre objectif, vous pouvez adapter une gamme de modèles aux paramètres:
où
P
etQ
sont les termes AR (p) et MA (q) maximaux que vous souhaitez inclure et choisissez le meilleur modèle d'ajustement tel que déterminé par BIC.auto.arima()
dans la prévision de package aidera à cela, mais il peut être codé facilement à la main en utilisantexpand.grid()
et en boucle et laarima()
fonction fournie avec R.Ce qui précède s'adapte aux résidus d'un
gls()
sanscorrelation
structure.Vous pouvez également faire le tout à la main directement
gls()
en installant simplement de nombreux modèles pour les combinaisons dep
etq
et laAIC()
fonction intégrée .Vous pouvez également tracer l'ACF (
acf()
) et l'ACF partiel (pacf()
) des résidus d'un modèle linéaire sans structure de corrélation et les utiliser pour suggérer l'ordre du modèle requis.la source