statsmodels.tsa.ar_model.ar_select_order¶
-
statsmodels.tsa.ar_model.ar_select_order(endog, maxlag, ic=
'bic', glob=False, trend='c', seasonal=False, exog=None, hold_back=None, period=None, missing='none', old_names=False)[source]¶ 自回归 AR-X(p) 模型阶数选择。
- Parameters:¶
- endogarray_like
一个一维的内生响应变量。自变量。
- maxlag
int 要考虑的最大滞后值。
- ic{‘aic’, ‘hqic’, ‘bic’}
在选择中使用的信息准则。
- globbool
标志指示是否在所有滞后组合中使用全局搜索。实际上,当maxlag大于15(或可能20)时,此选项在计算上是不可行的,因为全局搜索需要拟合2**maxlag个模型。
- trend{‘n’, ‘c’, ‘t’, ‘ct’}
模型中包含的趋势:
‘n’ - 无趋势。
‘c’ - 仅常量。
‘t’ - 仅时间趋势。
‘ct’ - 常数和时间趋势。
- seasonalbool
指示是否在模型中包含季节性虚拟变量的标志。如果 seasonal 为 True 且 trend 包含 ‘c’,则从季节性项中排除第一个周期。
- exogarray_like,
optional 模型中要包含的外生变量。必须与内生变量具有相同的观测数量,并且应与内生变量对齐,使得内生变量[i] 回归到外生变量[i]。
- hold_back{
None,int} 初始观测值不包含在估计样本中。如果为None,则hold_back等于模型中的最大滞后值。设置为非零值以生成具有不同滞后长度的可比较模型。例如,要比较具有lags=3和lags=1的模型的拟合度,请设置hold_back=3,以确保两个模型都使用观测值3,…,nobs进行估计。hold_back必须大于或等于模型中的最大滞后值。
- period{
None,int} 数据的周期。仅在 seasonal 为 True 时使用。如果使用包含已识别频率的 pandas 对象作为 endog,则可以省略此参数。
- missing
str 可用的选项是‘none’、‘drop’和‘raise’。如果选择‘none’,则不进行nan检查。如果选择‘drop’,则会删除任何包含nan的观测值。如果选择‘raise’,则会引发错误。默认值是‘none’。
- old_namesbool
指示是否使用v0.11名称或v0.12+名称的标志。
自版本0.13.0起已弃用: old_names已被弃用,并将在0.14发布后被移除。您必须更新任何依赖于旧变量名的代码以使用新名称。
- Returns:¶
AROrderSelectionResults包含模型和所有拟合模型的完整信息准则的结果持有者。
示例
>>> from statsmodels.tsa.ar_model import ar_select_order >>> data = sm.datasets.sunspots.load_pandas().data['SUNACTIVITY']确定最佳滞后结构
>>> mod = ar_select_order(data, maxlag=13) >>> mod.ar_lags array([1, 2, 3, 4, 5, 6, 7, 8, 9])确定具有季节性项的最佳滞后结构
>>> mod = ar_select_order(data, maxlag=13, seasonal=True, period=12) >>> mod.ar_lags array([1, 2, 3, 4, 5, 6, 7, 8, 9])全局确定最优滞后结构
>>> mod = ar_select_order(data, maxlag=13, glob=True) >>> mod.ar_lags array([1, 2, 9])