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')
cmap引数を変更して、異なる色の相関行列を生成することもできます。
corr = df. corr () corr. style . background_gradient (cmap=' RdYlGn ')
corr = df. corr () corr. style . background_gradient (cmap=' bwr ')
corr = df. corr () corr. style . background_gradient (cmap=' PuOr ')
注: cmap引数の完全なリストについては、 matplotlib のドキュメントを参照してください。