การทดสอบสมมติฐานบนค่าสหสัมพันธ์เพียร์สัน
ค่าสหสัมพันธ์ที่สังเกตได้ระหว่างการไม่รู้หนังสือของผู้หญิงกับอัตราการเจริญพันธุ์อาจเกิดขึ้นโดยบังเอิญก็ได้ นั่นคืออัตราการเจริญพันธุ์ของแต่ละประเทศอาจเป็นอิสระจากอัตราการไม่รู้หนังสือโดยสิ้นเชิง ในแบบฝึกหัดนี้จะทดสอบสมมติฐานดังกล่าว โดยการสุ่มสลับค่า illiteracy แต่คงค่า fertility ไว้เหมือนเดิม ซึ่งจำลองสมมติฐานที่ว่าตัวแปรทั้งสองเป็นอิสระต่อกัน จากนั้นคำนวณค่าสัมประสิทธิ์สหสัมพันธ์เพียร์สันในแต่ละรอบ แล้วประเมินว่า permutation replicate กี่ค่าที่มีค่าสหสัมพันธ์เพียร์สันมากกว่าค่าที่สังเกตได้
ฟังก์ชัน pearson_r() ที่เขียนไว้ในคอร์สก่อนหน้า สำหรับคำนวณค่าสัมประสิทธิ์สหสัมพันธ์เพียร์สันนั้นพร้อมใช้งานแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Statistical Thinking in Python (ตอนที่ 2)
คำแนะนำการฝึกหัด
- คำนวณค่าสหสัมพันธ์เพียร์สันที่สังเกตได้ระหว่าง
illiteracyและfertility - สร้างอาร์เรย์สำหรับเก็บค่า permutation replicate
- เขียน
forloop เพื่อสุ่ม replicate จำนวน 10,000 รอบ:- สุ่มสลับค่า
illiteracyโดยใช้np.random.permutation() - คำนวณค่าสหสัมพันธ์เพียร์สันระหว่างอาร์เรย์ illiteracy ที่สุ่มสลับแล้ว
illiteracy_permutedกับfertility
- สุ่มสลับค่า
- คำนวณและแสดงผล p-value จาก replicate
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Compute observed correlation: r_obs
r_obs = ____
# Initialize permutation replicates: perm_replicates
perm_replicates = np.empty(10000)
# Draw replicates
for ____ in ____:
# Permute illiteracy measurments: illiteracy_permuted
illiteracy_permuted = ____
# Compute Pearson correlation
perm_replicates[i] = ____
# Compute p-value: p
p = ____
print('p-val =', p)