簡體   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