วิธีการคำนวณค่าที่คาดหวังใน python (พร้อมตัวอย่าง)
การแจกแจงความน่าจะเป็นบอกเราถึงความน่าจะ เป็นที่ตัวแปร สุ่มใช้กับค่าบางค่า
ตัวอย่างเช่น การแจกแจงความน่าจะเป็นต่อไปนี้บอกเราถึงความน่าจะเป็นที่ทีมฟุตบอลบางทีมจะยิงประตูได้จำนวนหนึ่งในการแข่งขันที่กำหนด:
ในการค้นหา ค่าคาดหวัง ของการแจกแจงความน่าจะเป็น เราสามารถใช้สูตรต่อไปนี้:
µ = Σx * P(x)
ทอง:
- x: ค่าข้อมูล
- P(x): ความน่าจะเป็นของมูลค่า
ตัวอย่างเช่น จำนวนประตูที่คาดหวังของทีมฟุตบอลจะคำนวณดังนี้:
μ = 0*0.18 + 1*0.34 + 2*0.35 + 3*0.11 + 4*0.02 = 1.45 ประตู
ในการคำนวณค่าคาดหวังของการแจกแจงความน่าจะเป็นใน Python เราสามารถกำหนดฟังก์ชันง่ายๆ ได้:
import numpy as np def expected_value(values, weights): values = np. asarray (values) weights = np. asarray (weights) return (values * weights). sum ()/weights. sum ()
ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ
ตัวอย่าง: การคำนวณค่าที่คาดหวังใน Python
รหัสต่อไปนี้แสดงวิธีคำนวณค่าที่คาดหวังของการแจกแจงความน่าจะเป็นโดยใช้ฟังก์ชัน Expected_value() ที่เรากำหนดไว้ก่อนหน้านี้:
#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
เพื่อให้ฟังก์ชันค่าที่คาดหวังนี้ทำงานได้ ความยาวของอาร์เรย์ทั้งสองจะต้องเท่ากัน
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีคำนวณหน่วยวัดอื่นๆ ใน Python:
วิธีการคำนวณค่าเฉลี่ยแบบเล็มใน Python
วิธีการคำนวณค่าเฉลี่ยเรขาคณิตใน Python
วิธีการคำนวณค่าคลาดเคลื่อนมาตรฐานของค่าเฉลี่ยใน Python