Beweisen Sie die Beziehung zwischen Mahalanobis Abstand und Hebelwirkung?


12

Ich habe Formeln auf Wikipedia gesehen. die Mahalanobis Distanz und Hebelwirkung in Beziehung setzen:

Der Mahalanobis-Abstand hängt eng mit der Verschuldungsstatistik , hat jedoch eine andere Skala:h

D2=(N1)(h1N).

In einem verlinkten Artikel beschreibt Wikipedia :h

Im linearen Regressionsmodell die Hebel Punktzahl für die wird Dateneinheit definiert ist als: die Diagonalelement des Hutes Matrix , wobei die Matrixtransponierte bezeichnet.ith

hii=(H)ii,
ithH=X(XX)1X

Ich kann nirgendwo einen Beweis finden. Ich habe versucht, von den Definitionen auszugehen, aber ich kann keine Fortschritte machen. Kann jemand einen Hinweis geben?

Antworten:


11

Meine Beschreibung der Mahalanobis-Distanz von unten nach oben Erklärung der Mahalanobis-Distanz? beinhaltet zwei wichtige Ergebnisse:

  1. Per Definition ändert es sich nicht, wenn die Regressoren gleichmäßig verschoben werden.

  2. Der quadratische Mahalanobis-Abstand zwischen den Vektoren und ist gegeben durch wobei die Kovarianz der Daten ist.xy

    D2(x,y)=(xy)Σ1(xy)
    Σ

(1) erlaubt uns anzunehmen, dass die Mittel der Regressoren alle Null sind. Es bleibt zu berechnen . Damit die Behauptung jedoch wahr ist, müssen wir eine weitere Annahme hinzufügen:hi

Das Modell muss einen Achsenabschnitt enthalten.

Lassen Sie dies zu, und geben Sie k0 Regressoren und n Daten an, und schreiben Sie den Wert des Regressors j für die Beobachtung i als xij . Der Spaltenvektor dieser n Werte für den Regressor j sei x,j und der Zeilenvektor dieser k Werte für die Beobachtung i sei xi . Dann wird die Modellmatrix ist ,

X=(1x11x1k1x21x2k1xn1xnk)

und per definitionem ist die Hutmatrix

H=X(XX)1X,

woher Eintrag i entlang der Diagonale ist

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

Es bleibt nichts anderes übrig, als diese zentrale Matrixinverse zu berechnen - aber aufgrund des ersten Schlüsselergebnisses ist es einfach, insbesondere wenn wir es in Blockmatrixform schreiben:

XX=n(100C)

wobei 0=(0,0,,0) und

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

(Ich habe Σ für die Sample- Kovarianzmatrix der Regressoren geschrieben.) Da dies eine Blockdiagonale ist, kann ihre Inverse einfach durch Invertieren der Blöcke ermittelt werden:

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

Aus der Definition (1) wir

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-Code, um zu zeigen, dass die Beziehung tatsächlich gilt:

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

Hervorragende Antwort, sehr gut mit Strenge und Intuition abgerundet. Prost!
CGRUDZ

Danke für den Beitrag @whuber! Zur Überprüfung der Vernunft ist hier der R-Code, um zu zeigen, dass die Beziehung tatsächlich gilt: 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 Ich hätte nicht gedacht, dass ich eine Plausibilitätsprüfung brauche - aber danke für den Code. :-) Ich habe Änderungen vorgenommen, um es und seine Ausgabe ein wenig zu klären.
Whuber

1
@whuber, ich wollte ein Beispiel, das zeigt, wie die Gleichstellung funktioniert (und mir klar macht, dass ich die richtigen Annahmen getroffen habe). Ich habe auch den entsprechenden Wiki-Eintrag erweitert: en.wikipedia.org/wiki/… (zögern Sie nicht, ihn auch dort auszugeben, wie Sie es für richtig halten :))
Tal Galili
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.