调用Python sm.tsa.stattools.grangercausalitytests检验VAR完美拟合报错是什么意思
格兰杰因果检验报错含义说明
报错原文与翻译
报错原文:The Granger causality test statistic cannot be compute because the VAR has a perfect fit of the data.
中文翻译:无法计算格兰杰因果检验统计量,因为VAR(向量自回归)模型对数据实现了完全拟合
报错核心原因
- 格兰杰因果检验的底层逻辑是基于VAR模型的残差显著性检验,只有当模型拟合存在随机残差时,才能通过统计量判断滞后项的解释效力。当VAR模型对输入的两组时间序列完全拟合、残差为0时,检验的统计分布无法计算,因此触发该报错。
常见触发场景
- 输入的两组时间序列存在人为构造的严格线性关系:比如其中一组是另一组的精确滞后项、两组是同一指标的无误差单位换算结果等
- 检验设置的最大滞后阶数过高,同时数据样本量过小,导致VAR模型的待估参数数量接近甚至超过有效样本量,模型可以无误差拟合所有观测点
- 输入序列存在完全共线性,比如两序列的相关系数绝对值为1
排查方向
- 先检查输入数据的预处理逻辑,排除两序列存在完全线性依赖的错误
- 适当调低最大滞后阶数参数,避免参数过多导致的过拟合
- 补充样本量,格兰杰因果检验的有效样本量建议至少为最大滞后阶数的10倍以上
内容的提问来源于stack exchange,提问作者Maria Gonzalez Bocanegra
相关产品推荐
相关产品推荐

