Як обчислити абсолютне середнє відхилення в 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *