如何更改我的自动 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 功能中的频率的主要内容,如果未能解决你的问题,请参考以下文章

怎么锁定CPU频率

如何使用c#更改波形文件中的频率(音高)和幅度

GCM 服务器在哪个时间频率刷新注册 ID 以及如何在我的手机中获取 regId 更改事件?

如何在python中更改日期时间数据的x轴刻度标签的频率

如何在 Prometheus 查询中设置返回样本频率?

LINUX如何改屏幕刷新频率