資料科學 - 統計學 相關性
相關性
相關性衡量兩個變數之間的關係。
我們提到函式有一個預測值的目的,透過將輸入(x)轉換為輸出(f(x))。我們也可以說函式使用兩個變數之間的關係來進行預測。
相關係數
相關係數衡量兩個變數之間的關係。
相關係數永遠不會小於 -1 或大於 1。
- 1 = 變數之間存在完美的線性關係(例如,平均心率與卡路里消耗量)
- 0 = 變數之間不存線上性關係
- -1 = 變數之間存在完美的負線性關係(例如,工作時間越少,在訓練期間卡路里消耗量越高)
完美的線性關係示例(相關係數 = 1)
我們將使用散點圖來視覺化平均心率和卡路里消耗量之間的關係(我們使用了運動手錶的小資料集,共 10 個觀測值)。
這次我們想要散點圖,所以我們將 kind 改為“scatter”
示例
import matplotlib.pyplot as plt
health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='scatter')
plt.show()
自己動手試一試 »
輸出

正如我們之前看到的,平均心率和卡路里消耗量之間存在完美的線性關係。
完美的負線性關係示例(相關係數 = -1)

我們在此處繪製了虛構資料。x 軸表示訓練前工作的小時數。y 軸是卡路里消耗量。
如果我們工作更長時間,我們可能會因為在訓練前感到疲憊而消耗的卡路里更少。
此處的相關係數為 -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 資料集中繪製了最大心率與時長。
正如你所見,這兩個變數之間沒有線性關係。這意味著更長的訓練時間不會導致更高的最大心率。
此處的相關係數為 0。
示例
import matplotlib.pyplot as plt
full_health_data.plot(x ='Duration', y='Max_Pulse', kind='scatter')
plt.show()
自己動手試一試 »