2

我的数据结构如下图所示,每小时间隔。我需要预测需求。

# 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搜索成为最合适的公式?如果不是,我怎么知道哪个是最好的方法?

先感谢您!

4

1 回答 1

2

faster 包目前不提供任何自动模型选择的功能(https://github.com/tidyverts/fasster/issues/50)。

要确定合适的更快模型规范,您可以首先以图形方式探索数据以识别其结构。您可能会考虑的一些问题包括:

  • 你的数据是季节性的吗?需要哪些季节性时段?通过或
    包括具有傅立叶项的季节性。通常使用术语更好,因为能够指定谐波数 ( ) 允许您控制季节性的平滑度并减少模型参数。fourier(period, K)season(period)fourier()K
  • 您的数据是否包含水平或局部趋势?
    包括一个水平poly(1)或一个趋势poly(2)
  • 是否存在潜在的外生回归因素(一个很好的例子是电力需求的温度)。
    以与lm().
  • 数据中的模式是否以可预测的方式交替(例如,工作日和周末的季节性)。
    用于%S%在这些模式之间切换。例如,要为工作日和周末设置不同的季节性模式,您可以考虑day_type %S% (fourier("day", K = 7)),其中day_type是模型中的一个变量,用于指定当天是工作日还是周末。

捕捉假期后患者增加的一个简单方法是将其DaysAfterHoliday作为外生回归变量。由于这种关系可能是非线性的,因此您可能还需要将此变量的一些非线性变换作为外生回归量。

于 2020-03-11T22:16:14.090 回答