【发布时间】:2025-11-27 18:50:01
【问题描述】:
我想知道 ARIMA 模型的顺序 (p,d,q),所以我必须使用 pmdarima python 包。但它推荐我 SARIMAX 模型!继续阅读以了解更多详情。
为此,我使用了Daily Total Female Births 数据。这是一个平稳的时间序列。
# 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 Autoregressive Independent Moving Average)但我不想考虑季节性成分,所以我设置了 @ 987654332@!好像pmdarima没注意seasonal=False!
谁能帮我找出问题所在?
对于错误结果:SARIMAX结果来自pmdarima版本1.8.3
真实结果:ARIMA结果来自pmdarima版本1.1.0
【问题讨论】:
-
看起来这在版本 v1.5.1 中有所改变。 pmdarima 现在总是使用 SARIMAX。
-
@NickODell 你确定吗?所以你的意思是这不是问题? 其他详细信息: 在
pmdarima版本1.8.3中,以及在本示例中;当我运行auto_arima(...).seasonal_order时,它给了我(0,0,0,0),我猜这可以解释为忽略季节性成分。您对此有何看法? -
我同意 - 这是seasonal_order 组件的默认值,并且根据文档,默认的季节性顺序无效:
Default is no seasonal effect.github.com/statsmodels/statsmodels/blob/… -
@NickODell 谢谢!我看到了你提到的参考资料。所以那里没有问题。谢谢您的帮助!如果你回答这个问题会很棒,然后我会验证它。
标签: python pandas arima pmdarima