我的数据结构在下面的图像中,并且每小时间隔。我需要预测需求。
# A tsibble: 23,400 x 6 [1h] <UTC>
Date Demand WeekDay DaysAfterHoliday Influenza MAX_Temperature
<dttm> <int> <int> <int> <dbl> <dbl>
1 2017-05-01 00:00:00 122 1 0 1 19.2
2 2017-05-02 01:00:00 124 2 1 3.04 25.3
...
我知道假期后的第二天,急诊科的患者人数比平时多,但我不能确定该模型是否考虑了这一点。该数据具有每日,每周和每年的季节性(尤其是固定假日)。
对于多个季节,我可以使用FASSTER
处理假日影响。我阅读了有关此文档和某些演示文稿的r文档页面,但是在这种情况下,季节性和预测公式将赋予以下函数:
# NOT RUN {
cbind(mdeaths, fdeaths) %>%
as_tsibble %>%
model(FASSTER(mdeaths ~ fdeaths + poly(1) + trig(12)))
# }
有没有一种方法可以使FASSTER
搜索最合适的公式?如果没有,我怎么知道哪种方法最好?
谢谢你!
fasster软件包当前不提供任何自动选择模型(https://github.com/tidyverts/fasster/issues/50)的功能。
要确定合适的Fasster模型规范,您可以首先以图形方式浏览数据以识别其结构。您可能会考虑的一些问题包括:
fourier(period, K)
或season(period)
用傅立叶项包含季节性。通常,最好使用fourier()
项,因为可以指定谐波数(K
)来控制季节性的平滑度并减少模型参数。poly(1)
的水平或一个带有poly(2)
的趋势。lm()
中相同的方式包括外生回归变量。%S%
在这些样式之间切换。例如,对于工作日和周末有不同的季节性模式,您可以考虑day_type %S% (fourier("day", K = 7))
,其中day_type
是模型中的变量,用于指定一天是工作日还是周末。一种在假期后捕获患者增加的简单方法是将DaysAfterHoliday
包括为外源性回归因子。由于这种关系可能是非线性的,因此您可能还需要将此变量的某些非线性转换作为外生回归变量。