Я пытаюсь запустить байесовский структурный временной ряд для моих данных временных рядов. Но застрял с фреймом данных эта ошибка. Я активный ученик 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 для моих данных временных рядов.
Заранее спасибо за помощь.