كيفية إجراء التنبؤ الساذج في r: مع أمثلة


التنبؤ الساذج هو التنبؤ الذي تكون فيه التوقعات لفترة معينة مساوية ببساطة للقيمة التي تمت ملاحظتها في الفترة السابقة.

على سبيل المثال، لنفترض أن لدينا المبيعات التالية لمنتج معين خلال الأشهر الثلاثة الأولى من العام:

إن توقعات مبيعات شهر أبريل ستساوي ببساطة المبيعات الفعلية لشهر مارس السابق:

مثال على التوقعات الساذجة

على الرغم من أن هذه الطريقة بسيطة، إلا أنها تميل إلى العمل بشكل جيد بشكل مدهش في الممارسة العملية.

يقدم هذا البرنامج التعليمي مثالاً خطوة بخطوة لكيفية إجراء تنبؤات ساذجة في R.

الخطوة 1: أدخل البيانات

أولاً سنقوم بإدخال بيانات المبيعات خلال فترة 12 شهراً لدى شركة وهمية:

 #create vector to hold actual sales data
actual <- c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24)

الخطوة 2: توليد توقعات ساذجة

بعد ذلك، سوف نستخدم الصيغ التالية لإنشاء توقعات ساذجة لكل شهر:

 #generate naive forecasts
forecast <- c(NA, actual[- length (actual)])

#view naive forecasts
forecast

[1] NA 34 37 44 47 48 48 46 43 32 27 26

لاحظ أننا استخدمنا ببساطة NA للقيمة الأولى المتوقعة.

الخطوة 3: قياس دقة التنبؤ

وأخيرا، يجب علينا قياس دقة التوقعات. يتضمن المقياسان الشائعان المستخدمان لقياس الدقة ما يلي:

  • متوسط النسبة المئوية للخطأ المطلق (MAPE)
  • يعني الخطأ المطلق (MAE)

يمكننا استخدام الكود التالي لحساب كلا المقياسين:

 #calculate MAPE
mean(abs((actual-forecast)/actual), na. rm = T ) * 100

[1] 9.898281

#calculate MAE
mean(abs(actual-forecast), na. rm = T )

[1] 3.454545

متوسط نسبة الخطأ المطلق هو 9.898% ومتوسط الخطأ المطلق 3.45.

لمعرفة ما إذا كانت هذه التوقعات مفيدة، يمكننا مقارنتها بنماذج التنبؤ الأخرى ومعرفة ما إذا كانت دقة القياس أفضل أم أسوأ.

الخطوة 4: تصور التوقعات

أخيرًا، يمكننا إنشاء مخطط خطي بسيط لتصور الاختلافات بين المبيعات الفعلية وتوقعات المبيعات الساذجة خلال كل فترة:

 #plot actual sales
plot(actual, type=' l ', col = ' red ', main=' Actual vs. Forecasted Sales ',
     xlab=' Sales Period ', ylab=' Sales ')

#add line for forecasted sales
lines(forecast, type=' l ', col = ' blue ')

#add legend
legend(' topright ', legend=c(' Actual ', ' Forecasted '),
       col=c(' red ', ' blue '), lty=1)

التنبؤ الساذج في R

لاحظ أن خط البيع المتوقع هو في الأساس نسخة متغيرة من خط البيع الفعلي.

وهذا هو بالضبط ما كنا نتوقعه لأن التوقعات الساذجة تتنبأ ببساطة بأن المبيعات في الفترة الحالية ستساوي مبيعات الفترة السابقة.

مصادر إضافية

كيفية حساب MAE في R
كيفية حساب MAPE في R
ما الذي يعتبر قيمة جيدة لـ MAPE؟

Add a Comment

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