【问题标题】:How can I apply Seasonal Exponential Smoothing forecasting method to hourly data in R如何将季节性指数平滑预测方法应用于 R 中的每小时数据
【发布时间】:2020-10-07 00:48:29
【问题描述】:

我正在尝试使用指数平滑法预测 2016 年的次日每小时电价。我使用的数据集包含 2014-01-01 00:00 到 2016-12-31 23:00 期间的每小时价格数据。我的目标是在Beigaitė & Krilavičius (2018) 中重现结果

由于电价数据表现出多个季节性(每日、每周和每年),我定义了一个 msts 对象,用于 2014-01-01 到 2015-12-31 期间

msts.elspot.prices.2014_2015 <- msts(df.elspot.prices.2014_2015$Price, seasonal.periods = c(24, 168, 8760), ts.frequency = 8760, start = 2014)

我想使用这个 msts 对象使用 forecast 包中的 hw() 函数预测第二天 (2016-01-01) 每小时的电价,并将点预测存储在包含实际每小时的数据框中2016年电价。

df.elspot.prices.2016$pred.hw <- hw(msts.elspot.prices.2014_2015, h = 24)$mean

但是,我无法使用hw() 函数,因为我收到以下错误消息:

Error in ets(x, "AAA", alpha = alpha, beta = beta, gamma = gamma, phi = phi,  : `
Frequency too high

网上查了一下,貌似ets()函数只能接受参数frequency最大24。当我处理每小时数据时,这远低于我的数据频率。

有没有一种方法可以使用hw() 函数实现我想要的结果?是否有任何其他软件包/功能可以帮助我实现我想要的结果?

感谢您的帮助!

【问题讨论】:

    标签: r time-series forecasting forecast holtwinters


    【解决方案1】:

    在查看了更多信息后,我遇到了this question,其中一个用户想要使用hw 方法来预测半小时的电力需求,使用taylor 数据集在forecast 包中提供。

    正如 Rob Hyndman 教授在回答链接问题时所建议的那样,forecast 包中的双季节 Holt Winters 模型方法dshw 可用于处理半小时数据。

    在我的 msts 对象的定义中删除年度季节性参数 (seasonal.periods = 8760) 后,我运行了模型,它提供了非常准确的结果。

    【讨论】:

      猜你喜欢
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多