【问题标题】:Negative values in timeseries when removing seasonal values with HoltWinters (R)使用 HoltWinters (R) 删除季节性值时时间序列中的负值
【发布时间】:2014-11-28 05:35:52
【问题描述】:

我是 R 新手,所以我在处理这个时间序列数据时遇到了问题

例如(实际数据要大得多)

data <- c(7,5,3,2,5,2,4,11,5,4,7,22,5,14,18,20,14,22,23,20,23,16,21,23,42,64,39,34,39,43,49,59,30,15,10,12,4,2,4,6,7)

ts <- ts(data,frequency = 12, start = c(2010,1))

所以如果我尝试分解数据来调整它

ts.decompose <- decompose(ts)

ts.adjust <- ts - ts.decompose$seasonal

ts.hw <- HoltWinters(ts.adjust)

ts.forecast <- forecast.HoltWinters(ts.hw, h = 10)

plot.forecast(ts.forecast)

但是对于第一个值,我得到了负值,为什么会发生这种情况?

【问题讨论】:

    标签: r time-series


    【解决方案1】:

    嗯,您正在预测季节性调整时间序列,当然,去季节性序列ts.adjust 本身已经可以包含负值,事实上,它确实存在。

    此外,即使原始序列仅包含正值,Holt-Winters 也会产生负预测。不受约束。

    我建议尝试直接使用 forecast 包中的 ets() 对您的原始(未经季节性调整的)时间序列进行建模。它通常在检测季节性方面做得很好。 (它也可以产生负预测或预测区间。)

    我非常推荐this free online forecasting textbook。鉴于您的具体问题,this may also be helpful.

    【讨论】:

    猜你喜欢
    • 2021-03-18
    • 1970-01-01
    • 2019-08-07
    • 2012-08-26
    • 2015-11-24
    • 2019-05-20
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    相关资源
    最近更新 更多