เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การคำนวณจำนวนนับที่คาดหวัง

ในแบบฝึกหัดก่อนหน้า คุณได้คำนวณค่าเฉลี่ยและความแปรปรวนของข้อมูล crab และพบว่าค่าทั้งสองไม่เท่ากัน ในแบบฝึกหัดนี้ จะฝึกวิเคราะห์ overdispersion อีกวิธีหนึ่ง โดยใช้ค่าเฉลี่ยที่คำนวณไว้แล้วมาหาจำนวนนับที่คาดหวังสำหรับค่านับหนึ่งๆ เช่น จำนวนนับที่เป็นศูนย์ กล่าวคือ เราควรคาดหวังว่าจะมีดาวเทียมที่นับเป็นศูนย์กี่ตัวในกลุ่มตัวอย่าง โดยอ้างอิงจากค่าเฉลี่ยที่คำนวณได้

นึกถึงกราฟจากชุดข้อมูล crab ที่แสดงให้เห็นว่ามีจำนวนนับที่เป็นศูนย์จำนวนมาก

จำไว้ว่าการคำนวณจำนวนนับที่คาดหวังจากพารามิเตอร์ที่กำหนด สามารถใช้การแจกแจงแบบ Poisson ซึ่งนิยามด้วยสูตร

$$ P(y)=\frac{\lambda^ye^{-\lambda}}{y!} $$

ชุดข้อมูล crab และค่าเฉลี่ย sat_mean ที่คำนวณไว้แล้วถูกโหลดไว้ใน workspace เรียบร้อยแล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Generalized Linear Models ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ค่าเฉลี่ย sat_mean ที่คำนวณไว้และจำนวนนับเป็นศูนย์ \(y = 0\) เพื่อคำนวณจำนวนนับที่เป็นศูนย์ที่คาดหวัง โดยใช้ factorial() จากไลบรารี math
  • คำนวณจำนวนการสังเกตที่มีค่านับเป็นศูนย์ในตัวแปร sat โดยใช้ฟังก์ชัน sum() และคำนวณจำนวนการสังเกตทั้งหมดในกลุ่มตัวอย่างโดยใช้ฟังก์ชัน len()
  • แสดงผลอัตราส่วนระหว่างจำนวนการสังเกตที่นับเป็นศูนย์จริงกับจำนวนการสังเกตทั้งหมด

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Expected number of zero counts
exp_zero_cnt = ((____**____)*np.____(-____))/math.____(____)

# Print exp_zero_counts
print('Expected zero counts given mean of ', round(____,3), 
      'is ', round(____,3)*100)

# Number of zero counts in sat variable
actual_zero_cnt = sum(____[____]  == 0)

# Number of observations in crab dataset
num_obs = len(____)

# Print the percentage of zero count observations in the sample
print('Actual zero counts in the sample: ', round(____ / ____,3)*100)
แก้ไขและรันโค้ด