Udowodnić związek między odległością Mahalanobis a dźwignią?

12

Widziałem formuły na Wikipedii. które odnoszą się do odległości i dźwigni Mahalanobisa:

Odległość Mahalanobisa jest ściśle związana ze statystyką dźwigni, , ale ma inną skalę:h

re2)=(N.-1)(h-1N.).

W powiązanym artykule Wikipedia opisuje w następujących terminach:h

W tym modelu regresji liniowej, wynik dźwigni dla jednostki danych, jest zdefiniowane jako: diagonalny element macierzy Hat , gdzie oznacza transpozycję macierzy.jath

hjaja=(H.)jaja,
jathH.=X(XX)-1X

Nigdzie nie mogę znaleźć dowodu. Próbowałem zacząć od definicji, ale nie mogę zrobić żadnego postępu. Czy ktoś może podpowiedzieć?

dave2d
źródło

Odpowiedzi:

11

Mój opis odległości Mahalanobis od dołu do góry wyjaśnienie odległości Mahalanobis? zawiera dwa kluczowe wyniki:

  1. Z definicji nie zmienia się, gdy regresory są równomiernie przesuwane.

  2. Kwadratowa odległość Mahalanobisa między wektorami x i y jest dana przez

    re2)(x,y)=(x-y)Σ-1(x-y)
    gdzie Σ jest kowariancją danych.

(1) pozwala założyć, że wszystkie regresory są zerowe. Pozostaje obliczyć hja . Jednak, aby twierdzenie było prawdziwe, musimy dodać jeszcze jedno założenie:

Model musi zawierać punkt przecięcia.

Pozwalając na to, niech będzie k0 regresory i n danych, pisanie wartość REGRESSOR jot do obserwacji ja jako xjajot . Niech wektor kolumna z tych n wartości dla REGRESSOR jot być napisany x,jot , a wektor rzędu tych k wartości dla obserwacji ja być napisane xja . Zatem macierz modelu jest

X=(1x11x1k1x21x2)k1xn1xnk)

a z definicji macierz kapelusza jest

H.=X(XX)-1X,

skąd wpis ja wzdłuż przekątnej jest

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

Nie ma nic innego, jak wypracować odwrotną macierz centralną - ale dzięki pierwszemu kluczowemu wynikowi jest to łatwe, szczególnie, gdy piszemy to w postaci macierzy blokowej:

XX=n(100C)

gdzie 0=(0,0,,0) i

dojotk=1nja=1nxjajotxjak=n-1nCov(xjot,xk)=n-1nΣjotk.

(Napisałem Σ dla przykładowej macierzy kowariancji regresorów.) Ponieważ jest to przekątna bloku, jej odwrotność można znaleźć po prostu odwracając bloki:

(XX)-1=1n(100do-1)=(1n001n-1Σ-1).

Z definicji (1) otrzymujemy

hja=(1;xja)(1n001n-1Σ-1)(1;xja)=1n+1n-1xjaΣ-1xja=1n+1n-1re2)(xja,0).

Rozwiązanie dla kwadratowej długości Mahalanobisa reja2)=re2)(xja,0) daje

reja2)=(n-1)(hja-1n),

QED .

Patrząc wstecz, możemy prześledzić addytywny termin 1/nXn-1n-1n


ja


Kod R, aby pokazać, że relacja rzeczywiście zawiera:

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
źródło
Doskonała odpowiedź, bardzo dobrze zaokrąglona z dyscypliną i intuicją. Twoje zdrowie!
cgrudz
Dzięki za post @whuber! Dla kontroli poczytalności, oto kod R, który pokazuje, że relacja rzeczywiście zawiera: x <- nazwy rtcars (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 Nie sądziłem, że potrzebuję kontroli poczytalności - ale dziękuję za kod. :-) Wprowadziłem modyfikacje, aby wyjaśnić to trochę i jego wynik.
whuber
1
@ Whuber chciałem przykład, który pokazuje, jak sprawić, by równość działała (dając mi do zrozumienia, że ​​prawidłowo założyłem założenia). Rozszerzyłem również odpowiedni wpis Wiki: en.wikipedia.org/wiki/... (krępuj się również wydać na niego tam, jak widać pasuje :))
Tal Galili