1

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

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

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

hw()我想使用这个 msts 对象使用包中的函数来预测第二天 (2016-01-01) 的每小时电价forecast,并将点预测存储在包含 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为 max 24。当我处理每小时数据时,这远低于我的数据频率。

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

我感谢您的帮助!

4

1 回答 1

1

在看了更多之后,我遇到了这个问题,用户想使用该方法使用包中可用hw的数据集来预测半小时的电力需求。taylorforecast

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

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

于 2020-06-17T13:47:02.593 回答