模型不是从R中的ARFIMA生成的

时间:2016-08-10 14:09:28

标签: r forecasting prediction kalman-filter

我想用卡尔曼滤波器预测ARFIMA,并且无法将arfima模型拟合到Kalmanforecast中。

 library(base)
 library(stats)
 library(parallel)
 library(forecast)
 sink(file='/home/nero/KF_arfima.log')
 f=COST$COST
 x=logb(p,10)
 # Start the clock!
 ptm <- proc.time()
 p=arfima(x[1:50], drange=c(0, 0.5),estim=c("mle"))
 pr <- KalmanForecast(2, p$model)
 y=x[51:52] 
 yhat=pr$pred #predicted value
 map=mean(abs((y - yhat)/y)) #MAPE
 proc.time() - ptm
 print(map)

我收到错误

  

KalmanForecast中的错误(2,p $ model):无效的参数类型&#34;

我还检查并发现没有名为model的对象。我失去了三天解决它。我试过各种R包,但没有一个解决它。请让我知道如何解决它。

数据样本:

Timestamp,COST
2015-09-21T00:00:00+00:00,6
2015-09-21T00:06:00+00:00,7
2015-09-21T00:12:00+00:00,7
2015-09-21T00:18:00+00:00,7
2015-09-21T00:24:00+00:00,7
2015-09-21T00:30:00+00:00,7
2015-09-21T00:36:00+00:00,7
2015-09-21T00:42:00+00:00,6
2015-09-21T00:48:00+00:00,7
2015-09-21T00:54:00+00:00,6
2015-09-21T01:00:00+00:00,6
2015-09-21T01:06:00+00:00,7
2015-09-21T01:12:00+00:00,7
2015-09-21T01:18:00+00:00,7
2015-09-21T01:24:00+00:00,7
2015-09-21T01:30:00+00:00,7
2015-09-21T01:36:00+00:00,7
2015-09-21T01:42:00+00:00,6
2015-09-21T01:48:00+00:00,7
2015-09-21T01:54:00+00:00,6
2015-09-21T02:00:00+00:00,6
2015-09-21T02:06:00+00:00,8
2015-09-21T02:12:00+00:00,8
2015-09-21T02:18:00+00:00,7
2015-09-21T02:24:00+00:00,8
2015-09-21T02:30:00+00:00,7
2015-09-21T02:36:00+00:00,7
2015-09-21T02:42:00+00:00,7
2015-09-21T02:48:00+00:00,8
2015-09-21T02:54:00+00:00,7
2015-09-21T03:00:00+00:00,6
2015-09-21T03:06:00+00:00,7
2015-09-21T03:12:00+00:00,7
2015-09-21T03:18:00+00:00,7
2015-09-21T03:24:00+00:00,7
2015-09-21T03:30:00+00:00,7
2015-09-21T03:36:00+00:00,7
2015-09-21T03:42:00+00:00,7
2015-09-21T03:48:00+00:00,6
2015-09-21T03:54:00+00:00,6
2015-09-21T04:00:00+00:00,6
2015-09-21T04:06:00+00:00,7
2015-09-21T04:12:00+00:00,7
2015-09-21T04:18:00+00:00,7
2015-09-21T04:24:00+00:00,7
2015-09-21T04:30:00+00:00,6
2015-09-21T04:36:00+00:00,6
2015-09-21T04:42:00+00:00,6
2015-09-21T04:48:00+00:00,6
2015-09-21T04:54:00+00:00,7
2015-09-21T05:00:00+00:00,6
2015-09-21T05:06:00+00:00,7
2015-09-21T05:12:00+00:00,7

1 个答案:

答案 0 :(得分:1)

KalmanForecast的帮助文件清楚地描述了所需的模型类型。 arfima函数不会生成所需类型的输出。

您可以使用预测包中的KalmanForecast函数来生成预测,而不是使用forecast。它还使用卡尔曼滤波器来计算预测。

如果您真的想使用KalmanForecast来完成工作,您必须自己弄清楚如何创建mod参数。