statsmodels.tsa.vector_ar.vecm.VECM

class statsmodels.tsa.vector_ar.vecm.VECM(endog, exog=None, exog_coint=None, dates=None, freq=None, missing='none', k_ar_diff=1, coint_rank=1, deterministic='n', seasons=0, first_season=0)[source]

表示向量误差修正模型(VECM)的类。

一个VECM(\(k_{ar}-1\))具有以下形式

\[\Delta y_t = \Pi y_{t-1} + \Gamma_1 \Delta y_{t-1} + \ldots + \Gamma_{k_{ar}-1} \Delta y_{t-k_{ar}+1} + u_t\]

哪里

\[\Pi = \alpha \beta'\]

[1]第7章所述。

Parameters:
endogarray_like (nobs_tot x neqs)

二维内生响应变量。

exogndarray (nobs_tot x neqs) or None

协整关系外的确定性项。

exog_cointndarray (nobs_tot x neqs) or None

协整关系内的确定性项。

datesarray_like of datetime, optional

参见 statsmodels.tsa.base.tsa_model.TimeSeriesModel 了解更多信息。

freqstr, optional

参见 statsmodels.tsa.base.tsa_model.TimeSeriesModel 了解更多信息。

missingstr, optional

参见 statsmodels.base.model.Model 了解更多信息。

k_ar_diffint

模型中的滞后差分数量。等于上述公式中的 \(k_{ar} - 1\)

coint_rankint

协整秩,等于矩阵 \(\Pi\) 的秩以及 \(\alpha\)\(\beta\) 的列数。

deterministicstr {"n", "co", "ci", "lo", "li"}
  • "n" - 无确定性项

  • "co" - 协整关系外的常数

  • "ci" - 协整关系中的常数项

  • "lo" - 协整关系外的线性趋势

  • "li" - 协整关系内的线性趋势

这些组合是可能的(例如,"cili""colo" 用于带截距的线性趋势)。当使用常数项时,您必须选择是将其限制在协整关系中(即 "ci")还是保持不受限制(即 "co")。不要同时使用 "ci""co"。当使用线性项时,"li""lo" 也是如此。有关更多信息,请参阅注释部分。

seasonsint, default: 0

季节性周期中的期数。0 表示没有季节性。

first_seasonint, default: 0

第一次观测的季节。

Attributes:
endog_names

内生变量的名称。

exog_names

外生变量的名称。

注释

一个带有确定性项的VECM(\(k_{ar} - 1\))的形式为

\[\begin{split}\Delta y_t = \alpha \begin{pmatrix}\beta' & \eta'\end{pmatrix} \begin{pmatrix}y_{t-1}\\D^{co}_{t-1}\end{pmatrix} + \Gamma_1 \Delta y_{t-1} + \dots + \Gamma_{k_{ar}-1} \Delta y_{t-k_{ar}+1} + C D_t + u_t.\end{split}\]

\(D^{co}_{t-1}\) 中,我们有确定性项,这些项位于协整关系内部(或被限制在协整关系中)。 \(\eta\) 是对应的估计量。要将确定性项传递到协整关系内部,我们可以使用 exog_coint 参数。 对于截距和线性趋势这两种特殊情况,存在一种更简单的声明这些项的方法:我们可以分别将 "ci""li" 传递给 deterministic 参数。因此,对于协整关系内部的截距,我们可以将 "ci" 作为 deterministic 传递,或者如果 data 作为 endog 参数传递,则将 np.ones(len(data)) 作为 exog_coint 传递。 这确保了对于所有 \(t\)\(D_{t-1}^{co} = 1\)

我们也可以在协整关系之外使用确定性项。 这些在上述公式中定义为 \(D_t\),并在矩阵 \(C\) 中对应估计量。我们通过将这些项传递给 exog 参数来指定它们。对于截距和/或线性趋势,我们再次可以选择使用 deterministic。对于截距,我们传递 "co",对于线性趋势,我们传递 "lo",其中 o 代表 outside

下表显示了[2]中考虑的五种情况。最后一列指示了在这些情况下应传递给deterministic参数的字符串。

案例

截距

线性趋势的斜率

确定性

0

0

"n"

第二部分

\(- \alpha \beta^T \mu\)

0

"ci"

\(\neq 0\)

0

"co"

第四

\(\neq 0\)

\(- \alpha \beta^T \gamma\)

"coli"

V

\(\neq 0\)

\(\neq 0\)

"colo"

参考文献

[1]

卢特克霍伊泽尔, H. 2005. 多变量时间序列分析新导论. 斯普林格出版社.

[2]

Johansen, S. 1995. 基于似然推断的协整向量自回归模型。牛津大学出版社。

方法

fit([方法])

估计VECM的参数。

from_formula(公式, 数据[, 子集, 删除列])

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

hessian(params)

模型的海森矩阵。

information(params)

模型的费舍尔信息矩阵。

initialize()

初始化(可能重新初始化)一个模型实例。

loglike(params)

模型的对数似然值。

predict(params[, exog])

模型拟合后,predict 返回拟合值。

score(params)

模型的得分向量。

属性

endog_names

内生变量的名称。

exog_names

外生变量的名称。


Last update: Oct 16, 2024