相關分析


相關分析

相關分析:

  • 衡量事物之間或稱變量之間線性相關程度的強弱,並用適當的統計指標表示出來的過程。
  • 比如,家庭收入和支出、一個人所受教育程度與其收入、子女身高和父母身高等

相關系數:

  • 衡量變量之間相關程度的一個量值
  • 相關系數r的數值范圍是在一1到十1之間
  • 相關系數r的正負號表示變化方向。“+”號表示變化方向一致,即正相關;“-”號表示變化方向相反,即負相關
  • r的絕對值表示變量之間的密切程度(即強度)。絕對值越接近1,表示兩個變量之間關系越密切;越接近0,表示兩個變量之間關系越不密切
  • 相關系數的值,僅僅是一個比值。它不是由相等單位度量而來(即不等距),也不是百分比,因此,不能直接作加、減、乘、除運算
  • 相關系數只能描述兩個變量之間的變化方向及密切程度,並不能揭示兩者之間的內在本質聯系,即存在相關的兩個變量,不一定存在因果關系
correlation1

連續變量的相關分析

  • 連續變量即數據變量,它的取值之間可以比較大小,可以用加減法計算出差異的大小。如“年齡”、“收入”、“成績”等變量。

  • 當兩個變量都是正態連續變量,而且兩者之間呈線性關系時,通常用Pearson相關系數來衡量

皮爾森Pearson相關系數

協方差:

協方差是一個反映兩個隨機變量相關程度的指標,如果一個變量跟隨着另一個變量同時變大或者變小,那么這兩個變量的協方差就是正值

correlation2

雖然協方差能反映兩個隨機變量的相關程度(協方差大於0的時候表示兩者正相關,小於0的時候表示兩者負相關),但是協方差值的大小並不能很好地度量兩個隨機變量的關聯程度。

在二維空間中分布着一些數據,我們想知道數據點坐標X軸和Y軸的相關程度,如果X與Y的相關程度較小但是數據分布的比較離散,這樣會導致求出的協方差值較大,用這個值來度量相關程度是不合理的
correlation4

為了更好的度量兩個隨機變量的相關程度,引入了Pearson相關系數,其在協方差的基礎上除以了兩個隨機變量的標准差

pearson相關系數

correlation3

pearson是一個介於-1和1之間的值,當兩個變量的線性關系增強時,相關系數趨於1或-1;當一個變量增大,另一個變量也增大時,表明它們之間是正相關的,相關系數大於0;如果一個變量增大,另一個變量卻減小,表明它們之間是負相關的,相關系數小於0;如果相關系數等於0,表明它們之間不存在線性相關關系。
correlation5

np.corrcoef(a)可計算行與行之間的相關系數,np.corrcoef(a,rowvar=0)用於計算各列之間的相關系數

import numpy as np
tang = np.array([[10, 10, 8, 9, 7],  
       [4, 5, 4, 3, 3],  
       [3, 3, 1, 1, 1]])
tang

輸出:

array([[10, 10,  8,  9,  7],
       [ 4,  5,  4,  3,  3],
       [ 3,  3,  1,  1,  1]])
np.corrcoef(tang)

輸出:

array([[ 1.        ,  0.64168895,  0.84016805],
       [ 0.64168895,  1.        ,  0.76376262],
       [ 0.84016805,  0.76376262,  1.        ]])
np.corrcoef(tang,rowvar=0) 

輸出:

array([[ 1.        ,  0.98898224,  0.9526832 ,  0.9939441 ,  0.97986371],
       [ 0.98898224,  1.        ,  0.98718399,  0.99926008,  0.99862543],
       [ 0.9526832 ,  0.98718399,  1.        ,  0.98031562,  0.99419163],
       [ 0.9939441 ,  0.99926008,  0.98031562,  1.        ,  0.99587059],
       [ 0.97986371,  0.99862543,  0.99419163,  0.99587059,  1.        ]])

倫敦的月平均氣溫與降水量

correlation7

計算倫敦市月平均氣溫(t)與降水量(p)之間的相關系數

correlation8 correlation9

計算結果表明,倫敦市的月平均氣溫(t)與降水量(p)之間呈負相關,即異向相關

相關系數的顯著性檢驗

假設

  • H0: ρ=0
  • H1: ρ≠0

