始める無料で始める

ピアソン相関係数を計算する

動画でも触れたように、ピアソン相関係数(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() を使って、xy(この順番で)から相関行列を計算します。
    • 関数は相関行列の [0,1] の要素を返します。
  • 配列 versicolor_petal_lengthversicolor_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
コードを編集して実行