Bonjour,
Je suis nouvelle sur le forum et j’aurais une question concernant l'utilisation des séries temporelles sous R.
J’ai deux séries x(t) et y(t) et je souhaiterais réaliser une regression de x par y en structurant les erreurs (erreurs autocorrélées). (equivalent de la fonction autoreg sous SAS)
J’ai trouvé la fonction gls (dans le package nlme) et j’ai exécuté :
gls_mens<-gls(mening_s_des~dataATB, correlation = corAR1())
ce qui fonctionne.
Mais je ne souhaite pas une structure AR(1) mais un ARMA(p,q). dans ce cas l’éxecution echoue et j’obtiens l’erreur suivante :
gls_mens<-gls(mening_s_des~dataATB, correlation = corARMA(p=52))
Error in "coef<-.corARMA"(`*tmp*`, value = c(11.2591629857661, 9.1821585359071, :
Coefficient matrix not invertible
Ceci est certainement du au fait que la plupart des coefficients inférieurs à 52 sont proches de 0.
Cependant je sais qu’il y a une autocorrelation d’ordre 52 au moins…
Je cherche une façon en R de régler ce problème :
- soit une fonction qui me permettrait d’évaluer automatiquement la structure ARMA la plus adaptée
- soit une façon de préciser manuellement une liste des lags qui ne sont pas nuls (sans qu’il calcule les autres)
Connaissez vous de telles fonctions?
Merci d’avance pour votre aide
Lulla