跳到主要内容

时间序列分析

格兰杰因果检验

在已经平稳的一对序列上,检验把原因列的滞后加入结果列的自回归之后,预测误差会不会显著变小。

更新日期 2026-08-29 时序

这篇能回答什么

格兰杰检验问的不是「X 在现实世界里制造了 Y」,而是「在预测 Y 时,X 的过去值有没有超出 Y 自己过去值的增量信息」。原假设写在表头:原因序列不是结果序列的格兰杰原因。拒绝它,只说明领先—滞后的预测关系在该滞后阶上站得住;接受它,说明多带上 X 的历史也省不下多少残差平方和。

适合:两条已平稳的定量序列,例如宏观教学表里的序列 A 与序列 B,或已经差分过的利率与通胀偏离。一次运行只检一个方向。要看反向,把角色对调再跑。它不能代替工具变量、双重差分或断点设计。

什么时候不该用

水平值还带着单位根时不要直接检——先做ADF 单位根检验或差分。三条及以上的系统互动,主模型应是VAR,本过程只做成对预测检验。要识别政策效应,用双重差分。单序列外推用Auto ARIMA。

如何选择方法

先问研究目标是预测增量还是因果识别。只要「A 的历史能不能帮上 B 的预报」,用本过程;要估计处理效应,离开格兰杰。多变量脉冲响应走 VAR。还没确认平稳,先 ADF。

  • 格兰杰因果检验:1 个原因序列 + 1 个结果序列;对滞后 1–4 各给一个 SSR F。

  • VAR:2–10 条内生列,AIC 选阶并给脉冲响应。

  • ADF:单列平稳性,是本检验的前置。

  • 双重差分 / 工具变量:回答的是识别,不是预测领先。

输入、输出与限制

输入

原因序列与结果序列必须各恰好一列,类型为定量或时间序列。两列同时有值的行才进入检验;顺序按当前表序,请先按期数排好。

  • 原因序列:最少 1 个,最多 1 个。

  • 结果序列:最少 1 个,最多 1 个。

输出

结果表四行(滞后 1 期到滞后 4 期):F 统计量、P 值、显著性结论。结论按 α=0.05 写成接受或拒绝「不存在格兰杰因果」。图是各滞后 F 的柱形。洞察复述方向,并在全部不显著时给出最小 P。

产品限制

  • 最大滞后固定为 4,不在界面手改。

  • 成对有效行数必须不少于 12(约 3×最大滞后)。

  • 任一列方差为 0(一条直线)会拒绝计算。

  • 统计量是 SSR 形式的 F 检验,不是 χ² 形式的 Wald。

  • 单次只检 X→Y;Y→X 需要互换角色后再运行。

案例

研究问题。 宏观教学表里有三条同步序列。先问:序列 A 的过去值有没有提高对序列 B 的预测精度。这是预报问题,不是「A 在经济机制上导致了 B」。

教学示例来自时间序列表,工作表为「macro」,三列各 80 期(期数、序列A、序列B、序列C)。本页原因序列=序列A,结果序列=序列B。滞后 1–4 的 F 分别为 0.7113、0.2407、0.1444、0.187,P 均大于 0.05。下载后按同样角色复现四行。

下载教学示例表(时间序列)

在 StatsX 中操作

  1. 步骤 1 · 上传表格

    打开工作台,将 Excel / CSV / JSON 拖入上传区。本案例使用时间序列 xlsx,确认工作表为「macro」。单文件不超过 20 MB。

  2. 步骤 2 · 查看画像与质量

    确认序列 A、序列 B 为定量、按期数对齐。先对两列分别做 ADF;若水平非平稳,先差分再把差分列送入本过程。

  3. 步骤 3 · 选择「格兰杰因果检验」

    在算法目录搜索「格兰杰」或「因果」,点选格兰杰因果检验。不要和定价里的 Gabor-Granger 问卷法搞混。

  4. 步骤 4 · 指定变量并运行

    原因序列勾选「序列A」,结果序列勾选「序列B」。点运行。检反向时对调这两格,不要同时勾第三列。

  5. 步骤 5 · 阅读结果

    四行是四个滞后设定,不是逐步筛选。任一行 P<0.05 才谈得上该阶的预测领先;本例四行都接受原假设。

