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

ความสัมพันธ์ระหว่างเมทริกซ์สหสัมพันธ์และเมทริกซ์ความแปรปรวนร่วม

ก่อนหน้านี้ในคอร์ส คุณใช้ .cov() เพื่อคำนวณเมทริกซ์ความแปรปรวนร่วม และ .corr() เพื่อคำนวณเมทริกซ์สหสัมพันธ์ ทั้งสองอาจสับสนกันได้ง่าย และนำไปใช้ผิดในการจำลองสถานการณ์ มาทำความเข้าใจให้ชัดเจนกัน!

เมทริกซ์สหสัมพันธ์คือเมทริกซ์ความแปรปรวนร่วมที่ผ่านการ ทำให้เป็นมาตรฐาน (standardized) โดยค่าสัมประสิทธิ์สหสัมพันธ์ในเมทริกซ์จะมีค่าอยู่ระหว่าง 0 ถึง 1

\(cov(x,y) = corr(x,y) \times std(x) \times std(y)\)

สมการข้างต้นบอกว่า \(cov(x,y)\) หรือค่าความแปรปรวนร่วม สามารถคำนวณได้โดยนำค่าสัมประสิทธิ์สหสัมพันธ์ \(corr(x,y)\) คูณกับส่วนเบี่ยงเบนมาตรฐานของ \(x\) คือ \(std(x)\) และส่วนเบี่ยงเบนมาตรฐานของ \(y\) คือ \(std(y)\) ในแบบฝึกหัดนี้จะได้ทดสอบความสัมพันธ์ดังกล่าว!

ชุดข้อมูลโรคเบาหวานถูกโหลดเป็น DataFrame ชื่อ dia และได้นำเข้า pandas เป็น pd และ numpy เป็น np ไว้ให้แล้ว

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

Monte Carlo Simulations ใน Python

ดูคอร์ส

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

  • คำนวณเมทริกซ์ความแปรปรวนร่วมของ dia[["bmi", "tc"]] แล้วบันทึกผลลัพธ์เป็น cov_dia2
  • คำนวณเมทริกซ์สหสัมพันธ์ของ dia[["bmi", "tc"]] แล้วบันทึกผลลัพธ์เป็น corr_dia2

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

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

# Calculate the covariance matrix of bmi and tc
cov_dia2 = ____

# Calculate the correlation matrix of bmi and tc
corr_dia2 = ____
std_dia2 = dia[["bmi","tc"]].std()

print(f'Covariance of bmi and tc from covariance matrix :{cov_dia2.iloc[0,1]}')
print(f'Covariance of bmi and tc from correlation matrix :{corr_dia2.iloc[0,1] * std_dia2[0] * std_dia2[1]}')
แก้ไขและรันโค้ด