【问题标题】:How to change the frequency in my auto arima function如何更改我的自动 arima 功能中的频率
【发布时间】: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 

如何更改此频率?数据太大,无法全部共享。谢谢!

【问题讨论】:

    标签: r time-series arima


    【解决方案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 一样大的季节性周期。
    猜你喜欢
    • 2021-05-22
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 2013-06-22
    • 1970-01-01
    • 2014-10-21
    相关资源
    最近更新 更多