statsmodels.tsa.ar_model.AutoReg

class statsmodels.tsa.ar_model.AutoReg(endog, lags, trend='c', seasonal=False, exog=None, hold_back=None, period=None, missing='none', *, deterministic=None, old_names=False)[source]

自回归 AR-X(p) 模型

使用条件最大似然法(OLS)估计AR-X模型。

Parameters:
endogarray_like

一个一维的内生响应变量。因变量。

lags{None, int, list[int]}

如果是一个整数,表示模型中包含的滞后阶数;如果是滞后阶数的列表,则表示包含的滞后阶数索引。例如,[1, 4] 将仅包含滞后阶数 1 和 4,而 lags=4 将包含滞后阶数 1、2、3 和 4。None 表示排除所有 AR 滞后阶数,其行为与 0 相同。

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,则可以省略此参数。

missingstr

可用的选项是‘none’、‘drop’和‘raise’。如果选择‘none’,则不进行nan检查。如果选择‘drop’,则会删除任何包含nan的观测值。如果选择‘raise’,则会引发错误。默认值是‘none’。

deterministicDeterministicProcess

一个确定性过程。如果提供,趋势和季节性将被忽略。如果趋势不是“n”或季节性不是False,则会发出警告。

old_namesbool

指示是否使用v0.11名称或v0.12+名称的标志。

自版本0.13.0起已弃用: old_names已被弃用,并将在0.14发布后被移除。您必须更新任何依赖于旧变量名的代码以使用新名称。

Attributes:
ar_lags

模型中包含的自回归滞后项

deterministic

用于构建模型的确定性方法

df_model

模型的自由度。

endog_names

内生变量的名称。

exog_names

模型中包含的外生变量名称

hold_back

初始观测值的数量。

period

季节性成分的周期。

seasonal

指示模型包含季节性成分的标志。

trend

模型中使用的趋势。

另请参阅

statsmodels.tsa.statespace.sarimax.SARIMAX

使用精确似然和卡尔曼滤波估计SARIMAX模型。

注释

请参阅笔记本 Autoregressions 以获取概述。

示例

>>> import statsmodels.api as sm
>>> from statsmodels.tsa.ar_model import AutoReg
>>> data = sm.datasets.sunspots.load_pandas().data['SUNACTIVITY']
>>> out = 'AIC: {0:0.3f}, HQIC: {1:0.3f}, BIC: {2:0.3f}'

首先拟合一个不受限制的季节性AR模型

>>> res = AutoReg(data, lags = [1, 11, 12]).fit()
>>> print(out.format(res.aic, res.hqic, res.bic))
AIC: 5.945, HQIC: 5.970, BIC: 6.007

使用季节性虚拟变量的替代方法

>>> res = AutoReg(data, lags=1, seasonal=True, period=11).fit()
>>> print(out.format(res.aic, res.hqic, res.bic))
AIC: 6.017, HQIC: 6.080, BIC: 6.175

最后,季节性AR结构和虚拟变量都可以被包含

>>> res = AutoReg(data, lags=[1, 11, 12], seasonal=True, period=11).fit()
>>> print(out.format(res.aic, res.hqic, res.bic))
AIC: 5.884, HQIC: 5.959, BIC: 6.071

方法

fit([cov_type, cov_kwds, use_t])

估计模型参数。

from_formula(formula, data[, subset, drop_cols])

从公式和数据框创建模型。

hessian(params)

模型的海森矩阵。

information(params)

模型的费舍尔信息矩阵。

initialize()

初始化模型(无操作)。

loglike(params)

模型的对数似然值。

predict(params[, start, end, dynamic, exog, ...])

样本内预测和样本外预测。

score(params)

模型的得分向量。

属性

ar_lags

模型中包含的自回归滞后项

deterministic

用于构建模型的确定性方法

df_model

模型的自由度。

endog_names

内生变量的名称。

exog_names

模型中包含的外生变量名称

hold_back

初始观测值的数量。

period

季节性成分的周期。

seasonal

指示模型包含季节性成分的标志。

trend

模型中使用的趋势。


Last update: Oct 16, 2024