正在加载中...

展开本页目录
算法教程VECM-协整向量误差修正(VECM)

VECM-协整向量误差修正(VECM)

No.061 · 在线教程

向量误差修正模型(Vector Error Correction Model, VECM)用于刻画多个非平稳但存在协整关系的时间序列系统。其核心是把长期均衡关系(协整)与短期动态(差分项)统一到同一模型中。

VECM-协整向量误差修正(VECM)

1. 方法概述

向量误差修正模型(Vector Error Correction Model, VECM)用于刻画多个非平稳但存在协整关系的时间序列系统。其核心是把长期均衡关系(协整)与短期动态(差分项)统一到同一模型中。

设 \(k\) 维内生变量向量为 \(y_t=(y_{1t},\dots,y_{kt})^\top\),样本长度为 \(T\)。

2. 从 VAR 到 VECM

给定 VAR(\(p\)):

$$ y_t = A_1 y_{t-1}+\cdots +A_p y_{t-p}+u_t \tag{1} $$

可改写为 VECM 形式:

$$ \Delta y_t = \Pi y_{t-1} + \sum_{i=1}^{p-1}\Gamma_i\,\Delta y_{t-i} + \mu + \varepsilon_t \tag{2} $$

其中

$$ \Pi = \sum_{i=1}^{p}A_i - I_k, \qquad \Gamma_i = -\sum_{j=i+1}^{p}A_j \tag{3} $$

若 \(\mathrm{rank}(\Pi)=r\in(0,k)\),则存在分解

$$ \Pi = \alpha\beta^\top \tag{4} $$

  • \(\beta\in\mathbb{R}^{k\times r}\):协整向量(长期均衡关系);
  • \(\alpha\in\mathbb{R}^{k\times r}\):调整系数(偏离均衡后的修正速度)。

3. 协整秩与 Johansen 检验

设 \(\hat\lambda_1\ge \hat\lambda_2\ge\cdots\ge \hat\lambda_k\) 为特征值,Johansen 常用两类统计量:

3.1 Trace 检验

$$ \mathrm{LR}_{\mathrm{trace}}(r_0) = -T\sum_{i=r_0+1}^{k}\ln(1-\hat\lambda_i) \tag{5} $$

3.2 Max-Eigen 检验

$$ \mathrm{LR}_{\max}(r_0,r_0+1) = -T\ln(1-\hat\lambda_{r_0+1}) \tag{6} $$

通过与临界值比较,确定协整秩 \(r\)。

4. 滞后阶与模型设定

VECM 中常用参数 \(k_{ar\_diff}\) 表示差分滞后阶,与 VAR 阶数关系为:

$$ p = k_{ar\_diff}+1 \tag{7} $$

模型可基于信息准则(AIC/BIC)自动选阶:

$$ \hat p = \arg\min_p \mathrm{IC}(p) \tag{8} $$

其中 \(\mathrm{IC}\) 可取 AIC 或 BIC。

5. 预测、IRF 与 FEVD

5.1 多步预测

在估计参数后,递推得到 \(h\) 步预测:

$$ \hat y_{t+h|t}=f(\hat\alpha,\hat\beta,\hat\Gamma_1,\dots,\hat\Gamma_{p-1};\,y_t,y_{t-1},\dots) \tag{9} $$

5.2 脉冲响应函数(IRF)

设 MA 表示为

$$ \Delta y_t = \sum_{h=0}^{\infty}\Psi_h\,\varepsilon_{t-h} \tag{10} $$

对冲击正交化(如 Cholesky)后,

$$ \Theta_h = \Psi_h P \tag{11} $$

\(\Theta_h(j,k)\) 表示“第 \(k\) 个冲击”在第 \(h\) 期对“第 \(j\) 个变量”的影响。

5.3 预测误差方差分解(FEVD)

给定预测期 \(H\),响应变量 \(j\) 由冲击 \(k\) 解释的比例为:

$$ \mathrm{FEVD}_{j\leftarrow k}(H)= \frac{\sum_{h=0}^{H}\Theta_h(j,k)^2} {\sum_{m=1}^{k}\sum_{h=0}^{H}\Theta_h(j,m)^2} \tag{12} $$

6. 残差诊断(常用)

6.1 Durbin-Watson

$$ DW = \frac{\sum_{t=2}^{T}(e_t-e_{t-1})^2}{\sum_{t=1}^{T}e_t^2} \tag{13} $$

