VAR向量自回归模型

所属分类:时间序列分析

这个方法是做什么的

把每一个变量都对全部变量的滞后项做回归,让系统里的序列互为解释、互为被解释,不预先指定谁是自变量谁是因变量。滞后阶由控件填入(默认 2),k 个变量、p 阶滞后时每个方程要估 k×p+1 个参数。

系数表通常不是重点——变量之间高度相关,单个滞后系数很难单独解释。真正用得上的是三类衍生产出,卡④ 的图注把它们的分工写得很清楚:逐方程 R² 回答“模型解释了多少”,Granger 因果回答“谁能预测谁”(含 BH-FDR 校正),预测误差方差分解 FEVD 回答“谁对谁的波动贡献多大”。卡③ 另给每一对变量的脉冲响应图,看一个标准差冲击打进去之后影响如何随期数衰减。卡① 的 AR 特征根表是这一切的开关:所有根的模都大于 1 模型才稳定,不稳定时脉冲响应与方差分解会发散、不具解释力。读这份报告,先确认稳定性再看动态结果。

需要准备什么数据

  • 时间序列(定量):2~50 个,定量变量(数值)

数据要求

  • 数据表至少 20 行。
  • 单列缺失率不超过 15%。
  • 不接受取值全都一样的列(零方差列没有可分析的变异)。

以上条目由系统从该方法的校验规则直接生成,与上传数据时的实际拦截规则一致。

什么时候用它

  • 几个宏观或业务指标互相影响,说不清谁先谁后,需要一个对称的框架
  • 想看一次冲击在系统里的传导路径与持续期(脉冲响应)
  • 需要量化各变量对某个指标预测误差的贡献占比(方差分解)
  • 为多变量短期预测建一个基准模型

前提是各序列平稳、等间隔、无完全共线的变量对。行数下限 20 行,19 行会被直接拦下;但这只是技术下限,模块说明里给的稳健推断建议是有效观测 T≥50 且 T≥10×(k×p+1)。这个模块没有时间列拖拽区,同一行必须是同一时点的观测,行序即时序——把演示数据打乱重跑,显著滞后系数从 4 个变成 0 个,Granger 方向一条不剩。

什么时候不要用它

  • 各序列非平稳且同阶单整:水平 VAR 会伪回归,先用「协整检验」确认长期均衡关系的个数。
  • 协整已经确认,需要同时刻画长期均衡与短期调整:用「ECM模型」。
  • 只关心方向性、不需要脉冲响应:用「格兰杰因果检验」,变量多且希望自动定阶用「时间因果模型」。
  • 数据是多个体的面板而不是一条时间轴:用「面板模型」,动态设定用「系统GMM动态面板」。
  • 几个方程有各自不同的解释变量、只是残差相关:那不是 VAR 的结构,用「似不相关回归(SUR)」。

容易误读的地方

  • 滞后阶是手填的,改一改结论就变。 卡① 会列出各信息准则的推荐阶,但模块按你填的值跑。演示数据在 2 阶下 BH 校正后有 2 条显著因果方向;改成 6 阶后变成 4 条,还多出一条反向的“工业增加值增速 → 先行指标”——而这条在 2 阶时 p=0.656,毫无迹象。滞后阶必须有依据(信息准则或理论),并在论文里写明;结论若在相邻阶之间摇摆,本身就是要报告的信息。
  • FEVD 的结果取决于变量拖入的顺序。 卡④ 的表注写明分解基于残差协方差矩阵的 Cholesky 分解,本次按拖入顺序排列。Cholesky 隐含的假定是“排在前面的变量当期冲击可以影响后面的,反之不行”——这是一个实实在在的识别假设,不是技术细节。换一个顺序,同一份数据的贡献占比就会不同,所以顺序必须由理论决定并写进方法部分。
  • 卡③ 的脉冲响应是非正交化的简约式冲击,不具结构因果含义。 表注对此有明确说明。简约式残差之间通常相关,“给某个变量一个标准差冲击而其余不动”在现实中并不成立。要做政策冲击的因果解释,必须施加明确的识别约束(SVAR)或引入外生冲击,本模块不提供这一层。
  • 系数不显著不等于变量没用。 演示的 VAR(2) 里 18 个滞后系数只有 4 个在 5% 水平显著,但“工业增加值增速”方程的 R² 达到 0.7205、F(6,131)=56.293(p<0.001)。原因是滞后项彼此高度相关,单个系数的标准误被抬高。判断一个变量有没有用,要看它全部滞后项的联合检验(也就是卡④ 的 Granger 那张表),不是逐个看星号。
  • 稳定性是前提而不是结论。 卡① 给出 AR 特征根的模,statsmodels 的口径是特征方程之根,全部大于 1(落在单位圆外)才稳定,演示的最小模是 1.4378。最小模刚过 1 时,脉冲响应会衰减得极慢、置信带极宽,此时“影响持续 20 期以上”这类描述基本是数值上的假象,应先回头检查平稳性与滞后阶。
