【问题标题】:Forecast package Prediction Horizon issue in RR中的预测包Prediction Horizo​​n问题
【发布时间】:2016-08-23 16:57:58
【问题描述】:

我是 R 新手。我试图使用 holt 方法进行预测,但遇到了这个奇怪的错误。我正在使用带有 R(版本 3.2.5)和 Rstudio(版本 0.99.896)的预测包 V-7.1。我将所有从 R 重新安装到 Rstudio,但没有工作。只有 h 从 1 到 10 有效。有什么想法吗??

  library(forecast)
  library(stats)
  library(base)
  x=data$cost
  k<-holt(x,damped=TRUE)
  m=forecast(k,h=20)

  Error in forecast.forecast(k, h = 20) : 
  Please select a longer horizon when the forecasts are first computed

其他测试用例:

 m=forecast(k,h=2000)
 Error in forecast.forecast(k, h = 2000) : 
 Please select a longer horizon when the forecasts are first computed

 m=forecast(k,h=10)
 m=forecast(k,h=11)
 Error in forecast.forecast(k, h = 11) : 
 Please select a longer horizon when the forecasts are first computed

 m=forecast(k,h=100)
 Error in forecast.forecast(k, h = 100) : 
 Please select a longer horizon when the forecasts are first computed

【问题讨论】:

    标签: r forecasting prediction


    【解决方案1】:

    您需要在对holt() 的调用中指定h 参数,而不是在对forecast() 的调用中。

    holt() 拟合模型计算预测。这与“典型”R 用法和其他与预测相关的函数(如 ets()arima() 等)形成对比。因此您甚至不需要在 holt() 的输出上调用 forecast()

    > print(holt(airmiles,h=15))
         Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
    1961       32772.01 31455.62 34088.39 30758.77 34785.24
    1962       34877.47 32594.37 37160.56 31385.77 38369.16
    1963       36982.93 33767.27 40198.59 32065.00 41900.85
    1964       39088.39 34912.84 43263.94 32702.44 45474.34
    1965       41193.85 36015.50 46372.21 33274.24 49113.47
    1966       43299.31 37070.39 49528.24 33773.00 52825.63
    1967       45404.78 38076.33 52733.23 34196.88 56612.67
    1968       47510.24 39033.57 55986.91 34546.29 60474.19
    1969       49615.70 39942.98 59288.42 34822.56 64408.84
    1970       51721.16 40805.71 62636.62 35027.41 68414.91
    1971       53826.62 41622.95 66030.30 35162.71 72490.53
    1972       55932.09 42395.93 69468.25 35230.32 76633.86
    1973       58037.55 43125.82 72949.27 35232.03 80843.06
    1974       60143.01 43813.77 76472.25 35169.60 85116.42
    1975       62248.47 44460.85 80036.09 35044.65 89452.29
    

    【讨论】:

    • 谢谢 :) 它可以工作,但你能向我解释一下 holt 和 aTSA 包的“Holt”有什么区别吗?我应该为我的数据使用哪一个具有相同的 MAPE 值。
    • 两者都实现Holt's exponential smoothing with a linear trend。实现的细节可能存在差异,但这些应该无关紧要。随心所欲。 (我会更愿意相信forecast::holt() tiny 一点,因为我认识它的作者 Rob Hyndman 并相信他的作品 - 我从未听说过 aTSA 软件包的作者,因此无法保证为他。)
    猜你喜欢
    • 2021-08-25
    • 2018-10-25
    • 2011-04-12
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 2012-10-23
    相关资源
    最近更新 更多