如何更改我的自动 arima 功能中的频率
Posted
技术标签:
【中文标题】如何更改我的自动 arima 功能中的频率【英文标题】:How to change the frequency in my auto arima function 【发布时间】:2021-10-25 01:37:03 【问题描述】:我有一个时间序列(tsibble 对象),我需要应用 auto.arima
函数来查找我的模型。该对象在 7 年内以每日频率出现
# A tsibble: 2,557 x 2 [1D]
bcUI Date
<dbl> <date>
1 13.6 2012-01-01
2 36.0 2012-01-02
3 33.7 2012-01-03
4 200. 2012-01-04
5 150. 2012-01-05
6 230. 2012-01-06
7 79.7 2012-01-07
8 65.7 2012-01-08
9 25.5 2012-01-09
10 35.7 2012-01-10
# ... with 2,547 more rows
当我应用函数时
autoarima1<-auto.arima(bctsibble,trace = TRUE,approximation = FALSE,seasonal = TRUE)
结果的频率为 7:
Best model: ARIMA(1,0,0)(2,0,0)[7] with non-zero mean
如何更改此频率?数据太大,无法全部共享。谢谢!
【问题讨论】:
【参考方案1】:首先,您有一个tsibble
对象,因此您应该使用 fable 包进行自动 ARIMA 建模。预测包中的auto.arima()
函数是为ts
对象设计的。以下是使用 fable 拟合模型的方法:
library(tsibble)
library(fable)
# Simulated data with same structure
df <- tsibble(
bcUI = rnorm(2557, 120, 50),
Date = seq(as.Date("2012-01-01"), by="1 day", length = 2557),
index= Date)
# Equivalent to auto.arima for a tsibble
fit <- df %>% model(ARIMA(bcUI))
第二,你想把句号改成什么,为什么?您有每日数据,因此它可能具有每周模式(周期 7)和年度模式(周期 365)。每日数据的其他季节性时段极为罕见。 ARIMA()
函数会自动检查是否存在显着的第 7 期季节性。它不会寻找周期 365 的季节性,因为这样较长的周期最好以季节性 ARIMA 模型以外的方式处理。
请参阅 https://otexts.com/fpp3/complexseasonality.html#complexseasonality,了解有关在 ARIMA 模型中处理年度和每周季节性周期的讨论。
【讨论】:
您好!感谢您的答复!我理解,但我想将其作为年度季节性而不是每周一次来处理。如果我包括季节性条款,应用季节性 ARIMA 模型,我能得到一个好的结果吗? 阅读我提供的链接。 ARIMA 模型无法处理像 365 一样大的季节性周期。以上是关于如何更改我的自动 arima 功能中的频率的主要内容,如果未能解决你的问题,请参考以下文章