說到相關係數需要了解的 3 個概念:相關分析、數據期望、協方差。先分別說明這些概念。
相關分析
相關分析是用來說明兩個變量之間的關係。這個關係包含:兩個變量的方向和強度。
按相關的程度不同分:完全相關、統計相關、完全無關。
數學期望
例子:某城市有 10 萬個家庭,沒有孩子的家庭有 1000 個,有一個孩子的家庭有 9 萬個,有兩個孩子的家庭有 6000 個,有 3 個孩子的家庭有 3000 個。則此城市中任一個家庭中孩子的數目是一個隨機變量,記為 X。它可取值 0,1,2,3。其中,X 取 0 的概率為 0.01,取 1 的概率為 0.9,取 2 的概率為 0.06,取 3 的概率為 0.03。則數學期望:
即此城市一個家庭平均有小孩 1.11 個,當然人不可能用 1.11 個來算,約等於 2 個。
協方差
協方差可以看這篇文章,已經說得比較清楚。《如何通俗地理解協方差與相關係數?》
相關係數
Pearson 相關係數:一般用來計算兩個連續型變量的相關係數。也是最常用的相關係數。公式這裡就不寫了,一些統計學的教程都有說明。當兩個變量的標準差都不為零時,相關係數才有定義,皮爾遜相關係數適用於:
兩個變量的觀測值是成對的,每對觀測值之間相互獨立。
Spearman 相關係數:兩個變量無論連續還是分類都可以使用。
kendall 相關係數:一個連續一個分類。最好是定序變量。
相關係數是公式的不同。主要的 Pearson 相關係數在上面那篇《如何通俗地理解協方差與相關係數?》也有說明,這裡不細說。
−1 ≤ 𝐶𝑜𝑟𝑌,𝑋 ≤ 1 代表的含義:
關於相關係數 r 的取值說明:
|r| 越接近 1,表明相關關係越密切;越接近於0,相關關係就越不密切。r = 0,兩變量無直線關係;
r = +1 或 r = -1,表明兩變量完全相關;
r > 0 現象呈正直線關係;r < 0 現象呈負相關;
在說明兩個變量之間線性關係的密切程度時,根據經驗可將相關程度分為以下幾種情況:當 |r| ≥ 0.8 時,視為高度相關;0.5 ≤ |r| < 0.8 時, 視為中度相關;0.3 ≤ |r| < 5時,視為低度相關;|r| < 0.3 時,說明兩個變量之間的相關程度極弱,可視為不相關。但這種說明必須建立在相關係數通過顯著性檢驗的基礎之上。
# 導入包
import seaborn as sns
from pandas import Series,DataFrame
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
# 拿到titanic數據集
titanic = sns.load_dataset('titanic')
# 查看前5行數據
titanic.head()
參數說明:method{『pearson』, 『kendall』, 『spearman』} ,默認 Pearson 相關係數;
min_periods:int類型可選值。觀察每對列所需的最小數,樣本最少的數據量。僅適用於 Pearson 和Spearman。
corr = titanic.corr()
corr
相關係數可視化plt.figure(figsize=(14,10))
sns.heatmap(corr,linewidths=0.2, cmap="YlGnBu",annot=True)