統計量

correlation11

10個學生初一數學分數與初二數學分數的相關系數為0.87,問從總體上來說,初一與初二數學分數是否存在相關?

correlation12

計算檢驗統計量:

correlation13 correlation14

所以,從總體上說,初一數學分數與初二數學分數存在正相關。

import numpy as np
import scipy.stats as stats  
import scipy
# https://docs.scipy.org/doc/scipy-0.19.1/reference/stats.html#module-scipy.stats

x = [10.35, 6.24, 3.18, 8.46, 3.21, 7.65, 4.32, 8.66, 9.12, 10.31]  
y = [5.1, 3.15, 1.67, 4.33, 1.76, 4.11, 2.11, 4.88, 4.99, 5.12]  
correlation,pvalue = stats.stats.pearsonr(x,y) 
print ('correlation',correlation)
print ('pvalue',pvalue)

輸出:

correlation 0.989176319869
pvalue 5.92687594648e-08
import matplotlib.pyplot as plt
plt.scatter(x,y)
plt.show()

輸出:
correlationoutput

等級變量的相關分析

當測量得到的數據不是等距或等比數據,而是具有等級順序的數據;或者得到的數據是等距或等比數據,但其所來自的總體分布不是正態的,不滿足求皮爾森相關系數(積差相關)的要求。這時就要運用等級相關系數。
先來看一個小實驗,兩個基因A、B,他們的表達量關系是B=2A,在8個樣本中的表達量值如下:

correlation15 correlation16

計算得出,他們的皮爾森相關系數r=1,P-vlaue≈0,從以上可以直觀看出,如果兩個基因的表達量呈線性關系,則具有顯著的皮爾森相關性。

以上是兩個基因呈線性關系的結果。如果兩者呈非線性關系,例如冪函數關系(曲線關系),那又如何呢? 我們再試試。

兩個基因A、D,他們的關系是D=A^10,在8個樣本中的表達量值如下:

correlation17 correlation18
import numpy as np
import scipy.stats as stats  
import scipy

x = [0.6,0.7,1,2.1,2.9,3.2,5.5,6.7]
y = np.power(x,10)
correlation,pvalue = stats.stats.pearsonr(x,y) 
print ('correlation',correlation)
print ('pvalue',pvalue)

輸出:

correlation 0.765928796314
pvalue 0.0266964972088

可以看到,基因A、D相關系數,無論數值還是顯著性都下降了。皮爾森相關系數是一種線性相關系數,因此如果兩個變量呈線性關系的時候,具有最大的顯著性。對於非線性關系(例如A、D的冪函數關系),則其對相關性的檢測功效會下降。

這時我們可以考慮另外一個相關系數計算方法:斯皮爾曼等級相關。

斯皮爾曼等級相關

當兩個變量值以等級次序排列或以等級次序表示時,兩個相應總體並不一定呈正態分布,樣本容量也不一定大於30,表示這兩變量之間的相關,稱為Spearman等級相關。

簡單點說,就是無論兩個變量的數據如何變化,符合什么樣的分布,我們只關心每個數值在變量內的排列順序。如果兩個變量的對應值,在各組內的排序順位是相同或類似的,則具有顯著的相關性。

correlation20
  • n為等級個數
  • d為二列成對變量的等級差數
    將上表轉換成排序等級
correlation21

利用斯皮爾曼等級相關計算A、D基因表達量的相關性,結果是:r=1,p-value = 4.96e-05

這里斯皮爾曼等級相關的顯著性顯然高於皮爾森相關。這是因為雖然兩個基因的表達量是非線性關系,但兩個基因表達量在所有樣本中的排列順序是完全相同的,因為具有極顯著的斯皮爾曼等級相關性。

x = [10.35, 6.24, 3.18, 8.46, 3.21, 7.65, 4.32, 8.66, 9.12, 10.31]  
y = [5.13, 3.15, 1.67, 4.33, 1.76, 4.11, 2.11, 4.88, 4.99, 5.12]  
correlation,pvalue = stats.stats.spearmanr(x,y)  

print ('correlation',correlation)
print ('pvalue',pvalue)

輸出:

