1

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

4

1 回答 1

1

首先,每周季节性意味着一种模式可能每周都会重复。每日季节性意味着一种模式可能每天都在重复。为了让您的模型包含每日季节性,您需要比每日频率更高的时间序列。我假设对于“ 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/

希望这可以帮助。

于 2019-01-11T00:25:42.623 回答