StatsX 工作台上传宏观序列教学示例
将教学示例表拖入工作台上传区。
列画像
列画像给出类型与缺失,便于确认原因列与结果列成对完整。
在目录中选择格兰杰因果检验
在算法目录中选定「格兰杰因果检验」。
为格兰杰检验指定原因序列与结果序列
原因序列选序列A,结果序列选序列B后运行。

如何阅读输出

下表由 macro 表中序列 A → 序列 B 在 StatsX 中运行得到,成对有效期 80。滞后 1 期 F=0.7113,P=0.402,结论为接受原假设 (不存在格兰杰因果)。其后三阶 F 更小、P 更大。最小 P 出现在 1 阶,仍远高于 0.05。表注把「显著」解释为历史信息有助于预测,这是领先—滞后语言,不是结构因果。

格兰杰因果检验表 (原假设: 序列A 不是 序列B 的格兰杰原因)
滞后阶数 (Lag)F 统计量P值显著性结论
滞后 1 期0.71130.402接受原假设 (不存在格兰杰因果)
滞后 2 期0.24070.787接受原假设 (不存在格兰杰因果)
滞后 3 期0.14440.933接受原假设 (不存在格兰杰因果)
滞后 4 期0.1870.944接受原假设 (不存在格兰杰因果)

左右滑动可查看完整表格

若 P值 < 0.05,则拒绝原假设,表明前者的历史数据包含了预测后者的有用信息,构成了统计学意义上的『领先-滞后』因果关系。

格兰杰因果检验结果表
工作台中的四行滞后表,数字应与上表一致。
各滞后阶 F 统计量柱形图
F 柱都很矮;完整判决以表中 P 值为准。

【格兰杰因果检验】原因序列=序列A,目标序列=序列B,检验前者历史信息是否有助于预测后者。

【因果结论】统计不显著(p=0.402, α=0.05),不能证明 序列A 是 序列B 的格兰杰原因。

解读顺序:两列是否已平稳 → 成对 N 是否满 12 → 表头方向有没有写反 → 四行 P 是否有一行越过 0.05 → 若要写「没有预测领先」,同时报告反向结果。本例不能证明序列 A 是序列 B 的格兰杰原因。若改走 VAR,AIC 在同一张表上选了滞后 1,与本页 1 阶结论一致:连 1 阶增量都不显著。

理论与公式

在结果序列的自回归上再放入原因序列的同期滞后,p 阶设定为:

原假设是全部 b_i=0。StatsX 取 statsmodels 的 SSR F:比较「只有 Y 的滞后」与「Y 与 X 的滞后都在」两套残差平方和。

本产品对 p=1,2,3,4 各算一次,而不是先用 AIC 选一个 p 再只报一行。列顺序在内部排成「结果在前、原因在后」,与界面角色一致。序列必须方差非零、长度够撑起最大滞后。

注意事项

  • 预测领先不是识别:遗漏共同因子、测量时点错位,都会制造假的格兰杰关系。

  • 非平稳水平值上的 F 不可信,先 ADF 或差分。

  • 四行没有多重比较校正;不要因为「总有一阶碰巧小于 0.05」就宣称发现。

  • Gabor-Granger 是定价问卷,和本过程无关。

  • 显著之后仍要看 VAR 里对应系数与脉冲响应,避免只靠一行 P 值讲故事。

  • 缺期、乱序会把「过去」算错,必须先按期数排序。

常见问题

参考文献

  • Granger, C. W. J. Investigating Causal Relations by Econometric Models and Cross-spectral Methods[J]. Econometrica, 1969, 37(3): 424–438.

  • Hamilton, J. D. Time Series Analysis[M]. Princeton University Press.

  • 王燕. 应用时间序列分析[M]. 中国人民大学出版社.

  • Lütkepohl, H. New Introduction to Multiple Time Series Analysis[M]. Springer.