データサイエンス-統計相関


相関

相関は、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()

出力:

相関係数= 1

前に見たように、それはAverage_PulseとCalorie_Burnageの間に完全な線形関係が存在します。



完全な負の線形関係の例(相関係数= -1)

相関係数= -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)

相関係数= 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()