将 Croston 模型与 R hts 包一起使用
Use Croston model with R hts package
我认为这与 post 与
相似
那里给出的示例是针对 MAPE 包的。 forecast包中的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)
}
但这给了我一个错误,说要替换的项目数不是替换长度的倍数。
查看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)
我认为这与 post 与
那里给出的示例是针对 MAPE 包的。 forecast包中的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)
}
但这给了我一个错误,说要替换的项目数不是替换长度的倍数。
查看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)