開始使用免費開始

相關與共變異數矩陣之間的關係

在本課前面的內容中,你用 .cov() 取得共變異數矩陣,並用 .corr() 取得相關係數矩陣。在模擬時,兩者很容易被混淆而用錯。讓我們來釐清!

相關係數矩陣是「標準化」後的共變異數矩陣,其中的相關係數介於 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,而且已為你匯入 pandaspdnumpynp

本練習屬於課程

Python 的 Monte Carlo 模擬

檢視課程

練習說明

  • 計算 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]}')
編輯並執行程式碼