كيفية حساب الانحراف المتوسط المطلق في بايثون
يقيس متوسط الانحراف المطلق توزيع الملاحظات في مجموعة البيانات.
يعد هذا مقياسًا مفيدًا بشكل خاص لأنه أقل تأثراً بالقيم المتطرفة من مقاييس التشتت الأخرى مثل الانحراف المعياري والتباين.
صيغة حساب الانحراف المتوسط المطلق، والتي غالبًا ما يتم اختصارها 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 في بايثون