最早接觸pearson相關係數時,是在大學《概率論與數理統計》課本中,後來從事數據分析挖掘相關的工作,經常會用到評價兩組數據之間的相關性,於是找到了皮爾森(pearson)相關係數。其實,還有一種相關係數斯皮爾曼(spearman)相關係數,肯德爾(kendall)相關係數。
在這三大相關係數中,spearman和kendall屬於等級相關係數亦稱為"秩相關係數",是反映等級相關程度的統計分析指標。今天先不介紹。
今天先聊一下比較常用的pearson相關係數。
用數學公式表示,皮爾森相關係數等於兩個變量的協方差除於兩個變量的標準差,先看一下公式:
pearson是一個介於-1和1之間的值,用來描述兩組線性的數據一同變化移動的趨勢。
當兩個變量的線性關係增強時,相關係數趨於1或-1;
當一個變量增大,另一個變量也增大時,表明它們之間是正相關的,相關係數大於0;
如果一個變量增大,另一個變量卻減小,表明它們之間是負相關的,相關係數小於0;
如果相關係數等於0,表明它們之間不存在線性相關關係。
pearson相關係數在python中的實現:
1,numpy庫中實現:
2,在scipy中實現,主要是在stats包中實現
得到的結果是一個元組,第一個元素是相關係數,第二個是P值,p-value越小,表示相關程度越顯著。
3,在pandas中運用,日常處理數據都是用pandas,這個當然少不了嘍
皮爾遜相關係數的適用範圍:
當兩個變量的標準差都不為零時,相關係數才有定義,皮爾遜相關係數適用於:
1. 兩個變量之間是線性關係,都是連續數據。
2. 兩個變量的總體是正態分佈,或接近正態的單峰分佈。
3. 兩個變量的觀測值是成對的,每對觀測值之間相互獨立。
閱讀更多 愛數據的小司機 的文章