Jak obliczyć bezwzględne odchylenie mediany w pythonie


Mediana bezwzględnego odchylenia mierzy rozkład obserwacji w zbiorze danych.

Jest to szczególnie przydatna miara, ponieważ w mniejszym stopniu wpływają na nią wartości odstające niż inne miary rozproszenia, takie jak odchylenie standardowe i wariancja.

Wzór na obliczenie bezwzględnego odchylenia mediany, często w skrócie MAD, jest następujący:

MAD = mediana (|x i – x m |)

Złoto:

  • x i : i-ta wartość zbioru danych
  • x m : mediana wartości w zbiorze danych

Poniższe przykłady pokazują, jak obliczyć medianę bezwzględnego odchylenia w Pythonie za pomocą funkcji mad statsmodels .

Przykład 1: Oblicz MAD dla tabeli

Poniższy kod pokazuje, jak obliczyć medianę bezwzględnego odchylenia dla pojedynczej tablicy NumPy w Pythonie:

 import numpy as np
from statsmodels import robust

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

#calculate MAD
robust. mad (data)

11.1195

Mediana bezwzględnego odchylenia dla zbioru danych wynosi 11,1195 .

Należy zauważyć, że wzór zastosowany do obliczenia MAD oblicza solidne oszacowanie odchylenia standardowego przy założeniu rozkładu normalnego poprzez skalowanie wyniku o współczynnik około 0,67.

Aby uniknąć stosowania tego współczynnika skalowania, po prostu ustaw c = 1 w następujący sposób:

 #calculate MAD without scaling factor
robust. mad (data, c=1)

7.5

Przykład 2: Oblicz MAD dla ramki danych

Poniższy kod pokazuje, jak obliczyć MAD dla pojedynczej kolumny w ramce DataFrame pandy:

 #make this example reproducible
n.p. random . seeds (1)

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

#view DataFrame
data

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

#calculate MAD for column B
data[[' B ']]. apply (robust. mad )

B 2.965204
dtype:float64

Bezwzględne odchylenie mediany dla kolumny B wynosi 2,965204 .

Możemy użyć podobnej składni do obliczenia MAD dla wielu kolumn w ramce DataFrame pand:

 #calculate MAD for all columns
data[[' A ',' B ',' C ']]. apply (robust. mad )

At 0.000000
B 2.965204
C 2.965204
dtype:float64

Bezwzględne odchylenie mediany wynosi 0 dla kolumny A, 2,965204 dla kolumny B i 2,965204 dla kolumny C.

Dodatkowe zasoby

Jak obliczyć MAPE w Pythonie
Jak obliczyć SMAPE w Pythonie
Jak obliczyć RMSE w Pythonie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *