statsmodels.tsa.ardl.UECM

class statsmodels.tsa.ardl.UECM(endog, lags, exog=None, order=0, trend='c', *, fixed=None, causal=False, seasonal=False, deterministic=None, hold_back=None, period=None, missing='none')[source]

无约束误差相关模型(UECM)

Parameters:
endogarray_like

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

lags{int, list[int]}

模型中要包含的内生变量的滞后阶数。必须至少为1。

exogarray_like

模型中要包含的外生变量。可以是DataFrame或可以转换为NumPy数组的二维类数组结构。

order{int, sequence[int], dict}

如果是整数,则对所有外生变量使用滞后0, 1, …, order。如果是字典,则按序列应用滞后。如果exog不是DataFrame,则键是exog的列索引(例如,0, 1, …)。如果是DataFrame,则键是列名。

fixedarray_like

额外的固定回归变量,这些变量不是滞后的。

causalbool, optional

是否包含外生变量的滞后0项。如果为True,则仅包含滞后1, 2, …

trend{‘n’, ‘c’, ‘t’, ‘ct’}, optional

模型中包含的趋势:

  • ‘n’ - 无趋势。

  • ‘c’ - 仅常量。

  • ‘t’ - 仅时间趋势。

  • ‘ct’ - 常数和时间趋势。

默认值为‘c’。

seasonalbool, optional

指示是否在模型中包含季节性虚拟变量的标志。如果 seasonal 为 True 且 trend 包含 ‘c’,则从季节性项中排除第一个周期。

deterministicDeterministicProcess, optional

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

hold_back{None, int}, optional

初始观测值不包含在估计样本中。如果为None,则hold_back等于模型中的最大滞后值。设置为非零值以生成具有不同滞后长度的可比较模型。例如,要比较具有lags=3和lags=1的模型的拟合度,请设置hold_back=3,以确保两个模型都使用观测值3,…,nobs进行估计。hold_back必须大于或等于模型中的最大滞后值。

period{None, int}, optional

数据的周期。仅在 seasonal 为 True 时使用。如果使用包含已识别频率的 pandas 对象作为 endog,则可以省略此参数。

missing{“none”, “drop”, “raise”}, optional

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

Attributes:
ar_lags

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

ardl_order

ARDL(p,q)的顺序

causal

指示ARDL具有因果关系的标志

deterministic

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

df_model

模型的自由度。

dl_lags

模型中包含的外生变量的滞后

endog_names

内生变量的名称。

exog_names

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

fixed

用于构建模型的固定数据

hold_back

初始观测值的数量。

period

季节性成分的周期。

seasonal

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

trend

模型中使用的趋势。

另请参阅

statsmodels.tsa.ardl.ARDL

自回归分布滞后模型估计

statsmodels.tsa.ar_model.AutoReg

具有可选外生回归变量的自回归模型估计

statsmodels.tsa.statespace.sarimax.SARIMAX

带有可选外生回归变量的季节性ARIMA模型估计

statsmodels.tsa.arima.model.ARIMA

ARIMA模型估计

注释

UECM的完整规范是

\[\Delta Y_t = \delta_0 + \delta_1 t + \delta_2 t^2 + \sum_{i=1}^{s-1} \gamma_i I_{[(\mod(t,s) + 1) = i]} + \lambda_0 Y_{t-1} + \lambda_1 X_{1,t-1} + \ldots + \lambda_{k} X_{k,t-1} + \sum_{j=1}^{p-1} \phi_j \Delta Y_{t-j} + \sum_{l=1}^k \sum_{m=0}^{o_l-1} \beta_{l,m} \Delta X_{l, t-m} + Z_t \lambda + \epsilon_t\]

其中 \(\delta_\bullet\) 捕捉趋势,\(\gamma_\bullet\) 捕捉季节性变化,s 是季节性的周期,p 是内生变量的滞后长度,k 是外生变量的数量 \(X_{l}\)\(o_l\) 包括 \(X_{l}\) 的滞后长度,\(Z_t\) 是包含的固定回归变量,\(\epsilon_t\) 是白噪声冲击。如果 causalTrue,则不包括外生变量的第 0 阶滞后,并且求和从 m=1 开始。

示例

>>> from statsmodels.tsa.api import UECM
>>> from statsmodels.datasets import danish_data
>>> data = danish_data.load_pandas().data
>>> lrm = data.lrm
>>> exog = data[["lry", "ibo", "ide"]]

一个基本模型,其中所有变量都包含3个滞后项

>>> UECM(data.lrm, 3, data[["lry", "ibo", "ide"]], 3)

可以使用字典来传递自定义滞后阶数

>>> UECM(data.lrm, [1, 3], exog, {"lry": 1, "ibo": 3, "ide": 2})

设置因果关系会从外生变量中移除第0滞后项

>>> exog_lags = {"lry": 1, "ibo": 3, "ide": 2}
>>> UECM(data.lrm, 3, exog, exog_lags, causal=True)

当使用NumPy数组时,字典键是列索引。

>>> import numpy as np
>>> lrma = np.asarray(lrm)
>>> exoga = np.asarray(exog)
>>> UECM(lrma, 3, exoga, {0: 1, 1: 3, 2: 2})

方法

fit(*[, cov_type, cov_kwds, use_t])

估计模型参数。

from_ardl(ardl[, missing])

从ARDL模型构建一个UECM

from_formula(公式, 数据[, 滞后阶数, 阶数, ...])

从公式构建一个UECM

hessian(params)

模型的海森矩阵。

information(params)

模型的费舍尔信息矩阵。

initialize()

初始化模型(无操作)。

loglike(params)

模型的对数似然值。

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

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

score(params)

模型的得分向量。

属性

ar_lags

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

ardl_order

ARDL(p,q)的顺序

causal

指示ARDL具有因果关系的标志

deterministic

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

df_model

模型的自由度。

dl_lags

模型中包含的外生变量的滞后

endog_names

内生变量的名称。

exog_names

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

fixed

用于构建模型的固定数据

hold_back

初始观测值的数量。

period

季节性成分的周期。

seasonal

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

trend

模型中使用的趋势。


Last update: Oct 16, 2024