データサイエンス-統計相関
相関
相関は、2つの変数間の関係を測定します。
関数には、入力(x)を出力(f(x))に変換することにより、値を予測する目的があることを説明しました。関数は2つの変数間の関係を予測に使用しているとも言えます。
相関係数
相関係数は、2つの変数間の関係を測定します。
相関係数は、-1未満または1を超えることはできません。
- 1 =変数間には完全な線形関係があります(Calorie_Burnageに対するAverage_Pulseなど)
- 0 =変数間に線形関係はありません
- -1 =変数間には完全な負の線形関係があります(たとえば、労働時間が少ない、トレーニングセッション中のカロリー燃焼が高くなる)
完全な線形関係の例(相関係数= 1)
散布図を使用して、Average_PulseとCalorie_Burnageの関係を視覚化します(10回の観測値を持つスポーツウォッチの小さなデータセットを使用しました)。
今回は散布図が必要なので、種類を「散布図」に変更します。
例
import matplotlib.pyplot as plt
health_data.plot(x ='Average_Pulse', y='Calorie_Burnage',
kind='scatter')
plt.show()
出力:
前に見たように、それはAverage_PulseとCalorie_Burnageの間に完全な線形関係が存在します。
完全な負の線形関係の例(相関係数= -1)
ここに架空のデータをプロットしました。x軸は、トレーニングセッションの前に私たちの仕事で働いた時間を表します。y軸はCalorie_Burnageです。
長時間働くと、トレーニング前に疲れ果ててしまうため、カロリー消費量が少なくなる傾向があります。
ここでの相関係数は-1です。
例
import pandas as pd
import matplotlib.pyplot as plt
negative_corr =
{'Hours_Work_Before_Training': [10,9,8,7,6,5,4,3,2,1],
'Calorie_Burnage':
[220,240,260,280,300,320,340,360,380,400]}
negative_corr = pd.DataFrame(data=negative_corr)
negative_corr.plot(x ='Hours_Work_Before_Training',
y='Calorie_Burnage', kind='scatter')
plt.show()
線形関係がない例(相関係数= 0)
ここでは、full_health_dataセットのDurationに対してMax_Pulseをプロットしました。
ご覧のとおり、2つの変数の間に線形関係はありません。これは、トレーニングセッションが長くてもMax_Pulseが高くならないことを意味します。
ここでの相関係数は0です。
例
import matplotlib.pyplot as plt
full_health_data.plot(x ='Duration', y='Max_Pulse',
kind='scatter')
plt.show()