使用新数据重用HoltWinters模型

时间:2011-07-04 10:58:45

标签: r

我正在尝试重用之前在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)

当我尝试使用新数据进行预测时,我得到了相同的预测。

我很感激任何建议。

2 个答案:

答案 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