統計相關係數簡介
由於使用的統計相關係數比較頻繁,所以這裏就利用幾篇文章簡單介紹一下這些係數。
相關係數:考察兩個事物(在數據裏我們稱之爲變量)之間的相關程度。
如果有兩個變量:X、Y,最終計算出的相關係數的含義可以有如下理解:
(1)、當相關係數爲0時,X和Y兩變量無關係。
(2)、當X的值增大(減小),Y值增大(減小),兩個變量爲正相關,相關係數在0.00與1.00之間。
(3)、當X的值增大(減小),Y值減小(增大),兩個變量爲負相關,相關係數在-1.00與0.00之間。
相關係數的絕對值越大,相關性越強,相關係數越接近於1或-1,相關度越強,相關係數越接近於0,相關度越弱。
通常情況下通過以下取值範圍判斷變量的相關強度:
相關係數 0.8-1.0 極強相關
0.6-0.8 強相關
0.4-0.6 中等程度相關
0.2-0.4 弱相關
0.0-0.2 極弱相關或無相關
Pearson(皮爾遜)相關係數
1、簡介
皮爾遜相關也稱爲積差相關(或積矩相關)是英國統計學家皮爾遜於20世紀提出的一種計算直線相關的方法。
假設有兩個變量X、Y,那麼兩變量間的皮爾遜相關係數可通過以下公式計算:
公式一:
公式二:
公式三:
公式四:
以上列出的四個公式等價,其中E是數學期望,cov表示協方差,N表示變量取值的個數。
2、適用範圍
當兩個變量的標準差都不爲零時,相關係數纔有定義,皮爾遜相關係數適用於:
(1)、兩個變量之間是線性關係,都是連續數據。
(2)、兩個變量的總體是正態分佈,或接近正態的單峯分佈。
(3)、兩個變量的觀測值是成對的,每對觀測值之間相互獨立。
3、Matlab實現
皮爾遜相關係數的Matlab實現(依據公式四實現):
- function coeff = myPearson(X , Y)
- % 本函數實現了皮爾遜相關係數的計算操作
- %
- % 輸入:
- % X:輸入的數值序列
- % Y:輸入的數值序列
- %
- % 輸出:
- % coeff:兩個輸入數值序列X,Y的相關係數
- %
- if length(X) ~= length(Y)
- error('兩個數值數列的維數不相等');
- return;
- end
- fenzi = sum(X .* Y) - (sum(X) * sum(Y)) / length(X);
- fenmu = sqrt((sum(X .^2) - sum(X)^2 / length(X)) * (sum(Y .^2) - sum(Y)^2 / length(X)));
- coeff = fenzi / fenmu;
- end %函數myPearson結束
也可以使用Matlab中已有的函數計算皮爾遜相關係數:
- coeff = corr(X , Y);
4、參考內容
http://zh.wikipedia.org/zh-cn/%E7%9B%B8%E5%85%B3