You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取statsmodels格兰杰因果检验的显著滞后项系数

问题解答

可以从返回的statsmodels.regression.linear_model.RegressionResultsWrapper对象中提取格兰杰检验对应显著性滞后项的系数,格兰杰因果检验的底层逻辑就是拟合带多阶滞后项的线性回归模型,该对象本身就存储了这个回归模型的全部统计结果。

核心可调用属性

  • 所有回归系数:通过params属性获取,返回带参数名称的Series格式结果,参数默认命名规则为L{滞后阶数}.{变量标识},比如L1.x2就代表第2个变量的1阶滞后项,你可以通过参数名直接匹配对应的变量和滞后阶数
  • 系数显著性p值:通过pvalues属性获取,返回的序列索引和params完全对应,可用来筛选符合显著性要求的滞后项

提取示例代码

# 假设你拿到的回归结果对象名为granger_model
significance_level = 0.05  # 你设定的显著性水平,比如常用的0.05

# 1. 获取所有系数和对应p值
all_coefs = granger_model.params
all_pvalues = granger_model.pvalues

# 2. 筛选所有显著的系数
significant_all_coefs = all_coefs[all_pvalues < significance_level]

# 3. 仅筛选格兰杰检验对应的自变量(即被检验是否为原因的变量)的显著滞后项
# 示例中假设你检验的是第二个变量对第一个变量的因果关系,自变量滞后项标识为x2
x_lag_coefs = all_coefs.filter(regex=r'^L\d+\.x2$')
x_significant_coefs = x_lag_coefs[all_pvalues[x_lag_coefs.index] < significance_level]

# 打印结果
print("检验变量的显著滞后项系数:\n", x_significant_coefs)

提示:如果不确定参数的命名规则,可先执行print(granger_model.params.index)打印所有参数的完整名称,再调整筛选规则即可。

内容的提问来源于stack exchange,提问作者pvalue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 02:24:05