我有过去两年的每日需求数据。数据有每周季节和嵌套的每日季节。我使用frequency=365的ts函数将数据转换成时间序列。现在使用HoltWinters方法时,他每天都把自己的季节解释成一个季节,结果就不太好了。我怎么能告诉他只包括59个季节(52周和7天)?
发布于 2019-01-11 00:25:42
首先,每周的季节性意味着一个模式可能每周重复。日复一日的季节性意味着一种模式可能每天重复。为了让您的模型包含每日季节性,您需要一个比每日更高的频率时间序列。我假设,在“52周和7天的季节”中,你的意思是你想为你的年度季节性指定52个季节性因素,为你的每周季节性指定7个季节性因素(逻辑上的)。
频率指定每个周期(季节)的观察次数。根据每日数据,每周一次的季节性是由:
ts(x, frequency = 7)你可能想限制自己的使用。(https://robjhyndman.com/hyndsight/dailydata/)
您可以使用msts (多季节时间序列)对象来指定周和年度季节性,而不是ts对象,如下所示。
msts(x, seasonal.periods = c(7, 365.25))或者省略闰日观测,只需使用365。你可以用蝙蝠或蝙蝠:
y <- msts(x, seasonal.periods=c(7,365.25))
fit <- tbats(y)
fc <- forecast(fit)
plot(fc)你应该看看https://robjhyndman.com/hyndsight/dailydata/
希望这能有所帮助。
https://stackoverflow.com/questions/48709037
复制相似问题