Prognose timeseries mit tslm in R
Ich bin noch neu in R und stehe vor einem problem ich kann nicht scheinen, um zu lösen.
Ich würde gerne meine Prognose von Zeitreihendaten.
Ich habe in diesem Jahr die täglichen zahlen: y, und im letzten Jahr täglich die Zahl, die ich verwenden möchte als Prädiktor.
Die zahlen zeigen, Wochen-Takt. Ich habe versucht, diesen code. (Gefälschte zahlen für Klarheit)
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)
Bekomme ich die Fehlermeldung :
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
Irgendwelche Tipps, was ich falsch gemacht habe?
Von
?forecast.lm
: newdata An optional data frame
. new_x
ist ein Vektor.InformationsquelleAutor Nick Mars | 2015-02-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Von Ihrem
fit
Objekt:Den letzten variable namens
x
. Und die Hilfe fürforecast.lm
sagtnewdata
ist eine optionale Daten.frame. Sie brauchen, umnew_x
in eine Daten.Rahmen, mitx
als Spaltenname.InformationsquelleAutor
Könnten Sie konvertiert haben new_x zu Daten.Rahmen und Ihrem ursprünglichen code auch funktionieren würde.
Den new_x variable ist vom Typ Zahl und muss Daten.frame als input für die Prognose.lm.
Grüße,
Ganesh Bhat
InformationsquelleAutor Ganesh Bhat
Der Fehler scheint offensichtlich zu sein:
new_data hat 10 zufällige variable in der Erwägung, dass y & x 60. Können Sie aktualisieren new_data haben 60 Zufallsvariablen und stellen Sie sicher, dass der Fehler nicht Auftritt?
Grüße,
Ganesh
InformationsquelleAutor Ganesh Bhat