7
votes

GLM avec terme autorégressif pour corriger la corrélation en série

J'ai une série chronologique stationnaire à laquelle je souhaite adapter un modèle linéaire avec un terme autorégropriétaire pour corriger la corrélation en série, c'est-à-dire à l'aide de la formule AT = C1 * BT + C2 * CT + UT, où ut = r * ut -1 + et

(UT est un terme AR (1) pour corriger la corrélation série dans les conditions d'erreur)

Est-ce que quelqu'un sait quoi utiliser dans R pour modeler cela?

merci Karl


0 commentaires

3 Réponses :


2
votes

Quelle est votre fonction de liaison?

La façon dont vous décrivez cela ressemble à une régression linéaire de base avec des erreurs autocorrélées. Dans ce cas, une option consiste à utiliser lm pour obtenir une estimation cohérente de vos coefficients et utiliser Erreurs Standard NewEy-West HAC .

Je ne suis pas sûr de la meilleure réponse pour GLM plus généralement.


0 commentaires

9
votes

Le GLMMARP Package convient à ces modèles. Si vous voulez juste un modèle linéaire avec des erreurs gaussiennes, vous pouvez le faire avec la fonction arima () où les covariats sont spécifiés via l'argument xreg .


2 commentaires

Le package GLMMARP a été retiré du référentiel de cran. Connaissez-vous d'un autre paquet qui l'accomplirait?


Tous les forfaits que je connais sont énumérés à Cran.r-project.org/web /views/timesseries.html



7
votes

Il y a plusieurs façons de le faire dans R. Voici deux exemples à l'aide de " SEATBELTS "Dataset série TIME dans le paquet de données fourni avec R.

La fonction arima () code> est disponible dans l'emballage: statistiques incluses Avec R. La fonction prend un argument du formulaire Commande = C (P, D, Q) Code> où vous pouvez spécifier l'ordre du composant moyen de régressif automatique, intégré et en mouvement. Dans votre question, vous suggérez que vous souhaitiez créer un modèle AR (1) pour corriger l'autocorrélation de premier ordre dans les erreurs et c'est tout. Nous pouvons faire cela avec la commande suivante: p> xxx pré>

La valeur de la commande spécifie que nous voulons un modèle AR (1). Le XReg Compontent devrait être une série d'autres XS que nous souhaitons ajouter dans le cadre d'une régression. La sortie ressemble un peu à la sortie de sommaire.lm () code> allumé sur son côté. P>

Un autre processus alternatif peut être plus familier à la manière dont vous avez l'adaptation des modèles de régression est d'utiliser GLS () code> dans le package NLME . Le code suivant transforme l'objet de la série Time de la ceinture de sécurité dans un fichier de données, puis extrait et ajoute une nouvelle colonne ( t em>) qui est juste un compteur dans l'objet de la série horaire triée: P>

library(nlme)
m <- gls(drivers ~ kms + PetrolPrice + law,
         data=Seatbelts.df,
         correlation=corARMA(p=1, q=0, form=~t))
summary(m)


0 commentaires