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

Python中statsmodels.api的get_influence()函数公式及官方文档查询

Cook's距离计算公式与statsmodels官方文档说明

你使用的是statsmodels库中OLS模型的get_influence()方法来计算Cook's距离,以下是相关细节:

计算公式

statsmodels中Cook's距离的计算遵循标准统计学定义,公式为:
$$D_i = \frac{e_i^2}{p \cdot MSE} \cdot \frac{h_{ii}}{(1 - h_{ii})^2}$$
其中:

  • $e_i$:第i个观测的残差
  • $p$:模型的参数总数(包含截距项,若模型包含的话)
  • $MSE$:模型的均方误差
  • $h_{ii}$:第i个观测对应的帽子矩阵对角线元素(杠杆值)

官方文档说明

statsmodels的官方文档中对该逻辑有明确说明:

  • get_influence()方法针对OLS模型会返回OLSInfluence类的实例(属于statsmodels.stats.outliers_influence模块)
  • 该实例的cooks_distance属性返回一个元组:第一个元素是Cook's距离的数组,第二个元素是基于F分布近似得到的对应p值
  • 类文档中明确标注了Cook's距离的计算逻辑与标准公式一致

代码补充说明

你的代码中influence.cooks_distance返回的是包含距离和p值的元组,若仅需距离值,可以拆分获取:

model = sm.OLS(Y, X).fit()
np.set_printoptions(suppress=True)

influence = model.get_influence()
cooks_distances, p_values = influence.cooks_distance

内容的提问来源于stack exchange,提问作者Pavlína Ružičková

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 18:57:03