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