Chứng minh mối quan hệ giữa khoảng cách Mahalanobis và Đòn bẩy?


12

Tôi đã thấy các công thức trên Wikipedia. liên quan đến khoảng cách và đòn bẩy của Mahalanobis:

Khoảng cách Mahalanobis liên quan chặt chẽ với thống kê đòn bẩy, h , nhưng có thang đo khác:

D2=(N1)(h1N).

Trong một bài viết được liên kết , Wikipedia mô tả h theo các thuật ngữ sau:

Trong mô hình hồi quy tuyến tính, số điểm đòn bẩy cho ith đơn vị dữ liệu được định nghĩa là:

hii=(H)ii,
các ith yếu tố đường chéo của ma trận mũ H=X(XX)1X , nơi biểu thị ma trận chuyển vị.

Tôi không thể tìm thấy một bằng chứng ở bất cứ đâu. Tôi đã cố gắng bắt đầu từ các định nghĩa nhưng tôi không thể đạt được tiến bộ nào. Bất cứ ai cũng có thể đưa ra một số gợi ý?

Câu trả lời:


11

Mô tả của tôi về khoảng cách Mahalanobis ở dưới cùng để giải thích về khoảng cách Mahalanobis? bao gồm hai kết quả chính:

  1. Theo định nghĩa, nó không thay đổi khi các biến hồi quy được thay đổi đồng đều.

  2. Các phương khoảng cách mahalanobis giữa vectơ xy được cho bởi

    D2(x,y)=(xy)Σ1(xy)
    nơi Σ là hiệp phương sai của dữ liệu.

(1) cho phép chúng ta giả sử phương tiện của các biến hồi quy đều bằng không. Nó vẫn còn để tính hi . Tuy nhiên, để tuyên bố là đúng, chúng ta cần thêm một giả định:

Mô hình phải bao gồm một đánh chặn.

Cho phép điều này, hãy có k0 hồi quy và dữ liệu n , viết giá trị của hồi quy j để quan sát ixij . Đặt vectơ cột của n giá trị này cho biến hồi quy j được viết x,j và vectơ hàng của các giá trị k này để quan sát i được viếtxi . Thìma trận mô hình

X=(1x11x1k1x21x2k1xn1xnk)

và theo định nghĩa, ma trận mũ là

H=X(XX)1X,

mục nhập của i dọc theo đường chéo là

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

Không có gì cho nó ngoài việc tìm ra ma trận trung tâm nghịch đảo - nhưng nhờ kết quả chính đầu tiên, thật dễ dàng, đặc biệt là khi chúng ta viết nó dưới dạng ma trận khối:

XX=n(100C)

nơi 0=(0,0,,0)

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

(Tôi đã viết Σ chomẫuma trận hiệp phương sai của hồi quy.) Bởi vì đây là khối chéo, nghịch đảo của nó có thể được tìm thấy bằng cách đảo ngược các khối:

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

Từ định nghĩa (1) chúng ta có được

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

Giải phương trình bình phương Mahalanobis Di2=D2(xi,0)

Di2=(n1)(hi1n),

QED .

1/nXn1n1n).


Giá trị chính của phân tích này là truyền đạt một giải thích hình học cho đòn bẩy, đo lường mức độ thay đổi của một đơn vị trong phản ứng khi quan sát Tôi sẽ thay đổi giá trị phù hợp tại quan sát đó: các quan sát đòn bẩy cao nằm ở khoảng cách Mahalanobis lớn từ tâm của các biến hồi quy, chính xác như một đòn bẩy hiệu quả cơ học hoạt động ở khoảng cách lớn từ điểm tựa của nó.


Mã R để chỉ ra rằng mối quan hệ thực sự giữ:

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))

Câu trả lời tuyệt vời, rất tròn với sự nghiêm khắc và trực giác. Chúc mừng!
cgrudz

Cảm ơn bài viết @whuber! Để kiểm tra độ tỉnh táo, đây là mã R để chỉ ra rằng mối quan hệ thực sự giữ: 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 Tôi không nghĩ rằng tôi cần kiểm tra độ tỉnh táo - nhưng cảm ơn bạn về mã. :-) Tôi đã thực hiện các sửa đổi để làm rõ nó và đầu ra của nó một chút.
whuber

1
@whuber, tôi muốn một ví dụ cho thấy cách làm cho sự bình đẳng hoạt động (nói rõ với tôi rằng tôi đã có những giả định đúng). Tôi cũng đã mở rộng mục nhập Wiki có liên quan: en.wikipedia.org/wiki/ Kẻ (cứ thoải mái chi tiêu cho nó ở đó, như bạn thấy phù hợp :))
Tal Galili
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.