2017-07-03 2 views
0

que je suis par exemple des prévisions quotidiennes de Rob Hyndman ici en utilisant mon propre ensemble de données et je reçois le message d'erreur suivant:nombre de auto.arima de régresseurs ne correspond pas au modèle équipé

Erreur dans forecast.Arima (ajustement, XREG = cbind (zf, données vacances $ [157: 256], h = 100)): Nombre de régresseurs ne correspond pas à modèle ajusté

Je Google'd le message d'erreur et cherchai potentiel solutions, mais aucune des solutions proposées n'a fonctionné pour moi. Voici le code avec lequel je travaillais. J'utilisais l'indexation pour que je puisse utiliser certaines des données pour former le modèle et voir si la prévision donnait des résultats raisonnables aux résultats réels.

library(forecast) 

data <- read.csv("path", header = TRUE, stringsAsFactors = FALSE) 

y <- ts(data$numbers[57:156], frequency=7) 
z <- fourier(ts(data$numbers[57:156], frequency = 365.25), K=5) 
zf <- fourier(ts(data$numbers[57:156], frequency = 365.25), K=5, h=100) 
fit <- auto.arima(y, xreg = cbind(z, data$holidays[57:156]), seasonal=FALSE) 
fc <- forecast(fit, xreg = cbind(zf, data$future_holidays[157:256], h=100)) 

Merci d'avance pour l'aide!

+0

Veuillez joindre vos données en utilisant dput(). –

+0

@ShahabEinabadi Mon fichier contient près de 1 000 lignes et 4 colonnes. Ne serait-ce pas trop à inclure ici? Devrais-je inclure seulement une partie ou peut-être autre chose? – erik7970

Répondre

0

je suis tombé sur ce même problème, mais heureusement, je suis aussi abonné à Datacamp où le professeur enseigne Hyndman la modélisation des séries chronologiques. Dans son article de blog, il utilise deux fois le paramètre d'horizon temporel, car il intègre également des régresseurs externes, ce que vous n'êtes pas. Le terme Horizon est déjà spécifié à l'étape Fourier et n'a pas besoin d'être répété dans la commande de prévision. Voici un exemple de la classe du professeur Hyndman qui fonctionne très bien. L'exemple provient d'un exercice. Puisque vous ne créez que des termes de Fourier, le H est déjà spécifié. Si vous décidez d'inclure d'autres variables comme des drapeaux de vacances, son code postal fonctionnera. Pour votre information, Datacamp est une ressource incroyable et je vous suggère de vous abonner.

Mettre en place régresseurs harmoniques de l'ordre 13

`harmonics <- fourier(gasoline, K = 13)` 

modèle Fit de régression avec erreurs ARIMA

`fit <- auto.arima(gasoline, xreg = harmonics, seasonal = FALSE)` 

prévisions 3 prochaines années

`newharmonics <- fourier(gasoline, K = 13, h = 156) 
fc <- forecast(fit, xreg = newharmonics)` 

prévisions terrain fc

`autoplot(fc)`