Як обчислити абсолютне середнє відхилення в python
Середнє абсолютне відхилення вимірює розподіл спостережень у наборі даних.
Це особливо корисний показник, оскільки на нього менше впливають викиди, ніж на інші показники дисперсії, такі як стандартне відхилення та дисперсія.
Формула для обчислення абсолютного середнього відхилення, часто скорочено MAD, є:
MAD = медіана (|x i – x m |)
золото:
- x i : i-те значення набору даних
- x m : середнє значення в наборі даних
У наступних прикладах показано, як обчислити середнє абсолютне відхилення в Python за допомогою функції statsmodels mad .
Приклад 1: обчисліть MAD для таблиці
Наступний код показує, як обчислити середнє абсолютне відхилення для одного масиву NumPy у Python:
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
Середнє абсолютне відхилення для набору даних виявляється рівним 11,1195 .
Важливо зазначити, що формула, яка використовується для розрахунку MAD, обчислює надійну оцінку стандартного відхилення за умови нормального розподілу шляхом масштабування результату з коефіцієнтом приблизно 0,67.
Щоб уникнути використання цього коефіцієнта масштабування, просто встановіть c = 1 наступним чином:
#calculate MAD without scaling factor robust. mad (data, c=1) 7.5
Приклад 2: обчислення MAD для DataFrame
Наступний код показує, як обчислити MAD для одного стовпця в pandas DataFrame:
#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
Абсолютне середнє відхилення для стовпця B дорівнює 2,965204 .
Ми можемо використовувати аналогічний синтаксис для обчислення MAD для кількох стовпців у pandas DataFrame:
#calculate MAD for all columns
data[[' A ',' B ',' C ']]. apply (robust. mad )
At 0.000000
B 2.965204
C 2.965204
dtype:float64
Абсолютне середнє відхилення дорівнює 0 для стовпця A, 2,965204 для стовпця B і 2,965204 для стовпця C.
Додаткові ресурси
Як розрахувати MAPE в Python
Як розрахувати SMAPE в Python
Як обчислити RMSE в Python