2015-09-16 2 views
0

Я думаю, что это похоже на пост this post passing forecasting method to htsИспользуйте Croston модель R HTS пакет

пример, приведенный здесь для пакета MAPE. Можно ли использовать функцию croston в пакете прогнозов аналогичным образом?

Я просто попытался

all_ts <- aggts(bts) 
    allf <- matrix(NA, nrow = 3, ncol = ncol(all_ts)) 
    for(i in 1:ncol(all_ts)){ 
     allf[,i] <- croston(all_ts[,i],h = 3) 
    } 

Но это дает мне ошибку говоря количество элементов, чтобы заменить не кратна длине замены.

ответ

2

Посмотрите на информацию об объекте, возвращаемом croston. Это не простой вектор. Этот пример является примером, который работает.

library(hts) 
nodes <- list(2, c(3, 2)) 
abc <- ts(5 + matrix(sort(rnorm(500)), ncol = 5, nrow = 100)) 
bts <- hts(abc, nodes) 
all_ts <- aggts(bts) 
allf <- matrix(NA, nrow = 3, ncol = ncol(all_ts)) 
for(i in 1:ncol(all_ts)){ 
    allf[,i] <- croston(all_ts[,i],h = 3)$mean 
} 
y.f <- combinef(allf, bts$nodes) 
+0

Большое спасибо за подсказку ответ сэр. Я думаю, это то, что я хотел знать. Однако, когда я запускаю этот код, я получаю такое же прогнозируемое значение для всех трех периодов времени. Я все еще не мог определить, что пошло не так. –

+0

Вы хотели метод Кростона. Так оно и работает. –

Смежные вопросы