VECM-协整向量误差修正(VECM)
向量误差修正模型(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.py,calculator.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. 注意事项
- VECM 前提是变量同阶单整且存在协整关系;若无协整,宜考虑 VAR 于差分域。
- 协整秩过高或过低都会影响长期关系解释,应结合检验与经济含义共同判定。
- IRF/FEVD 对识别顺序敏感(正交化方式影响结果),论文中应明确说明。
- 解释结果时建议“长期关系(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(调整系数)、协整方程(归一化)、协整系数(归一化)、残差诊断、预测、IRF、FEVD、图表清单、参数、参数与配置(分组)、报告摘要。 - 图题应优先对应该目录的实体图:
series_plot.png、diff_series_plot.png、forecast_plot.png、irf_matrix.png、irf_y1.png、irf_y2.png、irf_y3.png、fevd_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(调整系数)、协整方程(归一化)、协整系数(归一化)、残差诊断、预测、IRF、FEVD、图表清单、参数、参数与配置(分组)、报告摘要。因此当前文档应明确绑定 baseline 目录里的vecm_baseline.xlsx,而不是把根目录平铺图误写成另一轮独立实验。 - 当前首层图文件均位于该 baseline 目录根部,分别是
series_plot.png、diff_series_plot.png、forecast_plot.png、irf_matrix.png、irf_y1.png、irf_y2.png、irf_y3.png、fevd_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(调整系数)、协整方程(归一化)、协整系数(归一化)、残差诊断、预测、IRF、FEVD、图表清单、参数、参数与配置(分组)、报告摘要来写。 - 图证应对应
series_plot.png、diff_series_plot.png、forecast_plot.png、irf_matrix.png、irf_y1.png、irf_y2.png、irf_y3.png、fevd_stacked.png。 repro_vecm_template_20260329_165449.py + results/window3_baseline_test_window3_timeseries_dynami5_vecm/repro_inputs/vecm_input.csv是模块根目录相对路径回指 baseline 目录的复现口径,正文和附录要与主结果目录分开写。