库克距离公式详解

在统计建模中,理解每一条数据是如何影响整体全貌的至关重要。库克距离就是这样一种方法,用于衡量回归分析中的每一个点对最终结果的影响力。它以统计学家 R. Dennis Cook 的名字命名,帮助我们精确定位哪些数据点对分析结果产生了重大影响。通过向我们展示哪些点最为重要,库克距离能帮助我们针对数据和模型做出更明智的决策。

对于具有 p 个预测变量的回归模型,其第 i 次观测的库克距离 (( D_i )) 可以使用以下公式计算——

[ Di = \frac{\sum{j=1}^n (\hat{Y}{j(i)} – \hat{Y}j)^2}{p \times \text{MSE}} \times \left( \frac{h{ii}}{(1 – h{ii})^2} \right) ]
其中,

  • ( \hat{Y}_{j(i)}) 是从模型中排除第 i 个观测值后,第 j 个观测值的预测值。
  • ( \hat{Y}_j) 是基于完整模型(包含所有数据)的第 j 个观测值的预测值。
  • ( h_{ii}) 是第 i 个观测值的杠杆值。
  • MSE 是模型的均方误差。

现在,让我们在 R 编程语言中实现库克距离公式。

步骤 1:拟合线性回归模型

lm() 函数用于拟合线性回归模型,其中 mpg 是因变量,wt、hp 和 disp 是自变量。

R


CODEBLOCK_a53d9f25

步骤 2:计算库克距离

cooks.distance() 函数根据拟合的模型计算每个观测值的库克距离。变量 cooksd 将包含 mtcars 数据集中每个观测值的库克距离值。

R


CODEBLOCK_d0e2edac

输出:

Mazda RX4       Mazda RX4 Wag          Datsun 710      Hornet 4 Drive 
       1.152035e-02        4.621112e-03        1.598334e-02        1.283888e-04 
  Hornet Sportabout             Valiant          Duster 360           Merc 240D 
       1.839055e-03        1.560119e-02        1.053270e-02        1.313511e-02 
           Merc 230            Merc 280           Merc 280C          Merc 450SE 
       2.525382e-03        3.671067e-03        2.606104e-02        1.551454e-03 
         Merc 450SL         Merc 450SLC  Cadillac Fleetwood Lincoln Continental 
       1.049983e-04        5.648180e-03        7.218880e-05        1.298764e-02 
  Chrysler Imperial            Fiat 128         Honda Civic      Toyota Corolla 
       3.199707e-01        1.196019e-01        9.092102e-03        1.529771e-01 
      Toyota Corona    Dodge Challenger         AMC Javelin          Camaro Z28 
       2.215865e-02        4.218196e-02        4.909944e-02        7.181085e-03 
   Pontiac Firebird           Fiat X1-9       Porsche 914-2        Lotus Europa 
       6.980693e-02        4.163138e-04        1.732523e-06        5.959750e-02 
     Ford Pantera L        Ferrari Dino       Maserati Bora          Volvo 142E 
       7.279943e-03        1.100867e-02        3.402911e-01        8.796726e-03

这里的输出代表了 mtcars 数据集中每个观测值的库克距离值。

  • 库克距离值较大的观测值对回归模型的影响更大。
  • 库克距离值明显大于其他值的观测值可能被视为有影响力的异常值,应进一步调查。
  • 我们可以分析这些值,以识别任何可能影响回归分析可靠性的有影响力的观测值。

步骤 3:可视化库克距离

现在,让我们在 R 中使用 mtcars 数据集可视化线性回归模型的库克距离,您可以创建一个突出显示影响力点的图表。以下是实现方法的一个示例:

R


CODEBLOCK_82416f52

输出:

!ghCook‘s Distance Formula

ggplot 用于创建库克距离的柱状图。

  • 在 4?−?np4​ 处添加了一条红色的水平虚线作为阈值,用于识别潜在的有影响力的观测值,其中 ?n 是观测值的数量(原文此处截断,意指阈值为 4/(n-p))。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/20867.html
点赞
0.00 平均评分 (0% 分数) - 0