person correlation coefficient(皮爾森相關性係數)
公式如下:
重點關注第乙個等號後面的公式,最後面的是推導計算,暫時不用管它們。看到沒有,兩個變數(x, y)的皮爾森相關性係數(ρx,y)等於它們之間的協方差cov(x,y)除以它們各自標準差的乘積(σx, σy)。
公式的分母是變數的標準差,這就意味著計算皮爾森相關性係數時,變數的標準差不能為0(分母不能為0),也就是說你的兩個變數中任何乙個的值不能都是相同的。如果沒有變化,用皮爾森相關係數是沒辦法算出這個變數與另乙個變數之間是不是有相關性的。
就好比我們想研究人跑步的速度與心臟跳動的相關性,如果你無論跑多快,心跳都不變(即心跳這個變數的標準差為0),或者你心跳忽快忽慢的,卻一直保持乙個速度在跑(即跑步速度這個變數的標準差為0),那我們都無法通過皮爾森相關性係數的計算來判斷心跳與跑步速度到底相不相關。
假設你現在做了個生物學實驗,喜得以下兩個變數:
x1=c(1, 2, 3, 4, 5, 6)
y1=c(0.3, 0.9, 2.7, 2, 3.5, 5)
x1《-c(1, 2, 3, 4, 5, 6)其值在0.9以上,說明二者非常相關,比如驗證了蛋白a表達量的變化,與蛋白b表達量的變化關係很大!拿到這種有統計學論證的結果你可能很開心。y1《-c(0.3, 0.9, 2.7, 2, 3.5, 5)
mean(x1) #平均值
[1] 3.5
mean(y1)
[1] 2.4
var(x1) #方差
[1] 3.5
var(y1)
[1] 2.976
sd(x1) #標準差
[1] 1.870829
sd(y1)
[1] 1.725109
cov(x1,y1) #協方差
[1] 3.06
cor(x1,y1,method="pearson") #皮爾森相關性係數
[1] 0.9481367
然而,由於實驗操作不慎或者處理資料不小心,得到了這樣乙個變數x2(1,1,1,1,1,1),那麼計算x2與y1之間的皮爾森相關性係數會發生什麼呢?
x2《-c(1,1,1,1,1,1)第一, 實驗資料通常假設是成對的來自於正態分佈的總體。為啥通常會假設為正態分佈呢?因為我們在求皮爾森相關性係數以後,通常還會用t檢驗之類的方法來進行皮爾森相關性係數檢驗,而 t檢驗是基於資料呈正態分佈的假設的。cor(x2,y1,method="pearson")
[1] na
warning message:
in cor(x2, y1, method = "pearson") : the standard deviation is zero
第二, 實驗資料之間的差距不能太大,或者說皮爾森相關性係數受異常值的影響比較大。比如剛才心跳與跑步的例子,萬一這個人的心臟不太好,跑到一定速度後承受不了,突發心臟病,那這時候我們會測到乙個偏離正常值的心跳(過快或者過慢,甚至為0),如果我們把這個值也放進去進行相關性分析,它的存在會大大干擾計算的結果的。
spearman correlation coefficient(斯皮爾曼相關性係數)
斯皮爾曼相關性係數,通常也叫斯皮爾曼秩相關係數。「秩」,可以理解成就是一種順序或者排序,那麼它就是根據原始資料的排序位置進行求解,這種表徵形式就沒有了求皮爾森相關性係數時那些限制。下面來看一下它的計算公式:
計算過程就是:首先對兩個變數(x, y)的資料進行排序,然後記下排序以後的位置(x』, y』),(x』, y』)的值就稱為秩次,秩次的差值就是上面公式中的di,n就是變數中資料的個數,最後帶入公式就可求解結果。舉個例子吧,假設我們實驗的資料如下:
也就是說,我們不用管x和y這兩個變數具體的值到底差了多少,只需要算一下它們每個值所處的排列位置的差值,就可以求出相關性係數了。這下理解起來是不是容易多了!還是用上面的資料,下面寫下**實現:
x《-c(11,490,14,43,30,3)而且,即便在變數值沒有變化的情況下,也不會出現像皮爾森係數那樣分母為0而無法計算的情況。另外,即使出現異常值,由於異常值的秩次通常不會有明顯的變化(比如過大或者過小,那要麼排第一,要麼排最後),所以對斯皮爾曼相關性係數的影響也非常小!y《-c(2,75,3,44,7,42)
cor(x,y,method="spearman")
[1] 0.6571429
由於斯皮爾曼相關性係數沒有那些資料條件要求,適用的範圍就廣多了。在我們生物實驗資料分析中,尤其是在分析多組學交叉的資料中說明不同組學資料之間的相關性時,使用的頻率很高。
kendall correlation coefficient(肯德爾相關性係數)
肯德爾相關性係數,又稱肯德爾秩相關係數,它也是一種秩相關係數,不過它所計算的物件是分類變數。
分類變數可以理解成有類別的變數,可以分為
無序的,比如性別(男、女)、血型(a、b、o、ab);
有序的,比如肥胖等級(重度肥胖,中度肥胖、輕度肥胖、不肥胖)。
通常需要求相關性係數的都是有序分類變數。
舉個例子。比如評委對選手的評分(優、中、差等),我們想看兩個(或者多個)評委對幾位選手的評價標準是否一致;或者醫院的尿糖化驗報告,想檢驗各個醫院對尿糖的化驗結果是否一致,這時候就可以使用肯德爾相關性係數進行衡量。
還是用cor函式求,這時候把method這個引數設成「kendall」,這時我們假設老師對選手的評價等級---3表示優,2表示中,1表示差:
x《-c(3,1,2,2,1,3)y《-c(1,2,3,2,1,1)
cor(x,y,method="kendall")
[1] -0.2611165
統計學中三大相關係數
三大相關係數分別是pearson 皮爾森 spearman 斯皮爾曼 和 kendall 肯德爾 反應的都是兩個變數之間變化趨勢的方向以及程度,其值範圍為 1到 1,0表示兩個變數不相關,正值表示正相關,負值表示負相關,值越大表示相關性越強。兩個變數 x,y 的皮爾森相關性係數 x,y 等於它們之間...
皮爾森相關係數 皮爾森相關係數的計算
在 變數關係大揭秘 一 我們提到了皮爾森相關係數r 先來兩個散點圖,左圖中x和y不相關,右圖中x和y高度正相關,差別在哪?讓我們在左右兩圖各畫乙個 田 字,田 字中心的座標是 x的平均值,y的平均值 比較左右兩圖,我們知道 當散點在a b c d均勻分布,x和y不相關 當a和c的點越多,並且b和d的...
皮爾森相關係數
皮爾森相關係數 pearson correlation coefficient 也稱皮爾森積矩相關係數 pearson product moment correlation coefficient 是一種線性相關係數。皮爾森相關係數是用來反映兩個變數線性相關程度的統計量。相關係數用r表示,其中n為樣...