6.2 Ljung-Box

$$ Q = T(T+2)\sum_{h=1}^{H}\frac{\hat\rho_h^2}{T-h} \tag{14} $$

6.3 Jarque-Bera

$$ JB = \frac{T}{6}\left(S^2+\frac{(K-3)^2}{4}\right) \tag{15} $$

其中 \(S\) 为偏度,\(K\) 为峰度。

7. 符号说明

符号 含义
\(y_t\) \(k\) 维内生变量向量
\(\Delta\) 一阶差分算子
\(A_i\) VAR 系数矩阵
\(\Pi\) 长期影响矩阵
\(\Gamma_i\) 短期动态系数矩阵
\(\alpha\) 调整系数矩阵
\(\beta\) 协整向量矩阵
\(r\) 协整秩
\(\Psi_h,\Theta_h\) IRF 相关系数矩阵
\(\hat\lambda_i\) Johansen 特征值

8. 与代码实现的对应关系

Excel Sheet 含义 关键字段
原始数据 输入数据快照 各变量原始值
处理后数据 建模使用数据 清洗后序列
模型摘要 模型规模参数 n_obs、n_vars、k_ar_diff、coint_rank
滞后阶选取 信息准则选阶 lag(及可用 IC)
Johansen检验明细 特征值与统计量明细 trace/maxeig 统计量与临界值
Johansen检验 选秩摘要 selected_rank、deterministic
Beta(协整向量) 长期关系系数 beta1…
Alpha(调整系数) 误差修正速度 alpha1…
协整方程(归一化) 可读长期关系表达式 equation
协整系数(归一化) 归一化协整系数 coint1…
预测 多步预测值 *_forecast
IRF 脉冲响应明细 h、response、shock、value
FEVD 方差分解明细 h、response、shock、value
图表清单 图像索引 name、path
参数 本次运行参数 vecm_params/forecast/chart_options
参数与配置(分组) 参数分组展示 section、key、value
报告摘要 汇总与关键图链接 metric、value

8.1 程序实际生成的图表

  • series_plot:原始序列图;
  • diff_series_plot:差分序列图;
  • forecast_plot:预测图;
  • irf_y*irf_matrix:单变量/矩阵 IRF 图;
  • fevd_stacked:FEVD 堆叠图。

8.2 程序实现中应写明的点

  • 主导出逻辑位于 core/critic_calculator.pycalculator.py 只是别名入口;
  • 程序会同时导出 Beta(协整向量)Alpha(调整系数)Gamma(短期系数),适合分别解释长期关系、偏离修正速度和短期动态;
  • Johansen检验明细Johansen检验 分别对应明细统计量和选秩摘要;
  • 报告摘要 会把关键图路径一并写出,适合作为论文附录的索引页。

9. 论文写作模板

“本文针对 \(k\) 维时间序列构建 VECM 模型。首先基于 Johansen 协整检验确定协整秩 \(r\)(式(5)–(6)),再估计误差修正模型(式(2)),并将长期关系矩阵分解为 \(\Pi=\alpha\beta^\top\)(式(4))。其中,\(\beta\) 描述长期均衡关系,\(\alpha\) 刻画系统偏离均衡后的调整速度。进一步通过 IRF 与 FEVD(式(10)–(12))分析冲击传导路径与方差贡献,并结合残差诊断统计量(式(13)–(15))检验模型有效性与稳健性。”

10. 注意事项

  1. VECM 前提是变量同阶单整且存在协整关系;若无协整,宜考虑 VAR 于差分域。
  2. 协整秩过高或过低都会影响长期关系解释,应结合检验与经济含义共同判定。
  3. IRF/FEVD 对识别顺序敏感(正交化方式影响结果),论文中应明确说明。
  4. 解释结果时建议“长期关系(Beta)+ 调整速度(Alpha)+ 冲击分解(IRF/FEVD)”联合报告。

11. 单篇终审补充

