三大相关系数法

在分析指标与指标、指标与研究对象的影响程度时,很多时候会用到相关系数法,常见的三种:Pearson相关系数,Kendall相关系数和Spearman相关系数。在这三大相关系数中,spearman和kendall属于等级相关系数亦称为“秩相关系数”,是反映等级相关程度的统计分析指标。最终选择哪种相关系数法,对比结果谁更符合预期效果。

Pearson相关系数:按照大学的线性数学水平来理解, 它比较复杂一点,可以看做是两组数据的向量夹角的余弦。

常见Pearson有以下几种公式

皮尔森相关系数是衡量线性关联性的程度,公式定义为:两个连续变量(X,Y)的pearson相关性系数P(x,y)等于它们之间的协方差cov(X,Y)除以它们各自标准差的乘积(σX,σY)。系数的取值总是在-1到1之间,接近0的变量被成为无相关性,接近1或者-1被称为具有正向或者负向强相关性。

那么皮尔森适用的条件是什么呢?

  • 两个变量之间是线性关系,都是连续数据。

  • 两个变量的总体是正态分布,或接近正态的单峰分布。

  • 两个变量的观测值是成对的,每对观测值之间相互独立。

在满足这些条件后,接下来我们来看下程序,这三种相关系数均可用corr函数实现

①当X与Y是构成一个矩阵时,关于两者相关系数程序格式为

corr(X,Y,'type','Pearson')

②当X是由多个指标数据构成的矩阵时,关于指标间相关系数程序格式为

corr(X,'type','Pearson')

以上三种公式皆等价,程序如下

X=[4.959 2.124 1.969 1.763 1.711 1.969]';Y=[1.273 1.169 0.497 1.273 1.088 0.792]';Z=corr(X,Y,'type','Pearson')运行结果:Z =    0.3715
A=[4.959 2.124 1.969 1.763 1.711 1.969    0.014 0 0.005 0.002 0.003 0.004    1.273 1.169 0.497 1.273 1.088 0.792]';B=corr(A,'type','Pearson')运行结果:B =    1.0000    0.9187    0.3715    0.9187    1.0000    0.1130    0.3715    0.1130    1.0000

Kendall相关系数:是一个用来测量两个随机变量相关性的统计值,在一个肯德尔检验是一个无参数假设检验,它使用计算而得的相关系数去检验两个随机变量的统计依赖性。肯德尔相关系数的取值范围在-1到1之间,当τ为1时,表示两个随机变量拥有一致的等级相关性;当τ为-1时,表示两个随机变量拥有完全相反的等级相关性;当τ为0时,表示两个随机变量是相互独立的。

这里有三种公式计算肯德尔相关系数:

其中C表示XY中拥有一致性的元素对数(两个元素为一对);D表示XY中拥有不一致性的元素对数,N为元素个数。

注意:这一公式仅适用于集合X与Y中均不存在相同元素的情况(集合中各个元素唯一)

