我想用卡尔曼滤波器预测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
答案 0 :(得分:1)
KalmanForecast
的帮助文件清楚地描述了所需的模型类型。 arfima
函数不会生成所需类型的输出。
您可以使用预测包中的KalmanForecast
函数来生成预测,而不是使用forecast
。它还使用卡尔曼滤波器来计算预测。
如果您真的想使用KalmanForecast
来完成工作,您必须自己弄清楚如何创建mod
参数。