我正在尝试重用之前在R中生成的HoltWinters模型。我找到了一个相关的条目here,但它似乎不适用于HoltWinters。基本上我尝试过这样的事情:
myModel<-HoltWinters(ts(myData),gamma=FALSE)
predict(myModel,n.ahead=10)
#time to change the data
predict(myModel,n.ahead=10,newdata=myNewData)
当我尝试使用新数据进行预测时,我得到了相同的预测。
我很感激任何建议。
答案 0 :(得分:3)
您可以使用update
:
mdl <- HoltWinters(EuStockMarkets[,"FTSE"],gamma=FALSE)
predict(mdl,n.ahead=10)
Time Series:
Start = c(1998, 170)
End = c(1998, 179)
Frequency = 260
fit
[1,] 5451.093
[2,] 5447.186
[3,] 5443.279
[4,] 5439.373
[5,] 5435.466
[6,] 5431.559
[7,] 5427.652
[8,] 5423.745
[9,] 5419.838
[10,] 5415.932
predict(update(mdl,x=EuStockMarkets[,"CAC"]),n.ahead=10)]
Time Series:
Start = c(1998, 170)
End = c(1998, 179)
Frequency = 260
fit
[1,] 3995.127
[2,] 3995.253
[3,] 3995.380
[4,] 3995.506
[5,] 3995.633
[6,] 3995.759
[7,] 3995.886
[8,] 3996.013
[9,] 3996.139
[10,] 3996.266
答案 1 :(得分:3)
predict.HoltWinters
没有newdata
参数,这就是数据无法替换的原因。这是因为预测不需要任何数据 - 它完全由模型的coefficients
参数描述。
m <- HoltWinters(co2)
m$coefficients #These values describe the model completely;
#adding new data makes no difference