繁体   English   中英

使用HoltWinters预测进行批量预测

[英]Batch forecasting using HoltWinters forecast

我正在使用Rob Hyndman的批量预测方法来预测dataframe多列。 我的代码如下:

require(forecast)

zips <- read.csv(file.choose(), header = T)
zips <- zips[,-c(1,2)]
ns <- ncol(zips)

zips <- ts(zips, frequency = 12, start = c(2005,1), end = c(2014,12))
zips <- HoltWinters(zips, seasonal = "mult")

h <- 24

fcast <- matrix(NA, nrow=h, ncol=ns)
for(i in 1:ns) {
    fcast[,i] <- forecast.HoltWinters(zips[,i], h=h)
}

write(t(fcast), file="fcast.csv", sep=",",ncol=ncol(fcast))

尽管使用常规forecast功能时效果很好,但我不断收到错误消息

[zips [,i]中存在错误:尺寸不正确]

如何使用在此构建的此循环来运行HoltWinters预测?

尝试将预测存储为列表而不是矩阵。 而且, forecast.HoltWinters函数需要HoltWinters类的对象,该对象由HoltWinters函数产生, HoltWinters函数需要向量作为输入。 除了点预测外,默认情况下, forecast.HoltWinters函数还会生成预测间隔范围。

fcast <- list()

for(i in 1:ns) {

  zips_fit <- HoltWinters(zips[, i], seasonal = "mult")
  fcast[[i]] <- forecast.HoltWinters(zips_fit, h = h)
}

甚至我也对Holts Winter预测方法使用了类似的批处理,但是我使用了Rob J Hyndman教授创建的预测包中的函数hw。 无论如何,我想在预测中使用$mean

fcast <- matrix(NA, nrow=h, ncol=ns) 
for(i in 1:ns) {
    fcast[,i] <- forecast.HoltWinters(zips[,i], h=h)`$mean`
}

尝试一次!

hw()函数hw()会提供预测值。 要获得积分预测,您可以使用$mean (在以下代码中使用)。 您还可以使用seasonal = "additive"seasonal = "multiplicative"参数。

祝好运

最好

require(forecast)

    zips <- read.csv(file.choose(), header = T)

    zips <- ts(zips, frequency = 12, start = c(2005,1), end = c(2014,12))

    ns <- ncol(zips)
    h <- 24

    fcast <- matrix(NA, nrow=h, ncol=ns)
    for(i in 1:ns) {fcast[,i] <- hw(zips[,i],h=h)$mean

    }

    write(t(fcast), file="fcast.csv", sep=",",ncol=ncol(fcast))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM