如何知道最好的 FASSTER 公式

How to know the best FASSTER formula

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

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

提前致谢!

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 作为外生回归变量。由于这种关系可能是非线性的,您可能还需要包括该变量的一些非线性转换作为外生回归变量。