始める無料で始める

相関行列と共分散行列の関係

このコースの前半で、.cov() で共分散行列を、.corr() で相関行列を取得しました。シミュレーションではこの2つを混同して誤用しがちです。ここで整理しましょう!

相関行列は標準化された共分散行列で、相関行列の相関係数は 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で学ぶモンテカルロ・シミュレーション

コースを見る

演習の手順

  • 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]}')
コードを編集して実行