11.1 图题与表题对齐建议

  • 本文档应优先对应真实算法目录 具体的算法2/VECM-协整向量误差修正(VECM),代表性结果目录建议绑定 具体的算法2/VECM-协整向量误差修正(VECM)/results/window3_baseline_test_window3_timeseries_dynami5_vecm
  • 表题应直接对应 vecm_baseline.xlsx 的真实工作表:原始数据处理后数据模型摘要滞后阶选取Johansen检验明细Johansen检验Beta(协整向量)Alpha(调整系数)协整方程(归一化)协整系数(归一化)残差诊断预测IRFFEVD图表清单参数参数与配置(分组)报告摘要
  • 图题应优先对应该目录的实体图:series_plot.pngdiff_series_plot.pngforecast_plot.pngirf_matrix.pngirf_y1.pngirf_y2.pngirf_y3.pngfevd_stacked.png
  • 图文对应时,建议把“原始序列/差分序列/预测图/IRF/FEVD”与上述文件名一一挂钩,不要再额外引入当前目录没有落地的协整轨迹图或网页诊断页。

11.2 终审说明

  • 当前 VECM 文档的证据链较完整,既有中文命名的核心工作表,也有固定命名的 IRF/FEVD 图片,适合直接按“长期关系 + 调整速度 + 冲击响应”结构写入论文正文与附录。
  • 复现脚本可直接引用 repro_vecm_template_20260329_165449.py,其 SRC_FILE 实际写为 results/window3_baseline_test_window3_timeseries_dynami5_vecm/repro_inputs/vecm_input.csv
  • 这说明 VECM 的复现口径同样属于“模块根目录相对路径 + repro_inputs 快照输入”,与 Kalman 的脚本同目录相对路径写法不同,终稿说明中应明确区分。

11.3 全量强化补充

  • 当前应锁定的主证据目录是 具体的算法2/VECM-协整向量误差修正(VECM)/results/window3_baseline_test_window3_timeseries_dynami5_vecm。主工作簿位于 具体的算法2/VECM-协整向量误差修正(VECM)/results/window3_baseline_test_window3_timeseries_dynami5_vecm/vecm_baseline.xlsx
  • 主工作簿当前实际工作表为 原始数据处理后数据模型摘要滞后阶选取Johansen检验明细Johansen检验Beta(协整向量)Alpha(调整系数)协整方程(归一化)协整系数(归一化)残差诊断预测IRFFEVD图表清单参数参数与配置(分组)报告摘要。因此当前文档应明确绑定 baseline 目录里的 vecm_baseline.xlsx,而不是把根目录平铺图误写成另一轮独立实验。
  • 当前首层图文件均位于该 baseline 目录根部,分别是 series_plot.pngdiff_series_plot.pngforecast_plot.pngirf_matrix.pngirf_y1.pngirf_y2.pngirf_y3.pngfevd_stacked.png。图表引用应直接指向这一目录,而不是指向算法 results 根目录下的同名平铺图。
  • 当前 baseline 目录内保留了多份历史 repro 脚本,最新一份是 具体的算法2/VECM-协整向量误差修正(VECM)/results/window3_baseline_test_window3_timeseries_dynami5_vecm/repro_vecm_template_20260329_165449.py。其真实输入口径是 SRC_FILE = 'results/window3_baseline_test_window3_timeseries_dynami5_vecm/repro_inputs/vecm_input.csv',也就是“相对于模块根目录的相对路径”。
  • 对应输入副本实体文件位于 具体的算法2/VECM-协整向量误差修正(VECM)/results/window3_baseline_test_window3_timeseries_dynami5_vecm/repro_inputs/vecm_input.csv。因此这篇文档应明确说明:VECM 的当前复现脚本不是“脚本同目录直接读取 CSV”,而是“模块根目录相对路径回指到 baseline 目录下的 repro_inputs 快照”。

12. 软件实现核查补充(2026-07)

  • 当前实现的主结果目录应写作 具体的算法2/VECM-协整向量误差修正(VECM)/results/window3_baseline_test_window3_timeseries_dynami5_vecm,主工作簿为 vecm_baseline.xlsx
  • 正文应围绕 原始数据处理后数据模型摘要滞后阶选取Johansen检验明细Johansen检验Beta(协整向量)Alpha(调整系数)协整方程(归一化)协整系数(归一化)残差诊断预测IRFFEVD图表清单参数参数与配置(分组)报告摘要 来写。
  • 图证应对应 series_plot.pngdiff_series_plot.pngforecast_plot.pngirf_matrix.pngirf_y1.pngirf_y2.pngirf_y3.pngfevd_stacked.png
  • repro_vecm_template_20260329_165449.py + results/window3_baseline_test_window3_timeseries_dynami5_vecm/repro_inputs/vecm_input.csv 是模块根目录相对路径回指 baseline 目录的复现口径,正文和附录要与主结果目录分开写。