注意:这一公式适用于集合X或Y中存在相同元素的情况(当然,如果XY中均不存在相同的元素时,公式2便等同于公式1

其中,C表示XY中拥有一致性的元素对数(两个元素为一对);D表示XY中拥有不一致性的元素对数。

N1、N2分别是针对集合X、Y计算的,将X中的相同元素分别组合成小集合,Y同理,s、t表示集合X、Y中拥有的小集合数(例如X包含元素:12 3 4 3 3 2,那么这里得到的s则为2,因为只有2、3有相同元素),Ui表示第i个小集合所包含的元素数,Vi同理。

①当X与Y是构成一个矩阵时,关于两者相关系数程序格式为

corr(X,Y,'type','Kendall')

②当X是由多个指标数据构成的矩阵时,关于指标间相关系数程序格式为

corr(X,'type','Kendall')

X=[1 2 3 4 0 6 7 8 9]';Y=[3 5 7 8 9 11 13 15 16]';Z=corr(X,Y,'type','Kendall')运行结果:Z =    0.7778
A=[1 2 3 4 0 6 7 8 9    3 5 7 8 9 11 13 15 16    6 5 4 8 9 12 13 15 17]';B=corr(A,'type','Kendall')运行结果:Z =    1.0000    0.7778    0.6111    0.7778    1.0000    0.8333    0.6111    0.8333    1.0000

Spearman相关系数:Spearman等级相关系数又称秩相关系数。利用两变量的秩次大小作线性相关分析,Spearman等级相关系数用来估计两个变量X、Y之间的相关性,其中变量间的相关性可以使用单调函数来描述。如果两个变量取值的两个集合中均不存在相同的两个元素,那么,当其中一个变量可以表示为另一个变量的很好的单调函数时(即两个变量的变化趋势相同),两个变量之间的ρ可以达到+1(绝对正相关)或-1(绝对负相关)

Spearman相关系数可由以下两式计算

1、将集合x、y中的元素对应相减得到一个排行差分集合d,由排行差分集合d计算而得

2、由排行集合x、y计算而得(斯皮尔曼等级相关系数同时也被认为是经过排行的两个随即变量的皮尔逊相关系数,以下实际是计算x、y的皮尔逊相关系数)

以下是一个计算集合中元素排行的例子(仅适用于斯皮尔曼等级相关系数的计算)

这里需要注意:当变量的两个值相同时,它们的排行是通过对它们位置进行平均而得到的

适用范围:只需两个变量的观测值是成对的等级评定数据,或者是由连续变量观测数据转化得到的等级数据,不论两个变量的总体分布形态、样本容量的大小如何,都可以用斯皮尔曼等级相关系数来进行研究

公式一:

function coeff = mySpearman(X , Y) if length(X) ~= length(Y) error('两个数值数列的维数不相等'); return; end N = length(X); %得到序列的长度 Xrank = zeros(1 , N); %存储X中各元素的排行 Yrank = zeros(1 , N); %存储Y中各元素的排行 %计算Xrank中的各个值 for i = 1 : N cont1 = 1; %记录大于特定元素的元素个数 cont2 = -1; %记录与特定元素相同的元素个数 for j = 1 : N if X(i) < X(j) cont1 = cont1 + 1; elseif X(i) == X(j) cont2 = cont2 + 1; end end Xrank(i) = cont1 + mean([0 : cont2]); end %计算Yrank中的各个值 for i = 1 : N cont1 = 1; %记录大于特定元素的元素个数 cont2 = -1; %记录与特定元素相同的元素个数 for j = 1 : N if Y(i) < Y(j) cont1 = cont1 + 1; elseif Y(i) == Y(j) cont2 = cont2 + 1; end end Yrank(i) = cont1 + mean([0 : cont2]); end %利用差分等级(或排行)序列计算斯皮尔曼等级相关系数 coeff = corr(Xrank',Yrank')%fenzi = 6 * sum((Xrank - Yrank).^2); %fenmu = N * (N^2 - 1); %coeff = 1 - fenzi / fenmu; end
X=[1 2 3 4 0 6 7 8 9]';Y=[3 5 7 8 9 11 13 15 16]';Z=mySpearman(X,Y)结果:Z =    0.8333

公式二:

①当X与Y是构成一个矩阵时,关于两者相关系数程序格式为

corr(X,Y,'type','Spearman')

②当X是由多个指标数据构成的矩阵时,关于指标间相关系数程序格式为

corr(X,'type','Spearman')

X=[1 2 3 4 0 6 7 8 9]';Y=[3 5 7 8 9 11 13 15 16]';Z=corr(X,Y,'type','Spearman')运行结果:Z =    0.8333
A=[1 2 3 4 0 6 7 8 9    3 5 7 8 9 11 13 15 16    6 5 4 8 9 12 13 15 17]';B=corr(A,'type','Spearman')运行结果:B =    1.0000    0.8333    0.7667    0.8333    1.0000    0.9333    0.7667    0.9333    1.0000
(0)

相关推荐

  • R语言并行计算加快土壤微生物生态学分析(1):spearman相关系数加快共现网络构建速度

    生科云网址:https://www.bioincloud.tech本文由微科盟胡天龙根据实践经验而整理,希望对大家有帮助.微科盟原创微文,欢迎转发转载,转载须注明来源<微生态>公众号.共现 ...

  • 【R分享|实战】科白君教你相关性分析及其绘图

    "R实战"专题·第7篇   编辑 | 科白维尼   1898字 | 4分钟阅读 本期推送内容 相关性分析通常用来定量描述两个变量之间的联系,正相关?负相关?不存在相关?等.常见相关 ...

  • 如何用Matlab计算相关系数和偏相关系数

    在脑科学领域的研究中,进行相关分析必不可少,比如说,我们想知道计算出来的某个指标是否与临床数据或行为学数据之间存在正相关或负相关关系.计算相关系数,最常用的是Pearson相关系数和Spearman相 ...

  • JASP统计分析实践:相关分析

    案例数据源:雇员数据 请在本公众号后台回复关键词[雇员]获取数据下载链接. 分析目的:试分析初始薪金水平与当前薪金水平的相关性. 初始薪金和当前薪金两个变量均为连续数据,如果满足多元正态分布,那么可以 ...

  • python非线性相关系数计算

    https://blog.csdn.net/u012325865/article/details/88421813 pandas中DataFrame对象corr()方法的用法,该方法用来计算DataF ...

  • 顶级私募高手使用的三大“选股法”连庄家都在学,堪称至宝,仅分享一次!

    股市就像人生,人的贪婪.恐惧.多疑会体现的淋淋尽致,得之坦然,失之淡然,争其必然,顺其自然.只有经历过大涨大跌后才会大彻大悟,遍体鳞伤的时候才发现大道至简.闻道有先后,术业有专攻.问路才不会迷路.老黎 ...

  • 岭南盆景,三大枝法在盆景造型中的运用!

    [截干]:就是起用侧枝作主干,把原来的主干在选定的部位截弃,目的是使主干逐级收细, 过渡自然,产生曲折.起伏,使桩型矮化.符合人们审美要求和盆景规范. [蓄枝]:就是积蓄新培养的枝条.截干后的树桩,有 ...

  • 养肝就是养命,春季中医三大“养肝法”请收好

    老话常说:养肝等于养命!养护肝脏的重要性勿容置疑.春季是养肝护肝的最好时节,此时做好养生保健,能够为一年的健康打下基础.传统医学素来有"春宜养肝"之说,究竟该如何在春季养肝护肝?中 ...

  • 筹码的三大分析法

    学习筹码分布的基本知识: 1.什么是筹码?筹码就是一只股票的流通盘 2.流通盘有一个分散和集中的过程,就是筹码的分布 3.流通盘的由于有集中和分散的状态,还有流通盘的筹码是流动的,因此就有了筹码分布图 ...

  • 筹码指标的三大分析法及操作要点讲解

    筹码分布,反映流通股票所有持仓成本的分布情况: 由于其可以清楚地反应出持股成本,因此是寻找牛股的最重要利器之一: 筹码指标的三大分析法,对于短线投资者来说是应该掌握的,那具体是什么? 今天我们就来详细 ...

  • 揭秘汽车众筹三大玩法

    受经济下行和需求增速放缓的影响,中国汽车市场在经过十年的黄金发展期后迎来转折点:新车销量急剧放缓,汽车金融.二手车.汽车租赁等汽车后市场服务却呈现火爆态势.近一两年来,汽车金融产品不断增多,单单在互联 ...

  • Pe、pb、peg三大估值法的正确使用方法

    PE.PB.PEG三大估值法的正确使用方法! 目前市面上的估值方法有很多,比如PE估值法.PB估值法.PEG估值法,但是我相信,真正会用的人并不多,比如说目前动态市盈率121倍的比亚迪真的高估吗?比如 ...

  • PE PB PEG估值三大估值法的正确打...

    PE PB PEG估值三大估值法的正确打开方式! PE估值法: 首先来说一下PE估值法,PE是指企业以目前的盈利水平,多少年能完全回本?计算公司为PE=每股股价/每股收益,举例来说:买入5.35元每股 ...

  • 三大分析法——SWOT、PEST、波特五力

    SWOT分析法 「SWOT分析模型简介」 (也称TOWS分析法.道斯矩阵).在现在的战略规划报告里,SWOT分析应该算是一个众所周知的工具.来自于麦肯锡咨询公司的SWOT分析,包括分析企业的优势(St ...