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

Statsmodels中UNEMP滞后项联合显著性F检验的代码如何编写?

检验UNEMP滞后项联合显著性的实现方法

statsmodels的拟合结果对象自带的f_test方法可以直接实现联合显著性检验,针对你的代码场景有两种常用写法:

方法1:字符串约束写法(适配公式API的最简方案)

因为你用了公式接口定义回归,直接传入系数约束的字符串即可,不用手动构造矩阵,代码可读性更高:

# 定义原假设:三个滞后项的系数同时为0
hypothesis = '(UNEMP.shift(1) = 0, UNEMP.shift(2) = 0, UNEMP.shift(3) = 0)'
f_test_result = results.f_test(hypothesis)
# 输出检验结果
print(f"F统计量: {f_test_result.fvalue[0][0]}")
print(f"p值: {f_test_result.pvalue}")
print(f"分子自由度/分母自由度: {f_test_result.df_num}, {f_test_result.df_denom}")

方法2:约束矩阵写法(和示例逻辑一致)

如果习惯用矩阵形式定义约束,可以按照如下代码实现:

import numpy as np
# 生成和参数数量等长的单位矩阵
A = np.identity(len(results.params))
# 三个滞后项对应参数索引为1、2、3(第0位是截距项),提取对应行构造约束矩阵
A = A[1:4,:]
f_test_result = results.f_test(A)
# 直接打印格式化的结果汇总
print(f_test_result.summary())

结果解读

输出结果中的p值如果小于预设的显著性水平(通常为0.05),则拒绝「三个UNEMP滞后项的系数同时为0」的原假设,证明这三个滞后项整体对被解释变量TOTEMP存在显著的联合影响。

注意:你代码中使用了shift生成滞后项,statsmodels会自动剔除存在缺失值的前三行样本,检验逻辑不受影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 04:45:07