前提检验不显著不等于前提成立
概念图1 前提检验不显著不等于前提成立
检验只能拒绝原假设,不能证明它成立。p = 0.42 既可能是真的没有差别,也可能是样本量不够、差别没被检出来,两者从这个 p 值上分不开。规范的写法是「没有证据表明……」;要论证「两者确实相当」,需要另做等价性检验。

报告里有什么

  1. 输出结果一:数据概览与前提检验
  2. 输出结果二:VAR 模型系数估计
  3. 输出结果三:模型动态可视化(AR 根图与脉冲响应)
  4. 输出结果四:效应量与事后分析
  5. 输出结果五:结论与学术表述
AR 特征根分布(VAR(2))
图1 AR 特征根分布(VAR(2))
AR 根图用于检验 VAR 模型的稳定性:散点为特征方程的根,灰色圆为单位圆。此处根为特征方程之根,所有根的模(点到圆心的距离)都应大于 1(位于单位圆外)。切换到「柱状图/表格」视图可逐根查看模的大小。
“先行指标(景气指数)”的冲击对“先行指标(景气指数)”的脉冲响应
图2 “先行指标(景气指数)”的冲击对“先行指标(景气指数)”的脉冲响应
“先行指标(景气指数)”的冲击对“工业增加值增速”的脉冲响应
图3 “先行指标(景气指数)”的冲击对“工业增加值增速”的脉冲响应
“先行指标(景气指数)”的冲击对“社会消费品零售增速”的脉冲响应
图4 “先行指标(景气指数)”的冲击对“社会消费品零售增速”的脉冲响应
“工业增加值增速”的冲击对“先行指标(景气指数)”的脉冲响应
图5 “工业增加值增速”的冲击对“先行指标(景气指数)”的脉冲响应
“工业增加值增速”的冲击对“工业增加值增速”的脉冲响应
图6 “工业增加值增速”的冲击对“工业增加值增速”的脉冲响应
“工业增加值增速”的冲击对“社会消费品零售增速”的脉冲响应
图7 “工业增加值增速”的冲击对“社会消费品零售增速”的脉冲响应
“社会消费品零售增速”的冲击对“先行指标(景气指数)”的脉冲响应
图8 “社会消费品零售增速”的冲击对“先行指标(景气指数)”的脉冲响应
“社会消费品零售增速”的冲击对“工业增加值增速”的脉冲响应
图9 “社会消费品零售增速”的冲击对“工业增加值增速”的脉冲响应
“社会消费品零售增速”的冲击对“社会消费品零售增速”的脉冲响应
图10 “社会消费品零售增速”的冲击对“社会消费品零售增速”的脉冲响应
脉冲响应函数(IRF)描述了在一个变量上施加一个标准差的冲击后,对其他变量当前和未来的影响路径;虚线为基于渐近标准误的 95% 置信带。每张图均可切换到「表格」视图逐期读数。

在线统计分析平台 · 233 种分析方法 · AI 智能解读

在线使用
使用教程