Prévisions timeseries avec tslm dans la R
Je suis encore nouveau pour R et je suis face à un problème, je n'arrive pas à résoudre.
Je voudrais prévision de mon temps à la série de données.
J'ai cette année quotidienne des numéros: y, et l'année dernière, le nombre quotidien qui je veux l'utiliser comme un prédicteur.
Les chiffres montrent cycles d'une semaine. J'ai essayé ce code. (Faux numéros pour plus de clarté)
x = rnorm(60,0,1)
y = rnorm(60,0 ,1) + 2*cos(2*pi*1:60/7) + 10*x
new_x = rnorm(10,0,1)
y <- ts(y,frequency = 7)
fit <- tslm(y ~ trend + season + x)
fcast = forecast.lm(fit, h = 10, newdata = new_x)
Je reçois le message d'erreur :
Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) :
variable lengths differ (found for 'x')
In addition: Warning message:
'newdata' had 10 rows but variables found have 60 rows
Tous les conseils sur ce que je fait de mal?
De
?forecast.lm
: newdata An optional data frame
. new_x
est un vecteur.
OriginalL'auteur Nick Mars | 2015-02-16
Vous devez vous connecter pour publier un commentaire.
De votre
fit
objet:La dernière variable est nommée
x
. Et de l'aide pourforecast.lm
ditnewdata
est une option de données.cadre. Vous devez activernew_x
dans un ensemble de données.cadre, avecx
comme nom de colonne.OriginalL'auteur
Vous pourriez avoir converti new_x ' de données.cadre et votre code initial serait trop de travail.
La new_x ' variable est de type nombre et les besoins de données.l'image comme une entrée pour la prévision.lm.
Ce qui concerne,
Ganesh Bhat
OriginalL'auteur Ganesh Bhat
L'erreur semble évidente:
new_data a 10 variable aléatoire tandis que y & x 60. Pouvez-vous mettre à jour new_data d'avoir 60 variables aléatoires et vérifier que l'erreur ne se produit pas?
Ce qui concerne,
Ganesh
OriginalL'auteur Ganesh Bhat