Die mittlere absolute Abweichung misst die Streuung der Beobachtungen in einem Datensatz.

Dies ist eine besonders nützliche Metrik, da sie weniger von Ausreißern betroffen ist als andere Streuungsmaße wie Standardabweichung und Varianz.

Die Formel zur Berechnung der absoluten Medianabweichung, häufig als MAD abgekürzt, lautet wie folgt:

MAD = Median (| x i - x m |)

wo:

  • x i: Der i-te Wert im Datensatz
  • x m: Der Medianwert im Datensatz

Die folgenden Beispiele zeigen, wie die mittlere absolute Abweichung in Python mithilfe der mad-Funktion aus statsmodels berechnet wird.

Beispiel 1: Berechnen Sie MAD für ein Array

Der folgende Code zeigt, wie die mittlere absolute Abweichung für ein einzelnes NumPy-Array in Python berechnet wird:

import numpy as np
from statsmodels import robust

# Daten definieren
data = np.array([1, 4, 4, 7, 12, 13, 16, 19, 22, 24])

# MAD berechnen
robust.mad(data)

11.1195

Die mittlere absolute Abweichung für den Datensatz beträgt 11,1195.

Es ist wichtig zu beachten, dass die zur Berechnung von MAD verwendete Formel eine robuste Schätzung der Standardabweichung unter Annahme einer Normalverteilung berechnet, indem das Ergebnis um einen Faktor von ungefähr 0,67 skaliert wird.

Um die Verwendung dieses Skalierungsfaktors zu vermeiden, setzen Sie einfach c = 1 wie folgt:

# MAD ohne Skalierungsfaktor berechnen
robust.mad(data, c=1)

7.5

Beispiel 2: Berechnen Sie MAD für ein DataFrame

Der folgende Code zeigt, wie MAD für eine einzelne Spalte in einem Pandas DataFrame berechnet wird:

#Machen Sie dieses Beispiel reproduzierbar
np.random.seed(1)

# Pandas DataFrame erstellen
data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C'])

# Dataframe anzeigen
data

        A   B   C
0   5   8   9
1   5   0   0
2   1   7   6
3   9   2   4
4   5   2   4

# MAD für Spalte B berechnen
data[['B']].apply(robust.mad)

B    2.965204
dtype: float64

Die mittlere absolute Abweichung für Spalte B beträgt 2,965204.

Wir können eine ähnliche Syntax verwenden, um MAD für mehrere Spalten im Pandas DataFrame zu berechnen:

# MAD für alle Spalten berechnen
data[['A', 'B', 'C']].apply(robust.mad)

A    0.000000
B    2.965204
C    2.965204
dtype: float64

Die mittlere absolute Abweichung beträgt 0 für Spalte A, 2,965204 für Spalte B und 2,965204 für Spalte C.

Zusätzliche Ressourcen

So berechnen Sie MAPE in Python
So berechnen Sie SMAPE in Python
So berechnen Sie RMSE in Python

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: