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?

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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.