Mối quan hệ giữa ma trận tương quan và ma trận hiệp phương sai
Trước đó trong khóa học, bạn đã dùng .cov() để lấy ma trận hiệp phương sai và .corr() để lấy ma trận tương quan. Hai khái niệm này rất dễ bị nhầm lẫn và dẫn đến dùng sai trong mô phỏng. Hãy làm rõ nhé!
Ma trận tương quan là ma trận hiệp phương sai được chuẩn hóa, trong đó các hệ số tương quan trong ma trận tương quan có giá trị từ 0 đến 1.
\(cov(x,y) = corr(x,y) \times std(x) \times std(y)\)
Công thức trên cho biết \(cov(x,y)\), tức giá trị hiệp phương sai, có thể được tính bằng cách nhân hệ số tương quan \(corr(x,y)\) với độ lệch chuẩn của \(x\), \(std(x)\), và độ lệch chuẩn của \(y\), \(std(y)\). Bạn sẽ kiểm chứng mối quan hệ này trong bài tập này!
Bộ dữ liệu tiểu đường đã được nạp thành một DataFrame, dia, và cả pandas với bí danh pd cùng numpy với bí danh np đã được nhập sẵn cho bạn.
Bài tập này là một phần của khóa học
Mô phỏng Monte Carlo với Python
Hướng dẫn bài tập
- Tính ma trận hiệp phương sai của
dia[["bmi", "tc"]], lưu thànhcov_dia2. - Tính ma trận tương quan của
dia[["bmi", "tc"]], lưu thànhcorr_dia2.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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]}')