2

我想知道 ARIMA 模型的订单 (p,d,q),所以我必须使用pmdarimapython 包。但它推荐我SARIMAX模型!继续阅读以获取更多详细信息。为此,
我使用了每日女性出生总数数据。这是一个平稳的时间序列。

# importing packages
import pandas as pd
from pmdarima import auto_arima
import warnings
warnings.filterwarnings('ignore')

# read csv file
df = pd.read_csv('/Data/DailyTotalFemaleBirths.csv' , index_col=0 , parse_dates=True)

# set daily frequency for datetime indexes
df.index.freq = 'D'

# now using auto_arima i try to find (p,d,q) orders for ARIMA model.
# so i set seasonal=False because i don't want orders for SARIMA! my
# goal is to find orders for ARIMA model not SARIMA
auto_arima(df['Births'] , start_P= 0 , start_q=0 , max_p=6 , 
            max_q=3 , d=None , error_action='ignore' , suppress_warnings=True ,
            m=12 , seasonal=False , stepwise=True).summary()

然后它给了我这个:
在此处输入图像描述

问题是虽然我设置seasonal=False了但它给了我 SARIMAX (代表季节性自回归独立移动平均线)但我不想考虑季节性分量,所以我设置了seasonal=False!好像pmdarima没注意seasonal=False

有人可以帮我找出问题所在吗?


预期结果:
在此处输入图像描述

对于False 结果: SARIMAX结果来自pmdarima版本True 结果:ARIMA 结果来自版本1.8.3
pmdarima1.1.0

4

1 回答 1

2

它并没有真正使用季节性模型。这只是一个令人困惑的消息。

在 pmdarima 库中,在 v1.5.1 版本,他们将使用的统计模型从 ARIMA 更改为更灵活且错误更少的模型 SARIMAX。(它代表季节性自回归综合移动平均线外生。)

尽管有这个名称,但您可以通过将季节性条款设置为零来以非季节性方式使用它。

您可以使用以下代码仔细检查模型是否是季节性的:

model = auto_arima(...)
print(model.seasonal_order)

如果显示为(0, 0, 0, 0),则不会进行季节性调整。

于 2021-10-11T16:54:22.620 回答