การคำนวณค่าสัมประสิทธิ์สหสัมพันธ์เพียร์สัน
ดังที่กล่าวไว้ในวิดีโอ ค่าสัมประสิทธิ์สหสัมพันธ์เพียร์สัน หรือที่เรียกว่า Pearson r มักตีความได้ง่ายกว่าค่าความแปรปรวนร่วม โดยคำนวณด้วยฟังก์ชัน np.corrcoef() เช่นเดียวกับ np.cov() ฟังก์ชันนี้รับอาร์เรย์สองชุดเป็นอาร์กิวเมนต์และคืนค่าเป็นอาร์เรย์ 2 มิติ โดยที่ [0,0] และ [1,1] จะเท่ากับ 1 เสมอ (ลองคิดดูว่าเพราะอะไร) และค่าที่เราต้องการคือ [0,1]
ในแบบฝึกหัดนี้ จะได้เขียนฟังก์ชัน pearson_r(x, y) ที่รับอาร์เรย์สองชุดแล้วคืนค่าสัมประสิทธิ์สหสัมพันธ์เพียร์สัน จากนั้นนำฟังก์ชันนี้ไปคำนวณค่าสหสัมพันธ์ระหว่างความยาวและความกว้างของกลีบดอกของ I. versicolor
เราแนบ scatter plot ที่สร้างในแบบฝึกหัดก่อนหน้าเพื่อช่วยให้เห็นภาพความสัมพันธ์ระหว่างความกว้างและความยาวของกลีบดอก
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Statistical Thinking in Python (ตอนที่ 1)
คำแนะนำการฝึกหัด
- กำหนดฟังก์ชันที่มีลายเซ็น
pearson_r(x, y)- ใช้
np.corrcoef()คำนวณเมทริกซ์สหสัมพันธ์ของxและy(ส่งตามลำดับนั้น) - ฟังก์ชันคืนค่า
[0,1]ของเมทริกซ์สหสัมพันธ์
- ใช้
- คำนวณค่าสหสัมพันธ์เพียร์สันระหว่างข้อมูลในอาร์เรย์
versicolor_petal_lengthและversicolor_petal_widthแล้วกำหนดผลลัพธ์ให้กับr - แสดงผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def ____(____, ____):
"""Compute Pearson correlation coefficient between two arrays."""
# Compute correlation matrix: corr_mat
# Return entry [0,1]
return corr_mat[0,1]
# Compute Pearson correlation coefficient for I. versicolor: r
# Print the result