كيفية حساب القيمة المتوقعة في لغة بايثون (مع أمثلة)


يخبرنا التوزيع الاحتمالي باحتمال أن يأخذ المتغير العشوائي قيمًا معينة.

على سبيل المثال، يخبرنا التوزيع الاحتمالي التالي باحتمالية أن يسجل فريق كرة قدم معين عددًا معينًا من الأهداف في مباراة معينة:

للعثور على القيمة المتوقعة للتوزيع الاحتمالي، يمكننا استخدام الصيغة التالية:

μ = Σx * P(x)

ذهب:

  • س: قيمة البيانات
  • P(x): احتمالية القيمة

على سبيل المثال، سيتم حساب عدد الأهداف المتوقعة لفريق كرة القدم على النحو التالي:

μ = 0*0.18 + 1*0.34 + 2*0.35 + 3*0.11 + 4*0.02 = 1.45 هدف.

لحساب القيمة المتوقعة للتوزيع الاحتمالي في بايثون، يمكننا تحديد دالة بسيطة:

 import numpy as np

def expected_value(values, weights):
    values = np. asarray (values)
    weights = np. asarray (weights)
    return (values * weights). sum ()/weights. sum ()

يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.

مثال: حساب القيمة المتوقعة في بايثون

يوضح التعليمة البرمجية التالية كيفية حساب القيمة المتوقعة للتوزيع الاحتمالي باستخدام الدالة المتوقعة_القيمة () التي حددناها سابقًا:

 #define values
values = [0, 1, 2, 3, 4]

#define probabilities
probs = [.18, .34, .35, .11, .02]

#calculate expected value
expected_value(values, probs)

1.450000

القيمة المتوقعة هي 1.45 . وهذا يطابق القيمة التي حسبناها يدويًا سابقًا.

لاحظ أن هذه الدالة ستُرجع خطأ إذا كان طول مصفوفة القيمة ومصفوفة الاحتمالية غير متساويين.

على سبيل المثال:

 #define values
values = [0, 1, 2, 3, 4]

#define probabilities
probs = [.18, .34, .35, .11, .02, .05, .11]

#attempt to calculate expected value
expected_value(values, probs)

ValueError : operands could not be broadcast together with shapes (5,) (7,) 

لقد تلقينا خطأ لأن طول المصفوفة الأولى هو 5 بينما طول المصفوفة الثانية هو 7 .

لكي تعمل دالة القيمة المتوقعة، يجب أن يكون طول المصفوفتين متساويين.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية حساب المقاييس الأخرى في بايثون:

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

Add a Comment

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