Python で相関行列を作成する方法


2 つの変数間の関係を定量化する 1 つの方法は、2 つの変数間の線形関連性の尺度である ピアソン相関係数を使用することです

-1 から 1 までの値を取ります。ここで、

  • -1 は完全な負の線形相関を示します。
  • 0 は線形相関がないことを示します。
  • 1 は完全に正の線形相関を示します。

相関係数がゼロから離れるほど、2 つの変数間の関係が強くなります。

しかし場合によっては、変数の複数のペア間の相関関係を理解したいことがあります。このような場合、相関行列を作成できます。これは、変数のいくつかのペアごとの組み合わせ間の相関係数を示す正方形の表です。

このチュートリアルでは、Python で相関行列を作成および解釈する方法を説明します。

Python で相関行列を作成する方法

Python で相関行列を作成するには、次の手順を実行します。

ステップ 1: データセットを作成します。

 import pandas as pd

data = {'assists': [4, 5, 5, 6, 7, 8, 8, 10],
        'rebounds': [12, 14, 13, 7, 8, 8, 9, 13],
        'points': [22, 24, 26, 26, 29, 32, 20, 14]
        }

df = pd. DataFrame (data, columns=['assists','rebounds','points'])
df

   assist rebound points
0 4 12 22
1 5 14 24
2 5 13 26
3 6 7 26
4 7 8 29
5 8 8 32
6 8 9 20
7 10 13 14

ステップ 2: 相関行列を作成します。

 #create correlation matrix
df. corr ()

                assists rebound points
assists 1.000000 -0.244861 -0.329573
rebounds -0.244861 1.000000 -0.522092
points -0.329573 -0.522092 1.000000

#create same correlation matrix with coefficients rounded to 3 decimals 
df. corr (). round (3)
	       assists rebound points
assists 1.000 -0.245 -0.330
rebounds -0.245 1.000 -0.522
points -0.330 -0.522 1.000

ステップ 3: 相関行列を解釈します。

各変数はそれ自体と完全に相関しているため、テーブルの対角線に沿った相関係数はすべて 1 に等しくなります。

他のすべての相関係数は、変数の異なるペアごとの組み合わせ間の相関を示します。例えば:

  • アシストとリバウンドの相関係数は-0.245です。
  • アシストと得点の相関係数は-0.330です。
  • リバウンドと得点の相関係数は-0.522です。

ステップ 4: 相関行列を視覚化します (オプション)。

pandas で使用できるスタイル オプションを使用して、相関行列を視覚化できます。

 corr = df. corr ()
corr. style . background_gradient (cmap='coolwarm')

Python の相関行列

cmap引数を変更して、異なる色の相関行列を生成することもできます。

 corr = df. corr ()
corr. style . background_gradient (cmap=' RdYlGn ') 

Python の matplotlib を使用した相関行列

 corr = df. corr ()
corr. style . background_gradient (cmap=' bwr ') 

Pandasを使用した相関行列

 corr = df. corr ()
corr. style . background_gradient (cmap=' PuOr ') 

Python での相関行列の例

: cmap引数の完全なリストについては、 matplotlib のドキュメントを参照してください。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です