correlation 1.0
pvalue 6.64689742203e-64
x = [10.35, 6.24, 3.18, 8.46, 3.21, 7.65, 4.32, 8.66, 9.12, 10.31]  
y = [5.13, 3.15, 1.67, 4.33, 1.76, 4.11, 2.11, 4.88, 4.99, 5.12]
x = scipy.stats.stats.rankdata(x)
y = scipy.stats.stats.rankdata(y)
print (x,y)
correlation,pvalue = stats.stats.spearmanr(x,y) 
print ('correlation',correlation)
print ('pvalue',pvalue)

輸出:

[ 10.   4.   1.   6.   2.   5.   3.   7.   8.   9.] [ 10.   4.   1.   6.   2.   5.   3.   7.   8.   9.]
correlation 1.0
pvalue 6.64689742203e-64

斯皮爾曼實例

10名高三學生學習潛在能力測驗與自學能力測驗成績如下表所示,問兩者相關情況如何?

correlation22

計算等級相關系數

correlation23

等級相關系數的顯著性檢驗

  • 與積差相關系數檢驗的方法相同

10個學生學習潛在能力與自學能力測驗成績相關系數為0.891,問從總體上說,兩者是否存在相關?

計算檢驗統計量的值:

correlation24 correlation25

所以學生的學習潛在能力與自學能力之間存在着較高的正相關。

肯德爾和諧系數(Kendall)

當多個(兩個以上)變量值以等級次序排列或以等級次序表示,描述這幾個變量之間的一致性程度的量,稱為肯德爾和諧系數。它常用來表示幾個評定者對同一組學生成績用等級先后評定多次之間的一致性程度。

同一評價者無相同等級評定時,計算公式:

correlation26 

     

  • N—被評的對象數;
  • K—評分者人數或評分所依據的標准數;
  • S—每個被評對象所評等級之和Ri與所有這些和的平均數的離差平方和
correlation27

當評分者意見完全一致時,S取得最大值,和諧系數是實際求得的S與其最大可能取值的比值,故0≤W≤1。

同一評價者有相同等級評定時,計算公式

correlation28 correlation29
  • mi為第i個評價者的評定結果中有重復等級的個數。
  • nij為第i個評價者的評定結果中第j個重復等級的相同等級數。
  • 對於評定結果無相同等級的評價者,Ti = 0,因此只須對評定結果有相同等級的評價者計算Ti。

實例1:同一評價者無相同等級評定時

某校開展學生小論文比賽,請6位教師對入選的6篇論文評定得獎等級,結果如下表所示,試計算6位教師評定結果的kandall和諧系數。

correlation30

由於每個評分老師對6篇論文的評定都無相同的等級:

correlation31

由W=0.87表明6位老師的評定結果有較大的一致性

實例2:同一評價者有相同等級評定時

3名專家對6篇心理學論文的評分經等級轉換如下表所示,試計算專家評定結果的肯德爾和諧系數

correlation32

由於專家甲、丙對6篇論文有相同等級的評定

甲T = 23 − 2 = 6

丙T = (23 − 2) + (23 − 2) = 12

correlation33

由W=0.85可看出專家評定結果有較大的一致性

肯德爾和諧系數的顯著性檢驗

評分者人數(k)在3-20之間,被評者(N)在3-7之間時,可查《肯德爾和諧系數(W)顯著性臨界值表》,檢驗W是否達到顯著性水平。若實際計算的S值大於k、N相同的表內臨界值 ,則W達到顯著水平。

當K=6 N=6,查表得檢驗水平分別為α = 0.01,α = 0.05的臨界值各為S0.01 = 282.4,S0.05 = 221.4,均小於實算的S=546,故W達到顯著水平,認為6位教師對6篇論文的評定相當一致。

當被評者n>7時,則可用如下的x2統計量對W是否達到顯著水平作檢驗。

x1 = [10, 9, 8, 7, 6]
x2 = [10, 8, 9, 6, 7]

tau, p_value = stats.kendalltau(x1, x2)
print ('tau',tau)
print ('p_value',p_value)

輸出:

tau 0.6
p_value 0.141644690295

質量相關分析

質量相關是指一個變量為質,另一個變量為量,這兩個變量之間的相關。如智商、學科分數、身高、體重等是表現為量的變量,男與女、優與劣、及格與不及格等是表現為質的變量。

質與量的相關主要包括二列相關、點二列相關、多系列相關。

