首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于HoltWinters预测的批量预测

基于HoltWinters预测的批量预测
EN

Stack Overflow用户
提问于 2015-10-27 20:45:52
回答 3查看 678关注 0票数 0

我使用Rob的批处理预测方法对dataframe中的多列进行预测。我的代码如下:

代码语言:javascript
复制
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预测呢?

EN

回答 3

Stack Overflow用户

发布于 2015-10-27 21:15:12

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

代码语言:javascript
复制
fcast <- list()

for(i in 1:ns) {

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

Stack Overflow用户

发布于 2017-06-20 14:51:15

对于Holts冬季预测方法,我甚至使用了类似的批处理,但是我使用了Rob J Hyndman教授创建的预测包中的函数hw。无论如何,对于您的问题,我更喜欢使用$mean进行预测。i.e

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

试一次!

票数 0
EN

Stack Overflow用户

发布于 2018-07-07 11:54:21

无论如何,hw()函数会给出预测值。要获得点预测,您可以使用$mean (如下面的代码所用)。您还可以使用seasonal = "additive"seasonal = "multiplicative"参数。

祝好运

最好的

代码语言:javascript
复制
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))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33378141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档