ピアソン相関係数を計算する
動画でも触れたように、ピアソン相関係数(Pearson r)は共分散よりも解釈しやすいことが多い指標です。これは np.corrcoef() 関数で計算します。np.cov() と同様に、2つの配列を引数に取り、2次元配列を返します。[0,0] と [1,1] の要素は必ず 1 になります(なぜか考えられますか?)。私たちが求める値は [0,1] の要素です。
この演習では、2つの配列を受け取りピアソン相関係数を返す関数 pearson_r(x, y) を作成します。その後、この関数を使って、I. versicolor の花弁(petal)の長さと幅の相関を計算します。
参考として、前の演習で作成した散布図を再掲します。花弁の幅と長さの関係性を思い出してください。
この演習はコースの一部です
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