كيفية حساب mape في r
أحد المقاييس الأكثر استخدامًا لقياس دقة التنبؤ للنموذج هو MAPE ، والذي يرمز إلى متوسط النسبة المئوية للخطأ المطلق .
صيغة حساب MAPE هي كما يلي:
MAPE = (1/n) * Σ(|فعلي – متوقع| / |فعلي|) * 100
ذهب:
- Σ – رمز فاخر يعني “المجموع”
- ن – حجم العينة
- حقيقي – القيمة الفعلية للبيانات
- التنبؤ – القيمة المتوقعة للبيانات
يتم استخدام MAPE بشكل شائع لأنه من السهل تفسيره وشرحه. على سبيل المثال، تعني قيمة MAPE البالغة 6% أن متوسط الفرق بين القيمة المتوقعة والقيمة الفعلية هو 6%.
يوفر هذا البرنامج التعليمي طريقتين مختلفتين يمكنك استخدامهما لحساب MAPE في R.
الطريقة الأولى: اكتب وظيفتك الخاصة
لنفترض أن لدينا مجموعة بيانات تحتوي على عمود يحتوي على قيم البيانات الفعلية وعمود يحتوي على قيم البيانات المتوقعة:
#create dataset data <- data. frame (actual=c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24), forecast=c(37, 40, 46, 44, 46, 50, 45, 44, 34, 30, 22, 23)) #view dataset data current forecast 1 34 37 2 37 40 3 44 46 4 47 44 5 48 46 6 48 50 7 46 45 8 43 44 9 32 34 10 27 30 11 26 22 12 24 23
لحساب MAPE، يمكننا استخدام الدالة التالية:
#calculate MAPE
mean(abs((data$actual-data$forecast)/data$actual)) * 100
[1] 6.467108
تبين أن MAPE لهذا النموذج هو 6.467% . أي أن متوسط الفرق المطلق بين القيمة المتوقعة والقيمة الفعلية هو 6.467%.
الطريقة الثانية: استخدام الحزمة
يمكننا أيضًا حساب MAPE لنفس مجموعة البيانات باستخدام الدالة MAPE() من حزمة MLmetrics ، والتي تستخدم بناء الجملة التالي:
مابي (y_pred، y_true)
ذهب:
- y_pred: القيم المتوقعة
- y_true: القيم الحقيقية
إليك بناء الجملة الذي سنستخدمه في مثالنا:
#load MLmetrics package library (MLmetrics) #calculate MAPE MAPE(data$forecast, data$actual) [1] 0.06467108
وينتج عن ذلك نفس قيمة MAPE البالغة 6.467% التي حسبناها باستخدام الطريقة السابقة.