2016-08-08 12 views
1

caret 패키지를 사용하여 향후 수익을 예측하려고합니다.R 캐럿 패키지의 시계열 예측

Time-series cross validation 을 통해 내 모델의 유효성을 검증하는 방법을 알고 있지만 최신 예측 값을 얻는 방법을 모르겠습니다. 이 그림에서 볼 수 있듯이,

enter image description here

마지막 값은 항상 "지평선" 로 사용 나는 훈련 데이터로이 값을 사용하고 난 그것을 확인할 수 없습니다 비록 마지막 예측을 얻으려면 더 이상. 예측 기능을 사용해야합니까? 또는 다른 좋은 방법이 있습니까?

다음은 모델 및 시계열 검증을위한 코드입니다.

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

이 문제를 해결 한 : 우리가 한 단계를 예측해야하는 경우 그러나, 일반적으로, 앞서 우리는 이것을 사용할 수 있습니까? – Daniel

답변

1

코드 또는 데이터의 일부를 입력해야합니다.

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

코드를 실행했지만 작동하지 않습니다. "newdata에서 누락 된 교육 데이터의 변수"라고 말합니다. 캐럿 패키지를 사용하여 코드를 편집하고 추가했습니다. 이 질문을 다시 검토 할 수 있겠습니까? ...! –

+0

독립 변수를 추가하지 않고 h-step 예측을하고 싶습니다. –