วิเคราะห์ข้อมูลที่มีการกระจายแบบเบ้ด้วย Permutation Test
Permutation test มีประโยชน์ในสถานการณ์ที่ไม่เป็นไปตามเงื่อนไขของการทดสอบสมมติฐานแบบที่คุ้นเคย ในแบบฝึกหัดนี้จะได้เขียน permutation test โดยใช้แพ็กเกจ statsmodels
เราสนใจเปรียบเทียบจำนวนรอบการระดมทุนเฉลี่ยระหว่างบริษัทในกลุ่ม analytics กับบริษัทที่ได้รับการลงทุนจาก venture capital กลุ่มอื่น แม้อาจอยากใช้ t-test แต่จำนวนรอบการระดมทุนนั้น ไม่ได้ มีการกระจายแบบปกติ บริษัทส่วนใหญ่มีเพียงรอบเดียว และจำนวนบริษัทที่มีสองรอบขึ้นไปลดลงอย่างรวดเร็ว
ข้อมูลต่อไปนี้ถูกโหลดไว้ให้แล้ว:
analytics_df- ข้อมูลของบริษัท analytics ทั้งหมดnon_analytics_df- ข้อมูลของบริษัทอื่นที่ไม่ใช่กลุ่ม analytics
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
พื้นฐานการอนุมานทางสถิติด้วย Python
คำแนะนำการฝึกหัด
- กำหนดฟังก์ชันสถิติที่รับกลุ่มตัวอย่างสองกลุ่ม คือ
fundings_group_1และfundings_group_2แล้วคืนค่าความแตกต่างของค่าเฉลี่ยfunding_rounds - ดำเนิน permutation test โดยใช้คอลัมน์
funding_roundsจากแต่ละชุดข้อมูล ฟังก์ชันสถิติที่กำหนดไว้ และการสุ่มตัวอย่างซ้ำ 100 ครั้ง - แสดงค่า p-value ที่ได้จาก permutation test
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Write a "statistic" function which calculates the difference in means
def statistic(funding_group_1, funding_group_2):
return ____(fundings_group_1) - ____(funding_group_2)
# Conduct a permutation test using 100 resamples
perm_result = stats.permutation_test((____['funding_rounds'], ____['funding_rounds']),
statistic=____,
n_resamples=____,
vectorized=____)
# Print the p-value
____(____.pvalue)