与相关性分析有关的两个概念(Pearson/Spearman)
生物统计学中运用比较普遍的一个概念就是相关系数,可以通过相关系数这一基本概念,衍生到构建基因共表达网络。大部分基因网络分析的方法,都是基因表达量相关系数的计算的推广和衍生,即使复杂算法,也是以相关系数的计算作为基础。所以理解相关系数,对后续的分析都有很大的影响。
1. 皮尔斯相关
1.1 基本概念
皮尔森相关系数是最常见的相关性计算。
皮尔森相关百度百科解释:皮尔森相关系数(Pearson correlation coefficient)也称皮尔森积差相关系数(Pearson product-moment correlation coefficient) ,是一种线性相关系数。皮尔森相关系数是用来反映两个变量线性相关程度的统计量。相关系数用r表示,其中n为样本量,分别为两个变量的观测值和均值。r描述的是两个变量间线性相关强弱的程度。r的绝对值越大表明相关性越强。
1.2 解析一下
从皮尔森相关系数的定义看,如果两个基因的表达量呈现为线性关系那么两个基因表达量就有显著的皮尔森相关性。
我们用R模拟几组数据
> a <- seq(10,50,by = 2)
> b <- 3*a
> c <- a^8+2
> cor(a,b,method = 'pearson')
[1] 1
> cor(a,c,method = 'spearman')
[1] 1
> cor(a,c,method = 'pearson')
[1] 0.7694723
> d <- -4*a+2
> cor(a,d,method = 'pearson')
[1] -1
a, b, c三组数据,a和b为线性关系,相关性分析采用Pearson相关性分析为1,a和c的关系为指数型关系,使用Pearson相关性分析,发现其相关性为0.769,而使用spearman相关性分析,发现其相关性为1。
从上面的分析可以看出,两个基因的表达呈现为线性关系,那么则具有显著的皮尔森相关性,可以是正相关关系,也可以是负相关关系。
2. 斯皮尔曼等级相关
2.1 基本概念
斯皮尔曼等级相关(Spearman’s correlation coefficient for ranked data)主要用于解决名称数据和顺序数据相关的问题。适用于两列变量,而且具有等级线性关系的资料。由英国心理学家、统计学家斯皮尔曼根据积差相关的概念推到而来,一些人把斯皮尔曼等级相关看做积差相关的特殊形式。
其中是指等级个数,是指两列变量等级的差数。
2.2 解析
怎么理解上面说到的等级个数和等级差,这个就有点类似于非参数检验的方法,无论两个变量的数据如何变化,符合怎样的分布,我们只关注每个数值在变量内的排列顺序,如果两个变量的的对应值在各组内的排序是类似的,那么则具有显著的相关性。
此处引用其他帖子的一张图,有助于理解
我们把表中的数据输入R,利用cor.test 进行实践检验。
> A <- c(0.6, 0.7, 1, 2.1, 2.9, 3.2, 5.5, 6.7)
> D <- c(6e-3, 2.8e-2, 1, 1.7e3,4.2e4, 1.1e5, 2.5e7, 1.8e8)
> cor.test(A,D,method = 'pearson')
Pearson's product-moment correlation
data: A and D
t = 2.9178, df = 6, p-value = 0.02671
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.1330065 0.9550969
sample estimates:
cor
0.7658951
> cor.test(A,D, method = 'spearman')
Spearman's rank correlation rho
data: A and D
S = 0, p-value = 0.0000496
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
1
我们可以看到使用两种不同的检验方式,Pearson检验得到的相关系数是r = 0.7658951 ,使用Spearman 检验方式得到的相关系数是ρ = 1。所以采用不同的方式进行检验,要根据具体的问题进行取舍,并且通过检验之后,要得到一个合理的解释才是关键。检验是方法,结论解释才是重心。
3. 总结
最后,还是回到刚开始的例子,a,b,c,d四组数据,分别有线性,幂指数的关系,使用不同的相关性方法得到的相关性系数有所不同。关键在于怎样选择,并做出合理的解释,由此进一步阐述规律。
R语言中,还有进行多组相关性检验,并可视化结果,下一篇中使用R语言对两组数据,数据集进行操作并可视化。