Comment ajuster un modèle linéaire avec des erreurs autocorrélées dans R? En stata, j'utiliserais la prais
commande, mais je ne trouve pas d'équivalent R ...
19
Comment ajuster un modèle linéaire avec des erreurs autocorrélées dans R? En stata, j'utiliserais la prais
commande, mais je ne trouve pas d'équivalent R ...
En plus de la
gls()
fonction denlme
, vous pouvez également utiliser laarima()
fonction dans lestats
package à l'aide de MLE. Voici un exemple avec les deux fonctions.L'avantage de la fonction arima () est que vous pouvez adapter une plus grande variété de processus d'erreur ARMA. Si vous utilisez la fonction auto.arima () du package de prévisions, vous pouvez identifier automatiquement l'erreur ARMA:
la source
arima
option semble plus différente de celle de Stataprais
à première vue, mais elle est plus flexible et vous pouvez également l'utilisertsdiag
pour obtenir un bon aperçu de l'adéquation de votre hypothèse AR (1).Utilisez la fonction gls du paquet nlme . Voici l'exemple.
Étant donné que le modèle est ajusté en utilisant la probabilité maximale, vous devez fournir des valeurs de départ. La valeur de départ par défaut est 0, mais comme toujours, il est bon d'essayer plusieurs valeurs pour assurer la convergence.
Comme l'a souligné le Dr G, vous pouvez également utiliser d'autres structures de corrélation, à savoir ARMA.
Notez qu'en général, les estimations des moindres carrés sont cohérentes si la matrice de covariance des erreurs de régression n'est pas multiple de la matrice d'identité, donc si vous ajustez le modèle avec une structure de covariance spécifique, vous devez d'abord tester si elle est appropriée.
la source
Vous pouvez utiliser la prévision sur la sortie gls. Voir? Predire.gls. Vous pouvez également spécifier l'ordre de l'observation par le terme "forme" dans la structure de corrélation. Par exemple:
corr=corAR1(form=~1)
indique que l'ordre des données est celui qu'elles sont dans le tableau.corr=corAR1(form=~Year)
indique que l'ordre est celui du facteur Année. Enfin la valeur "0,5" encorr=corAR1(0.5,form=~1)?
est généralement fixée à la valeur du paramètre estimé pour représenter la structure de la variance (phi, en cas d'AR, thêta en cas de MA .. .). Il est facultatif de le configurer et de l'utiliser pour l'optimisation comme l'a mentionné Rob Hyndman.la source