【发布时间】:2019-05-04 00:36:41
【问题描述】:
我正在尝试使用随机森林进行时间序列投影。根据下面的代码,我用 141 个观测值对一系列数据的最后 12 个观测值进行了预测。
premium<-read.table('https://raw.githubusercontent.com/arthurlula/Econometrics/master/premio.txt')
pr<-premium[,1]
pr<-pr[-c(1:48)] #my data
train<-ts(pr[-c(130:141)],start=2007,frequency = 12) #my first 129 obs
test<-ts(pr[130:141],start=c(2017,10),frequency = 12) #my last 12 obs
regressor = randomForest(formula=train~.,
data=train,
ntree=100) #model
y_pred = predict(regressor,newdata = test) #predict last 12 obs
grab<-melt(c(train,y_pred))
plot(grab[,1],type='l') #plot predicted
lines(as.numeric(pr),col='red') #plot original
比较原始序列和预测序列的图表是这样的: forecast
它显示了非常好的准确性,这让人怀疑我做错了什么。如果不放置测试向量,就没有办法投影最后 12 个观察值吗?您将如何预测尚未发生的几个月?
【问题讨论】:
标签: r time-series random-forest prediction