การวัดค่าการถ่ายทอดทางพันธุกรรม
จำไว้ว่าสัมประสิทธิ์สหสัมพันธ์เพียร์สันคืออัตราส่วนของความแปรปรวนร่วมต่อค่าเฉลี่ยเรขาคณิตของความแปรปรวนของชุดข้อมูลทั้งสอง ซึ่งเป็นการวัดความสัมพันธ์ระหว่างพ่อแม่และลูกหลาน แต่อาจไม่ใช่การประมาณค่าการถ่ายทอดทางพันธุกรรมที่ดีที่สุด หากคิดให้รอบคอบแล้ว การนิยามค่าการถ่ายทอดทางพันธุกรรมให้เป็นอัตราส่วนของความแปรปรวนร่วมระหว่างพ่อแม่และลูกหลานต่อความแปรปรวนของพ่อแม่เพียงอย่างเดียวนั้นสมเหตุสมผลกว่า ในแบบฝึกหัดนี้ คุณจะประมาณค่าการถ่ายทอดทางพันธุกรรมและทำการคำนวณ pairs bootstrap เพื่อหาช่วงความเชื่อมั่น 95%
แบบฝึกหัดนี้ชี้ให้เห็นประเด็นสำคัญมาก การอนุมานทางสถิติ (และการวิเคราะห์ข้อมูลโดยทั่วไป) ไม่ใช่การนำสูตรมาใช้แบบอัตโนมัติ แต่ต้องคิดอย่างรอบคอบว่าต้องการตอบคำถามอะไรจากข้อมูล และวิเคราะห์ให้เหมาะสมกับคำถามนั้น หากสนใจว่าลักษณะใดถ่ายทอดทางพันธุกรรมได้มากน้อยเพียงใด ค่าที่เรานิยามว่าการถ่ายทอดทางพันธุกรรมนั้นเหมาะสมกว่าสถิติสำเร็จรูปอย่างสัมประสิทธิ์สหสัมพันธ์เพียร์สัน
ข้อมูลถูกเก็บไว้ใน bd_parent_scandens, bd_offspring_scandens, bd_parent_fortis และ bd_offspring_fortis
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Statistical Thinking in Python (ตอนที่ 2)
คำแนะนำการฝึกหัด
- เขียนฟังก์ชัน
heritability(parents, offspring)เพื่อคำนวณค่าการถ่ายทอดทางพันธุกรรม ซึ่งนิยามเป็นอัตราส่วนของความแปรปรวนร่วมของลักษณะในพ่อแม่และลูกหลานหารด้วยความแปรปรวนของลักษณะในพ่อแม่ คำใบ้: ทบทวนการใช้ฟังก์ชันnp.cov()ที่เคยกล่าวถึงในคอร์สก่อนหน้า - ใช้ฟังก์ชันนี้คำนวณค่าการถ่ายทอดทางพันธุกรรมสำหรับ G. scandens และ G. fortis
- สร้าง bootstrap replicate จำนวน 1000 ค่าของการถ่ายทอดทางพันธุกรรมโดยใช้ pairs bootstrap สำหรับ G. scandens และ G. fortis
- คำนวณช่วงความเชื่อมั่น 95% สำหรับทั้งสองสปีชีส์โดยใช้ bootstrap replicate ที่ได้
- แสดงผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def heritability(parents, offspring):
"""Compute the heritability from parent and offspring samples."""
covariance_matrix = np.cov(parents, offspring)
return ____ / ____
# Compute the heritability
heritability_scandens = ____
heritability_fortis = ____
# Acquire 1000 bootstrap replicates of heritability
replicates_scandens = draw_bs_pairs(
____, ____, ____, size=____)
replicates_fortis = draw_bs_pairs(
____, ____, ____, size=____)
# Compute 95% confidence intervals
conf_int_scandens = ____
conf_int_fortis = ____
# Print results
print('G. scandens:', heritability_scandens, conf_int_scandens)
print('G. fortis:', heritability_fortis, conf_int_fortis)