BSTS软件包中适合“实际与预测”的数据框

时间:2019-05-13 04:00:24

标签: r time-series bayesian

我正在尝试为我的时间序列数据运行贝叶斯结构时间序列。但是卡在数据框上会出现此错误。我是R的积极学习者,并且是时间序列建模的新手。请谁能帮助我修复以下错误?谢谢你。
我采用了(https://multithreaded.stitchfix.com/blog/2016/04/21/forget-arima/)中的代码
运行Arima模型,结果令人满意。但是我对贝叶斯结构时间序列模型的数据框架感到震惊。
注意:实际的“ AirPassengers”数据为12年。而我的是每月10年的时间序列数据。

BSTS模型

'

ss <- AddLocalLinearTrend(list(), y)
    ss <- AddSeasonal(ss, y, nseasons = 12)
    bsts.model <- bsts(y, state.specification = ss, niter = 500, ping=0,  seed=2018)

'

获取建议的老化次数

burn <- SuggestBurn(0.1, bsts.model)

预测

p <- predict.bsts(bsts.model, horizon = 24, burn = burn, quantiles = c(.025, .975))
p
plot(p)

但是我对数据框感到震惊。

d2 <- data.frame(
c(10^as.numeric(-colMeans(bsts.model$one.step.prediction.errors[-(1:burn),])+y),  
10^as.numeric(p$mean)), 
as.numeric(IPTS),
as.Date(time(IPTS)))

我收到一条错误消息:

Error in data.frame(c(10^as.numeric(-    colMeans(bsts.model$one.step.prediction.errors[-(1:burn),  : arguments imply   differing number of rows: 144, 120 

我想为我的时间序列数据绘制BSTS-Holdout MAPE。
感谢您的提前帮助。

0 个答案:

没有答案