皮爾森相關系數(Pearson Correlation Coefficient)
先講幾個統計學中一些基本的數學概念:
數學期望就是平均值:
均值公式:
方差:
另一種形式:
標准差:
標准差與方差不同的是,標准差和變量的計算單位相同,比方差清楚,因此很多時候我們分析的時候更多的使用的是標准差。
均值描述的是樣本集合的中間點,它告訴我們的信息是有限的,而標准差給我們描述的是樣本集合的各個樣本點到均值的距離之平均。
標准差和方差一般是用來描述一維數據的,但現實生活中我們常常會遇到含有多維數據的數據集,最簡單的是大家上學時免不了要統計多個學科的考試成績。面對這樣的數據集,我們當然可以按照每一維獨立的計算其方差,但是通常我們還想了解更多。
協方差:
展開:
或者:
故協方差主要用來度量各個維度偏離其均值的程度。如果結果為正值,則說明兩者是正相關的,如果結果為負值, 就說明兩者是負相關,如果為0,則兩者之間沒有關系,互相獨立。
協方差也只能處理二維問題,那維數多了自然就需要計算多個協方差,比如n維的數據集就需要計算個協方差,那自然而然我們會想到使用矩陣來組織這些數據。
協方差作為描述X和Y相關程度的量,在同一物理量綱之下有一定的作用,但同樣的兩個量采用不同的量綱使它們的協方差在數值上表現出很大的差異,於是引出皮爾森相關系數。
皮爾森相關系數
兩個變量之間的皮爾遜相關系數定義為兩個變量之間的協方差和標准差的商:
幾種常見形式:
由公式可知,Pearson 相關系數是用協方差除以兩個變量的標准差得到的,雖然協方差能反映兩個隨機變量的相關程度(協方差大於0的時候表示兩者正相關,小於0的時候表示兩者負相關),但其數值上受量綱的影響很大,不能簡單地從協方差的數值大小給出變量相關程度的判斷。為了消除這種量綱的影響,於是就有了相關系數的概念。
對皮爾森相關系數的通俗解釋
對於協方差,可以通俗的理解為:兩個變量在變化過程中是同方向變化?還是反方向變化?同向或反向程度如何?
你變大,同時我也變大,說明兩個變量是同向變化的,這時協方差就是正的。
你變大,同時我變小,說明兩個變量是反向變化的,這時協方差就是負的。
從數值來看,協方差的數值越大,兩個變量同向程度也就越大。反之亦然。
咱們從公式出發來理解一下:
公式簡單翻譯一下是:如果有X,Y兩個變量,每個時刻的“X值與其均值之差”乘以“Y值與其均值之差”得到一個乘積,再對這每時刻的乘積求和並求出均值(其實是求“期望”,但就不引申太多新概念了,簡單認為就是求均值了)。
下面舉個例子來說明吧:
比如有兩個變量X,Y,觀察t1-t7(7個時刻)他們的變化情況。
簡單做了個圖:分別用紅點和綠點表示X、Y,橫軸是時間。可以看到X,Y均圍繞各自的均值運動,並且很明顯是同向變化的。
如果反向運動呢?
當然上面說的是兩種特殊情況,很多時候X,Y的運動是不規律的,比如:
總結一下,如果協方差為正,說明X,Y同向變化,協方差越大說明同向程度越高;如果協方差為負,說明X,Y反向運動,協方差越小說明反向程度越高。
這種情況是有可能出現的,比如:
另外,如果你還鑽牛角尖,說如果t1,t2,t3……t7時刻X,Y都在增大,而且X都比均值大,Y都比均值小,這種情況協方差不就是負的了?7個負值求平均肯定是負值啊?但是X,Y都是增大的,都是同向變化的,這不就矛盾了?
這個更好解釋了:這種情況不可能出現!
因為,你的均值算錯了……
X,Y的值應該均勻的分布在均值兩側才對,不可能都比均值大,或都比均值小。
所以,實際它的圖應該是下面這樣的:
對於相關系數,我們從它的公式入手。一般情況下,相關系數的公式為:
就是用X、Y的協方差除以X的標准差和Y的標准差。
所以,相關系數也可以看成協方差:一種剔除了兩個變量量綱影響、標准化后的特殊協方差。
既然是一種特殊的協方差,那它:
1、也可以反映兩個變量變化時是同向還是反向,如果同向變化就為正,反向變化就為負。
2、由於它是標准化后的協方差,因此更重要的特性來了:它消除了兩個變量變化幅度的影響,而只是單純反應兩個變量每單位變化時的相似程度。
比較抽象,下面還是舉個例子來說明:
首先,還是承接上文中的變量X、Y變化的示意圖(X為紅點,Y為綠點),來看兩種情況:
很容易就可以看出以上兩種情況X,Y都是同向變化的,而這個“同向變化”,有個非常顯著特征:X、Y同向變化的過程,具有極高的相似度!無論第一還是第二種情況下,都是:t1時刻X、Y都大於均值,t2時刻X、Y都變小且小於均值,t3時刻X、Y繼續變小且小於均值,t4時刻X、Y變大但仍小於均值,t5時刻X、Y變大且大於均值……
可是,計算一下他們的協方差,
第一種情況下:
協方差差出了一萬倍,只能從兩個協方差都是正數判斷出兩種情況下X、Y都是同向變化,但是,一點也看不出兩種情況下X、Y的變化都具有相似性這一特點。
這是為什么呢?
因為以上兩種情況下,在X、Y兩個變量同向變化時,X變化的幅度不同,這樣,兩種情況的協方差更多的被變量的變化幅度所影響了。
所以,為了能准確的研究兩個變量在變化過程中的相似程度,我們就要把變化幅度對協方差的影響,從協方差中剔除掉。於是,相關系數就橫空出世了,就有了最開始相關系數的公式:
那么為什么要通過除以標准差的方式來剔除變化幅度的影響呢?咱們簡單從標准差公式看一下:
從公式可以看出,標准差計算方法為,每一時刻變量值與變量均值之差再平方,求得一個數值,再將每一時刻這個數值相加后求平均,再開方。
所以標准差描述了變量在整體變化過程中偏離均值的幅度。協方差除以標准差,也就是把協方差中變量變化幅度對協方差的影響剔除掉,這樣協方差也就標准化了,它反應的就是兩個變量每單位變化時的情況。這也就是相關系數的公式含義了。
當他們的相關系數為1時,說明兩個變量變化時的正向相似度最大,即,你變大一倍,我也變大一倍;你變小一倍,我也變小一倍。也即是完全正相關(以X、Y為橫縱坐標軸,可以畫出一條斜率為正數的直線,所以X、Y是線性關系的)。
隨着他們相關系數減小,兩個變量變化時的相似度也變小,當相關系數為0時,兩個變量的變化過程沒有任何相似度,也即兩個變量無關。
當相關系數繼續變小,小於0時,兩個變量開始出現反向的相似度,隨着相關系數繼續變小,反向相似度會逐漸變大。
當相關系數為-1時,說明兩個變量變化的反向相似度最大,即,你變大一倍,我變小一倍;你變小一倍,我變大一倍。也即是完全負相關(以X、Y為橫縱坐標軸,可以畫出一條斜率為負數的直線,所以X、Y也是線性關系的)。
有了上面的背景,我們再回到最初的變量X、Y的例子中,可以先看一下第一種情況的相關系數:
X的標准差為
說明第一種情況下,X的變化與Y的變化具有很高的相似度,而且已經接近完全正相關了,X、Y幾乎就是線性變化的。
那第二種情況呢?
X的標准差為
說明第二種情況下,雖然X的變化幅度比第一種情況X的變化幅度小了10000倍,但是絲毫沒有改變“X的變化與Y的變化具有很高的相似度”這一結論。同時,由於第一種、第二種情況的相關系數是相等的,因此在這兩種情況下,X、Y的變化過程有着同樣的相似度。
皮爾森相關系數的主要性質
1、有界性
相關系數的取值范圍為-1到1,其可以看成是無量綱的協方差。
2、統計意義
值越接近1,說明兩個變量正相關性(線性)越強,越接近-1,說明負相關性越強,當為0時表示兩個變量沒有相關性。
試用場景
當兩個變量的標准差都不為零時,相關系數才有意義,皮爾遜相關系數適用於:
(1)、兩個變量之間是線性關系,都是連續數據。
(2)、兩個變量的總體是正態分布,或接近正態的單峰分布。
(3)、兩個變量的觀測值是成對的,每對觀測值之間相互獨立
注:在時間序列領域的自相關函數ACF是類似的計算公式,可用於ARIMA模型平穩性判定和模型定階。
根據公式四,python3實現代碼:
參考地址,感謝各位作者:
https://www.cnblogs.com/arachis/p/Similarity.html
https://blog.csdn.net/u010670689/article/details/41896399
http://blog.codinglabs.org/articles/basic-statistics-calculate.html
https://blog.csdn.net/qq_29540745/article/details/52132836
http://bbs.pinggu.org/thread-5811958-1-1.html
https://blog.csdn.net/huangfei711/article/details/78456165?utm_source=gold_browser_extension
https://blog.csdn.net/AlexMerer/article/details/74908435
http://blog.sina.com.cn/s/blog_6aa3b1010102xkp5.html