2016-08-08 26 views
1

Ich versuche, die zukünftige Rendite mithilfe des caret-Pakets vorherzusagen.Zeitreihenvorhersage im R-Caret-Paket

Ich weiß, wie man mein Modell durch Time-series cross validation validieren kann, aber ich weiß nicht, wie man den spätesten Vorhersagewert erhält. Wie Sie in diesem Bild sehen können,

enter image description here

letzter Wert immer als „Horizont“ verwendet Ich mag diesen Wert als Trainingsdaten verwenden und die letzte Vorhersage zu bekommen, obwohl ich es nicht bestätigen kann nicht mehr. Sollte ich die Vorhersagefunktion verwenden? oder Gibt es andere gute Wege?

Hier sind meine Codes für das Erstellen von Modell- und Zeitreihenvalidierung.

timecontrol <- trainControl(method = 'timeslice', initialWindow = window_length, horizon =4, selectionFunction = "best", 
         returnResamp = 'final', fixedWindow = TRUE, savePredictions = 'final') 


cur_val_m <- train(test_sample[,-1], test_sample[,1], method = "knn", 
         trControl = timecontrol, tuneGrid = "knnGrid") 
+0

http://stackoverflow.com/help/mcve –

+0

Haben Sie das Problem gelöst? – Daniel

Antwort

1

Sie müssen einen Teil Ihres Codes oder Ihrer Daten eingeben. Aber im Allgemeinen, wenn wir einen Schritt zur Vorhersage brauchen voraus können wir verwenden:

prediction<-predict(model,yourdata[nrow(yourdata)+ 1,]) 
+0

Ich habe Ihre Codes ausgeführt, aber es funktioniert nicht. Er sagt "Variablen in den Trainingsdaten fehlen in neuen Daten". Ich bearbeitete und addiere die meine Codes mit Caret-Paket. Könnten Sie diese Frage noch einmal überprüfen? ..! –

+0

ich meine, ich möchte h-schritt-prognose tun, ohne unabhängige variable hinzuzufügen. –