So berechnen sie den mahalanobis-abstand in r
Der Mahalanobis-Abstand ist der Abstand zwischen zwei Punkten in einem multivariaten Raum.
Es wird häufig verwendet, um Ausreißer in statistischen Analysen mit mehreren Variablen zu erkennen.
In diesem Tutorial wird erklärt, wie man den Mahalanobis-Abstand in R berechnet.
Beispiel: Mahalanobis-Distanz in R
Verwenden Sie die folgenden Schritte, um die Mahalanobis-Distanz für jede Beobachtung in einem Datensatz in R zu berechnen.
Schritt 1: Erstellen Sie den Datensatz.
Zunächst erstellen wir einen Datensatz, der die Prüfungsergebnisse von 20 Studenten zusammen mit der Anzahl der Lernstunden, der Anzahl der von ihnen abgelegten Übungsprüfungen und ihrer aktuellen Note im Kurs anzeigt:
#create data df = data.frame(score = c(91, 93, 72, 87, 86, 73, 68, 87, 78, 99, 95, 76, 84, 96, 76, 80, 83, 84, 73, 74) , hours = c(16, 6, 3, 1, 2, 3, 2, 5, 2, 5, 2, 3, 4, 3, 3, 3, 4, 3, 4, 4), prep = c(3, 4, 0, 3, 4, 0, 1, 2, 1, 2, 3, 3, 3, 2, 2, 2, 3, 3, 2, 2), grade = c(70, 88, 80, 83, 88, 84, 78, 94, 90, 93, 89, 82, 95, 94, 81, 93, 93, 90, 89, 89)) #view first six rows of data head(df) score hours prep grade 1 91 16 3 70 2 93 6 4 88 3 72 3 0 80 4 87 1 3 83 5 86 2 4 88 6 73 3 0 84
Schritt 2: Berechnen Sie die Mahalanobis-Distanz für jede Beobachtung.
Als nächstes verwenden wir die in R integrierte Funktion mahalanobis() , um die Mahalanobis-Distanz für jede Beobachtung zu berechnen, die die folgende Syntax verwendet:
Mahalanobis (x, Mitte, cov)
Gold:
- x: Datenmatrix
- Mitte: Durchschnittsvektor der Verteilung
- cov: Verteilungskovarianzmatrix
Der folgende Code zeigt, wie diese Funktion für unseren Datensatz implementiert wird:
#calculate Mahalanobis distance for each observation
mahalanobis(df, colMeans(df), cov(df))
[1] 16.5019630 2.6392864 4.8507973 5.2012612 3.8287341 4.0905633
[7] 4.2836303 2.4198736 1.6519576 5.6578253 3.9658770 2.9350178
[13] 2.8102109 4.3682945 1.5610165 1.4595069 2.0245748 0.7502536
[19] 2.7351292 2.2642268
Schritt 3: Berechnen Sie den p-Wert für jede Mahalanobis-Distanz.