Buktikan hubungan antara jarak Mahalanobis dan Leverage?

12

Saya telah melihat formula di Wikipedia. yang menghubungkan jarak Mahalanobis dan Leverage:

Jarak mahalanobis terkait erat dengan statistik leverage, h , tetapi memiliki skala yang berbeda:

D2=(N1)(h1N).

Dalam artikel tertaut , Wikipedia menggambarkan h dalam istilah ini:

Dalam model regresi linear, nilai leverage yang untuk ith data unit didefinisikan sebagai:

hii=(H)ii,
yang ith elemen diagonal dari topi matriks H=X(XX)1X , di mana menunjukkan matriks transpos.

Saya tidak dapat menemukan bukti di mana pun. Saya mencoba memulai dari definisi tetapi saya tidak dapat membuat kemajuan. Adakah yang bisa memberi petunjuk?

dave2d
sumber

Jawaban:

11

Deskripsi saya tentang jarak Mahalanobis di Bawah ke atas penjelasan tentang jarak Mahalanobis? termasuk dua hasil utama:

  1. Menurut definisi, itu tidak berubah ketika para regresi secara seragam bergeser.

  2. Jarak Mahalanobis kuadrat antara vektor x dan y diberikan oleh

    D2(x,y)=(xy)Σ1(xy)
    mana Σ adalah kovarian data.

(1) memungkinkan kita untuk mengasumsikan bahwa sarana dari para regressor semuanya nol. Masih menghitung hi . Namun, agar klaim itu benar, kita perlu menambahkan satu asumsi lagi:

Model harus menyertakan intersep.

Mengizinkan ini, biarkan ada k0 regressor dan n data, tulis nilai regressor j untuk observasi i sebagai xij . Biarkan vektor kolom dari nilai-nilai n ini untuk regressor j ditulis x,j dan vektor baris dari nilai-nilai k ini untuk observasi i ditulis xi . Maka model matriksnya adalah

X=(1x11x1k1x21x2k1xn1xnk)

dan, menurut definisi, matriks topi adalah

H=X(XX)1X,

dari mana entri i sepanjang diagonal adalah

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

Tidak ada yang bisa dilakukan selain mengerjakan invers matriks pusat - tetapi berdasarkan hasil utama pertama, mudah, terutama ketika kita menulisnya dalam bentuk blok-matriks:

XX=n(100C)

di mana 0=(0,0,,0) dan

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


Kode R untuk menunjukkan bahwa relasi memang berlaku:

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))
whuber
sumber
Jawaban luar biasa, sangat lengkap dengan ketelitian dan intuisi. Bersulang!
cgrudz
Terima kasih untuk kiriman @whuber! Untuk pemeriksaan kewarasan, berikut adalah kode R untuk menunjukkan bahwa relasinya memang berlaku: 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) semua. sama (mahalanobis (x, colMeans (x), cov (x)), (n-1) ) * (h - 1 / n))
Tal Galili
1
@Tal Saya tidak berpikir saya perlu cek kewarasan - tetapi terima kasih atas kodenya. :-) Saya telah membuat modifikasi untuk mengklarifikasi dan hasilnya sedikit.
Whuber
1
@whuber, saya ingin contoh yang menunjukkan bagaimana membuat kesetaraan bekerja (menjelaskan kepada saya bahwa saya memiliki asumsi yang benar). Saya juga telah memperpanjang entri Wiki yang relevan: en.wikipedia.org/wiki/… (jangan ragu untuk juga membelanjakannya di sana, sesuai keinginan Anda :))
Tal Galili