Sie können die folgende Formel verwenden, um eine Median-IF-Funktion in Google Tabellen auszuführen:
=MEDIAN(IF(GROUP_RANGE=VALUE, MEDIAN_RANGE))
Diese Formel findet den Mittelwert aller Zellen in einem bestimmten Bereich, die …
Der Mahalanobis-Abstand ist der Abstand zwischen zwei Punkten in einem multivariaten Raum. Es wird häufig verwendet, um Ausreißer in statistischen Analysen zu finden, die mehrere Variablen umfassen.
In diesem Tutorial wird erklärt, wie die Mahalanobis-Entfernung in R berechnet wird.
Verwenden Sie die folgenden Schritte, um die Mahalanobis-Entfernung für jede Beobachtung in einem Datensatz in R zu berechnen.
Schritt 1: Erstellen Sie den Datensatz.
Zunächst erstellen wir einen Datensatz, in dem die Prüfungsergebnisse von 20 Studenten zusammen mit der Anzahl der Stunden, die sie verbracht haben, der Anzahl der Vorbereitungsprüfungen und der aktuellen Note im Kurs angezeigt werden:
#Daten erstellen
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))
#Die ersten sechs Zeileneilen anzeigen
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-Entfernung für jede Beobachtung.
Als nächstes verwenden wir die integrierte Funktion mahalanobis() in R, um den Mahalanobis-Abstand für jede Beobachtung zu berechnen, wobei die folgende Syntax verwendet wird:
Mahalanobis (x, center, cov)
wo:
Der folgende Code zeigt, wie diese Funktion für unseren Datensatz implementiert wird:
#Berechnen Sie den Mahalanobis-Abstand für jede Beobachtung
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-Entfernung.
Wir können sehen, dass einige der Mahalanobis-Entfernungen viel größer sind als andere. Um festzustellen, ob einer der Abstände statistisch signifikant ist, müssen wir ihre p-Werte berechnen.
Der p-Wert für jede Entfernung wird als der p-Wert berechnet, der der Chi-Quadrat-Statistik der Mahalanobis-Entfernung mit k-1 Freiheitsgraden entspricht, wobei k = Anzahl der Variablen. In diesem Fall verwenden wir also einen Freiheitsgrad von 4-1 = 3.
#Erstellen Sie eine neue Spalte im Dataframe, um Mahalanobis-Entfernungen zu speichern
df$mahal <- mahalanobis(df, colMeans(df), cov(df))
#Erstellen Sie eine neue Spalte im Dataframe, um den p-Wert für jede Mahalanobis-Entfernung zu speichern
df$p <- pchisq(df$mahal, df=3, lower.tail=FALSE)
#Dataframe anzeigen
df
score hours prep grade mahal p
1 91 16 3 70 16.5019630 0.0008945642
2 93 6 4 88 2.6392864 0.4506437265
3 72 3 0 80 4.8507973 0.1830542407
4 87 1 3 83 5.2012612 0.1576392526
5 86 2 4 88 3.8287341 0.2805615121
6 73 3 0 84 4.0905633 0.2518495222
7 68 2 1 78 4.2836303 0.2324211504
8 87 5 2 94 2.4198736 0.4899458807
9 78 2 1 90 1.6519576 0.6476670033
10 99 5 2 93 5.6578253 0.1294978092
11 95 2 3 89 3.9658770 0.2651724541
12 76 3 3 82 2.9350178 0.4017530495
13 84 4 3 95 2.8102109 0.4218217836
14 96 3 2 94 4.3682945 0.2243432904
15 76 3 2 81 1.5610165 0.6682610031
16 80 3 2 93 1.4595069 0.6916471506
17 83 4 3 93 2.0245748 0.5673218169
18 84 3 3 90 0.7502536 0.8613248635
19 73 4 2 89 2.7351292 0.4342904353
20 74 4 2 89 2.2642268 0.5194087143
In der Regel wird ein p-Wert von weniger als 0,001 als Ausreißer betrachtet. Wir können sehen, dass die erste Beobachtung ein Ausreißer im Datensatz ist, da sie einen p-Wert von weniger als 0,001 hat.
Abhängig vom Kontext des Problems können Sie diese Beobachtung aus dem Datensatz entfernen, da es sich um einen Ausreißer handelt, der die Ergebnisse der Analyse beeinflussen kann.
Sie können die folgende Formel verwenden, um eine Median-IF-Funktion in Google Tabellen auszuführen:
=MEDIAN(IF(GROUP_RANGE=VALUE, MEDIAN_RANGE))
Diese Formel findet den Mittelwert aller Zellen in einem bestimmten Bereich, die …
Die prozentuale Änderung der Werte zwischen einer Periode und einer anderen Periode wird wie folgt berechnet:
Prozentuale Änderung = (Wert 2 – Wert 1 ) / Wert 1 * 100
Angenommen, ein Unternehmen macht in …