фрейм данных для подгонки "Фактическое против предсказанного" в пакете BSTS - PullRequest
2 голосов
/ 13 мая 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...