二列相關

當兩個變量都是正態連續變量.其中一個變量被人為地划分成二分變量(如按一定標推將屬於正態連續變量的學科考試分數划分成及格與不及格,錄取與未錄取,把某一體育項目測驗結果划分成通過與未通過,達標與末達標,把健康狀況划分成好與差,等等),表示這兩個變量之間的相關,稱為二列相關。

二列相關的使用條件:

  • 兩個變量都是連續變量,且總體呈正態分布,或總體接近正態分布,至少是單峰對稱分布。
  • 兩個變量之間是線性關系。
  • 二分變量是人為划分的,其分界點應盡量靠近中值。
  • 樣本容量應當大於80。
correlation34

二列相關實例:

10名考生成績如下,包括總分和一道問答題,試求該問答題的區分度(6分以上為通過,包括6分)

correlation35

問答題,被人為的分成兩類,通過和不通過,應求二列相關。

correlation36

區分度略高

點二列相關

當兩個變量其中一個是正態連續性變量,另一個是真正的二分名義變量(例如,男與女,已婚和未婚,色盲與非色盲,生與死,等等),這時,表示這兩個變量之間的相關,稱為點二列相關。

correlation37

點二列相關實例:

有50道選擇題,每題2分,有20人的總成績和第五題的情況,第五題與總分的相關程度如何。

correlation38

p(答對學生的比例) = 10/20 = 0.5 ,q = 1-p = 0.5
correlation39

相關系數較高,第五題的情況與總分有一致性(區分度較高)

x = [1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,0,0,0]
y = [84,82,76,60,72,74,76,84,88,90,78,80,92,94,96,88,90,78,76,74]
stats.pointbiserialr(x, y)

輸出:

PointbiserialrResult(correlation=0.7849870641173371, pvalue=4.1459279734903919e-05)

品質相關分析

兩個變量都是按質划分成幾種類別,表示這兩個變量之間的相關稱為品質相關。

如,一個變量按性別分成男與女,另一個變量按學科成績分成及格與不及格;又如,一個變量按學校類別分成重點及非重點,另一個變量按學科成績分成優、良、中、差,等等。

列聯相關系數

correlation40

2531名學生和教師進行了抽樣調查,計算調查對象和態度之間的列聯相關系數,並進行統計顯著檢驗

correlation41 correlation42

φ相關

correlation43

為了研究青年大學生對性別與對心里測驗態度的關系,選取了170名青年進行心里測驗,計算性別對測驗態度的φ相關系數

correlation44 correlation45

偏相關分析

在多要素所構成的一個系統中,先不考慮其它要素的影響,而單獨研究兩個要素之間的相互關系的密切程度,這稱為偏相關。用以度量偏相關程度的統計量,稱為偏相關系數。

在分析變量x1和x2之間的凈相關時,當控制了變量x3的線性作用后,x1和x2之間的一階偏相關系數定義為:

correlation46

對於某四個地理要素x1,x2,x3,x4的23個樣本數據,經過計算得到了如下的單相關系數矩陣:

correlation47

計算可得部分偏相關系數:

correlation48

偏相關系數的性質

  • 偏相關系數分布的范圍在-1到1之間
  • 偏相關系數的絕對值越大,表示其偏相關程度越大
  • 偏相關系數的絕對值必小於或最多等於由同一系列資料所求得的復相關系數,即 R1·23≥|r12·3|

偏相關系數的顯著性檢驗

correlation49
  • n:樣本容量
  • k是剔除了的變量數
  • r是偏相關系數
    當有3個要素時,有三個偏相關系數,稱為一級偏相關系數

當有4個要素時,則有六個偏相關系數,則稱他們為二級偏相關系數

復相關系數

  • 反映幾個要素與某一個要素之間 的復相關程度。復相關系數介於0到1之間。

  • 復相關系數越大,則表明要素(變量)之間的相關程度越密切。復相關系數為1,表示完全相關;復相關系數為0,表示完全無關。

  • 復相關系數必大於或至少等於單相關系數的絕對值。

測定一個變量y,當有兩個自變量時:

correlation51

當有三個自變量時:

correlation52

實例:
在上例中,若以x4為因變量,x1,x2,x3為自變量,試計算x4與x1,x2,x3之間的復相關系數。

correlation53


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM