كيفية حساب الانحراف المتوسط المطلق في بايثون


يقيس متوسط الانحراف المطلق توزيع الملاحظات في مجموعة البيانات.

يعد هذا مقياسًا مفيدًا بشكل خاص لأنه أقل تأثراً بالقيم المتطرفة من مقاييس التشتت الأخرى مثل الانحراف المعياري والتباين.

صيغة حساب الانحراف المتوسط المطلق، والتي غالبًا ما يتم اختصارها MAD، هي:

MAD = الوسيط (|x i – x m |)

ذهب:

  • x i : القيمة i لمجموعة البيانات
  • x m : القيمة المتوسطة في مجموعة البيانات

توضح الأمثلة التالية كيفية حساب متوسط الانحراف المطلق في بايثون باستخدام الدالة 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 في بايثون
كيفية حساب SMAPE في بايثون
كيفية حساب RMSE في بايثون

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *