J'utilise la méthode arima du package de statistiques de R avec ma série temporelle de 17376 éléments. Mon objectif est d'obtenir la valeur du critère AIC, j'ai observé lors de mon premier test ceci:
ts <- arima(serie[,1], order = c(2,1,1), seasonal = list(order=c(2,0,1),period = 24),
method = "CSS", optim.method = "BFGS",)
> ts$coef
ar1 ar2 ma1 sar1 sar2 sma1
0.8883730 -0.0906352 -0.9697230 1.2047580 -0.2154847 -0.7744656
> ts$aic
[1] NA
Comme vous pouvez le voir, l'AIC n'est pas défini. A propos de l'AIC, "Aide" dans R a dit qu'il ne pouvait être utilisé qu'avec "ML". Cependant, cela arrive:
> ts <- arima(serie[,1], order = c(2,1,1), seasonal = list(order=c(2,0,1),period = 24),
method = "ML", optim.method = "BFGS",)
Error en optim(init[mask], armafn, method = optim.method, hessian = TRUE, :
non-finite finite-difference value [1]
Plus: warning messages lost
In log(s2) : There have been NaNs
Je ne comprends pas ce qui se passe. J'aimerais également en savoir plus sur le paramètre "méthode d'ajustement".
r
time-series
forecasting
arima
Cyberguille
la source
la source
optim.control
argument) aurait de bonnes chances d'éviter ce problème. Je n'ai pas testé cela car vous ne fournissez pas d'exemple reproductible de la difficulté.Réponses:
L'ajustement du modèle ARIMA avec un maximum de vraisemblance (méthode = "ML") nécessite d'optimiser (minimiser) la log-vraisemblance négative du modèle ARIMA sur les paramètres. Cela s'avère être un problème d'optimisation contraint car les paramètres doivent aboutir à un modèle stationnaire. Cette contrainte non linéaire est prise en compte avec la log-vraisemblance négative retournant Inf (infini) si la contrainte n'est pas satisfaite. Si le MLE est proche de la limite de la contrainte, l'évaluation de la log-vraisemblance négative près du MLE pourrait renvoyer l'infini. Comme la toile de jute est obtenue avec une différenciation numérique en évaluant la log-vraisemblance négative près du MLE, cela peut entraîner l'erreur de différence finie non finie que vous avez obtenue. Donc, si la toile de jute n'est pas requise, mettez hessian = FALSE. Autrement,
la source
Modifié: si vous votez contre, pouvez-vous expliquer pourquoi? Je suis nouveau ici.
J'ai eu le même problème. J'ai regardé autour de moi en ligne et j'ai trouvé une solution suggérée ailleurs sur Cross Validated. J'ai pensé que je partagerais ici au cas où quelqu'un le voudrait.
Je viens d'ajouter une "méthode =" CSS "" à mon modèle et cela a fonctionné. Par exemple:
Voici la référence:
auto.arima et Arima (package de prévision)
la source
Vous semblez avoir un problème avec la convergence des algorithmes. Cela se produit parfois avec l'optimisation numérique.
Voici un lien vers un article wikipedia sur cette méthode d'optimisation particulière:
http://en.wikipedia.org/wiki/Broyden%E2%80%93Fletcher%E2%80%93Goldfarb%E2%80%93Shanno_algorithm
la source