证明马氏距离与杠杆之间的关系?


12

我在维基百科上看到过公式与马氏距离和杠杆有关:

马氏距离与杠杆统计h密切相关,但具有不同的标度:

D2=(N1)(h1N).

链接的文章中,维基百科用以下术语描述了h

在该线性回归模型,用于杠杆得分ith数据单位被定义为:

hii=(H)ii,
ith帽子矩阵的对角元素H=X(XX)1X,其中表示矩阵转置。

我在任何地方都找不到证明。我试图从定义开始,但是没有任何进展。任何人都可以给出提示吗?

Answers:


11

我在底部对马氏距离的描述到对马氏距离的顶部解释?包含两个关键结果:

  1. 根据定义,当回归变量均匀移动时它不会改变。

  2. 向量xy之间的平方Mahalanobis距离由

    D2(x,y)=(xy)Σ1(xy)
    ,其中Σ是数据的协方差。

(1)允许我们假设回归器的均值为零。仍然需要计算hi。但是,为使该说法成立,我们需要再增加一个假设:

模型必须包含一个截距。

允许这一点,让有k0回归量和n数据,写入回归的值j观察i作为xij。让这些列向量n为回归值j写入x,j和这些的行向量k为观测值i被写入xi。那么模型矩阵

X=(1x11x1k1x21x2k1xn1xnk)

根据定义,帽子矩阵为

H=X(XX)1X,

从那里进入i沿着对角线是

(1)hi=hii=(1;xi)(XX)1(1;xi).

除了求出中央矩阵逆之外,它什么都没有,但是借助第一个关键结果,它很容易,尤其是当我们以块矩阵形式编写它时:

XX=n(100C)

0=(0,0,,0)

Cjk=1ni=1nxijxik=n1nCov(xj,xk)=n1nΣjk.

Σ

(XX)1=1n(100C1)=(1n001n1Σ1).

(1)

hi=(1;xi)(1n001n1Σ1)(1;xi)=1n+1n1xiΣ1xi=1n+1n1D2(xi,0).

Di2=D2(xi,0)

Di2=(n1)(hi1n),

QED

1/nXn1n1n


i


R代码表明该关系确实成立:

x <- mtcars

# Compute Mahalanobis distances
h <- hat(x, intercept = TRUE); names(h) <- rownames(mtcars)
M <- mahalanobis(x, colMeans(x), cov(x))

# Compute D^2 of the question
n <- nrow(x); D2 <- (n-1)*(h - 1/n)

# Compare.
all.equal(M, D2)               # TRUE
print(signif(cbind(M, D2), 3))

极好的答案,非常严谨和直觉。干杯!
cgrudz

感谢您的帖子@whuber!为了进行完整性检查,下面的R代码显示该关系确实成立:x <-mtcars rownames(x)<-NULL colnames(x)<-NULL n <-nrow(x)h <-hat(x,T) mahalanobis(x,colMeans(x),cov(x))(n-1)*(h-1 / n)all.equal(mahalanobis(x,colMeans(x),cov(x)),(n-1 )*(h-1 / n))
Tal Galili

1
@Tal我认为我不需要进行健全性检查-但感谢您提供的代码。:-)我进行了一些修改,以澄清它及其输出。
ub

1
@whuber,我想要一个示例来说明如何使等式起作用(向我表明我的假设是正确的)。我还扩展了相关的Wiki条目:en.wikipedia.org/wiki/… (如果您认为合适,也可以在上面扩展:))
Tal Galili
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.