R 中的 HoltWinters 嵌套季节

HoltWinters Nested Seasons in R

我有过去 2 年每日需求的数据集。数据有每周季节和嵌套的每日季节。我使用频率为 365 的 ts 函数将数据转换为时间序列。现在使用 HoltWinters 方法时,他将每一天都解释为一个自己的季节,从而导致非稳健的结果。我怎么能告诉他只包含 59 个季节(每周 52 个季节和每天 7 个季节)?

首先,每周季节性意味着一种模式可能每周都会重复出现。每日季节性意味着一种模式可能每天都在重复。为了让您的模型包含每日季节性,您需要比每日更高频率的时间序列。我假设使用 '52 个每周季节和 7 个每日季节' 你的意思是你想为你的年度季节性指定 52 个季节性因素,为你的每周季节性指定 7 个季节性因素(逻辑上)。

频率指定每个周期(季节)的观察次数。 对于每日数据,通过以下方式引入每周季节性:

ts(x, frequency = 7)

您可能想限制自己只使用那个。 (https://robjhyndman.com/hyndsight/dailydata/)

您可以使用如下所示的 msts(多季节时间序列)对象来指定每周和每年的季节性,而不是 ts 对象。

msts(x, seasonal.periods = c(7, 365.25))

或者省略闰日观测,只使用 365。 您可以使用 bats 或 tbats:

y <- msts(x, seasonal.periods=c(7,365.25))
fit <- tbats(y)
fc <- forecast(fit)
plot(fc)

你应该看看https://robjhyndman.com/hyndsight/dailydata/

希望对您有所帮助。