在线文档表明引擎盖下的算法与估计 (s)Arima 模型相同。在一些测试中,使用 Kaggle 数据集,我有不同的模型:ARIMA 函数显示了一个 sArima,auto.arima 只有 Arima 模型。
auto.arima(tsbble_item1_store1$sales)
给予
Best model: ARIMA(5,1,2)
和
tsbble_item1_store1 %>%
model(arima = ARIMA(sales))
给予
# A mable: 1 x 2
# Key: store [1]
store arima
<dbl> <model>
1 1 <ARIMA(1,1,3)(0,0,2)[7]>
我有非常不同的模型。顺便说一下,Arima 的寓言函数向我展示了一个更好的模型,因为它控制季节性,而 auto.arima 函数则没有,而且数据显示出明显的季节性。
有人知道当这两个函数尝试估计模型时默认参数的主要区别吗,因为我没有从文档中理解?
如有错误请见谅
提前致谢
祝你今天愉快
MC
最佳答案
forecast::auto.arima()
需要一个 ts
对象。这是一个具有一些时间序列属性的向量,包括季节性频率。当您只是传递一个数字向量时,就像您在此处所做的那样,它假定季节性频率为 1(对于年度数据)并且不适合季节性 ARIMA 模型。
另一方面,tsibble
对象包含一个时间索引(在本例中它看起来像是一个日期变量)并且 ARIMA()
将使用该索引以确定存在哪种类型的季节性(如果有)。对于日期变量,它将选择季节性频率 7 以对应一周中的季节性时间。
要使用 forecast::auto.arima()
获得相同的结果,请使用
auto.arima(ts(tsbble_item1_store1$sales, frequency=7))
关于R 库 forecast::auto.arima vs fable:ARIMA 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70333319/