output文件中的pp表格数值是越来越大,正常应该是越来越小最后接近于0,为什么会出现这样的结果
🚨正常:每一列的数值应随 Horizon(期数)逐渐递减,并最终趋近于稳定值甚至零(表示冲击的长期影响逐渐消退)。
❗ PP 表中每一列的数值 不断上升,甚至指数级爆炸增长:
这种现象是非常不正常的,通常说明模型估计或冲击模拟中出现了 非稳定性(instability)或共整结构设定错误。
✅ 可能原因及解决建议(逐项排查)
1. 你的VAR模型非稳定(Unstable VAR)
如果你在 gvar_est.m 或 var_estim.m 中估计的 VARX* 系数矩阵(A矩阵)有特征根(eigenvalues)大于1,则模型是发散的。
你可以检查:
- eigenval 工作表中是否存在 >1 的特征值;
- str_stab_stats 是否标记了单位根或爆炸解。
✅ 解决办法:
- 减少滞后阶数(p);
- 重新检测协整秩;
- 或者增加变量的差分处理(如对 GDP、石油、CPI 全部取对数后做一阶差分)。
2. 冲击变量的标准差设定不当(shock scale 过大)
如果你人为设置或默认使用了一个极大的初始冲击(如 10 std 的全球油价冲击),即使是稳定模型也会产生“爆炸性响应”。
此问题常发生于:
- 冲击设置时未规范化;
- 用了 global_shocks.m 中未经处理的变量(如原始价格序列);
✅ 解决办法:
- 检查 global_vars 中石油价格是否 log + diff;
- 用标准化冲击:shock = 1 std;
- 或者使用 generalized impulse 而非 orthogonal impulse
3. 误设了变量形式:用水平值代替增量
- 比如石油价格、GDP 本应用 log-diff,结果直接放入原始水平(如 Brent = 80, 81, 82...);
- 则 GIRF 会因趋势性增长被误判为冲击累积导致;
- 所以 IRF 会一直往上跳,像你现在这种情况。
✅ 解决办法:
- 所有输入变量应先 log(如对GDP、CPI、Oil);
- 然后再进行差分处理;
- 特别注意全局变量不要是“价格水平”。
4. 共整秩(Cointegration rank)设定错误
- 如果你误设为 r = 0(无协整)或 r = 全秩,而实际存在长期协整关系;
- 则冲击结果将不收敛,甚至爆炸。
✅ 解决办法:
- 回到 coint_max&traceVARX 表,检查 Trace Test 和 Max-Eigen;
- 设置适当的协整秩 r_i;
- 通常对 GDP、CPI、汇率、利率类变量,r_i > 0 是合理的。

image.png
3) COUNTRY MODELS
3.1) Model specification

image.png

image.png

image.png
不能留空白,如果设置了主导国家,在贸易分析中一般美国是主导国,主导国(单位)的全球变量要这只为2,只能是内生的。

image.png

image.png

image.png
主导国家模型

image.png
-
设置主导国家模型为0即Dominant unit model=0,那就要自己手动设置一个国家(地区)为主导,它对应的全球变量要设置为2。(全球变量设置为0表示不放进模型,1表示放进模型,2表示作为内生变量放进模型)
image.png
