相关性分析 -pearson spearman kendall相关系数
先说独立与相关的关系:对于两个随机变量,独立一定不相关,不相关不一定独立。有这么一种直观的解释(不一定非常准确):独立代表两个随机变量之间没有任何关系,而相关仅仅是指二者之间没有线性关系,所以不难推出以上结论。
衡量随机变量相关性的方法主要有三种:pearson相关系数,spearman相关系数,kendall相关系数:
1.连续数据,正态分布,线性关系,用pearson相关系数是最恰当,当然用spearman相关系数也可以,
就是效率没有pearson相关系数高。
2.上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数。
3.两个定序测量数据之间也用spearman相关系数,不能用pearson相关系数。
1. pearson相关系数,亦即皮尔逊相关系数
pearson相关系数用来衡量两个随机变量之间的相关性,计算公式为:
公式-1
其中cov(X,Y)也叫做X,Y的协方差,σX是X的标准差,μX是X的期望E(X).
因为σX=E[(X-E(X))2]=E(X2)-E(X)2,并且
公式-2
所以公式-1可以改写为:
公式-3
R语言中求两个随机变量pearson相关系数的函数:

1 //赋予a,b向量值 2 a<-c(1,2,3) 3 b<-c(11,12,14) 4 5 //计算pearson相关系数 6 cor.test(a,b,method="pearson") 7 cor=0.9819805060619659

2. spearman相关系数,亦即秩相关系数
spearman和kendall都是等级相关系数,亦即其值与两个相关变量的具体值无关,而仅仅与其值之间的大小关系有关。
spearman相关系数,亦即秩相关系数,根据随机变量的等级而不是其原始值衡量相关性的一种方法。
spearman相关系数的计算可以由计算pearson系数的方法,只需要把原随机变量中的原始数据替换成其在随机变量中的等级顺序即可:
(1,10,100,101)替换成(1,2,3,4)
(21,10,15,13)替换成(4,1,3,2)
然后求替换后的两个随机变量的pearson相关系数即可.
R语言中求两个随机变量的spearman相关系数的函数:

1 //赋予a,b向量值 2 a<-c(1,10,100,101) 3 b<-c(21,10,15,13) 4 5 //计算spearman相关系数 6 cor.test(a,b,method="spearman") 7 rho=-0.4 8 9 //用替换后的向量的pearson相关系数进行验证 10 e<-c(1,2,3,4) 11 f<-c(4,1,3,2) 12 cor.test(e,f,method="pearson") 13 cor=-0.4

3. kendall相关系数,亦即和谐系数
kendall相关系数又称作和谐系数,也是一种等级相关系数,其计算方法如下:
对于X,Y的两对观察值Xi,Yi和Xj,Yj,如果Xi<Yi并且Xj<Yj,或者Xi>Yi并且Xj>Yj,则称这两对观察值是和谐的,否则就是不和谐的.
kendall相关系数的计算公式如下:
公式-4
亦即,所有观察值对中(总共有0.5*n*(n-1)对),和谐的观察值对减去不和谐的观察值对的数量,除以总的观察值对数.
R语言中计算kendall相关系数的函数:

1 //赋予a,b向量值 2 a<-c(1,2,3) 3 b<-c(1,3,2) 4 5 //计算kendall相关系数 6 cor.test(a,b,method="kendall") 7 tau=0.3333333333

相关性分析 -pearson spearman kendall相关系数的更多相关文章
- 【转】Pearson,Spearman,Kendall相关系数的具体分析
测量相关程度的相关系数很多,各种参数的计算方法及特点各异. 连续变量的相关指标: 此时一般用积差相关系数,又称pearson相关系数来表示其相关性的大小,积差相关系数只适用于两变量呈线性相关时.其数值 ...
- 三大相关系数: pearson, spearman, kendall(python示例实现)
三大相关系数:pearson, spearman, kendall 统计学中的三大相关性系数:pearson, spearman, kendall,他们反应的都是两个变量之间变化趋势的方向以及程度,其 ...
- 相似性 similarity | Pearson | Spearman | p-value | 相关性 correlation | 距离 distance | distance measure
这几个概念不能混淆,估计大部分人都没有完全搞懂这几个概念. 看下这个,非常有用:Interpret the key results for Correlation euclidean | maximu ...
- python数据相关性分析 (计算相关系数)
#-*- coding: utf-8 -*- #餐饮销量数据相关性分析 计算相关系数 from __future__ import print_function import pandas as pd ...
- 使用R进行相关性分析
基于R进行相关性分析 一.相关性矩阵计算: [1] 加载数据: >data = read.csv("231-6057_2016-04-05-ZX_WD_2.csv",head ...
- 基于R进行相关性分析--转载
https://www.cnblogs.com/fanling999/p/5857122.html 一.相关性矩阵计算: [1] 加载数据: >data = read.csv("231 ...
- SPSS-两变量相关性分析
两个变量之间存在确定性:关系和不确定关系(会存在一定的波动范围),就好比你的亲生母亲绝对只有一个,而你的亲叔叔可能有好几个(可以在1叔—4叔之间波动) 相关性一般分为 1:强正相关关系 (一个值 ...
- R语言做相关性分析
衡量随机变量相关性的方法主要有三种:pearson相关系数,spearman相关系数,kendall相关系数: 1. pearson相关系数,亦即皮尔逊相关系数 pearson相关系数用来 ...
- Spark MLlib基本算法【相关性分析、卡方检验、总结器】
一.相关性分析 1.简介 计算两个系列数据之间的相关性是统计中的常见操作.在spark.ml中提供了很多算法用来计算两两的相关性.目前支持的相关性算法是Pearson和Spearman.Correla ...
随机推荐
- iptables配置服务器端口转发
环境: CentOS6.5,192.168.1.10,外网双向通信,绑定域名zlzkj.org: WinServer2008,192.168.1.11,外网不能直接访问到该机器,但ftp.远程桌面.M ...
- 微信Accesstoken通过xml文件方式保存
//获取accessToken public static AccessToken GetAccessToken() { string AppID = JobBase.GetConfParamValu ...
- 农场阳光 (simpson)
计算若干个圆与一个矩形的面积并 simpson公式 ans = ( f[l] + f[r] + 4 * f[mid] ) * (r-l) / 6 uses math; type arr=record ...
- session 和 cookie 的区别和联系
二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来.当下次你再光临同一个网站,WEB 服务器会先看看有没 ...
- 30道四则运算<2>
#include<iostream> #include<time.h> #include<fstream> #define random() (rand()%100 ...
- 学习和使用PHP应该注意的10件事
1 多阅读手册和源代码 没什么比阅读手册更值得强调的事了–仅仅通过阅读手册你就可以学习到很多东西,特别是很多有关于字符串和数组的 函数.就在这些函数里面包括许多有用的功能,如果你仔细阅读手册,你会经常 ...
- C++调试技巧
编号:1010时间:2016年5月13日11:15:20功能:C++调试技巧http://www.cnblogs.com/lidabo/p/3631055.html
- xampp访问403 Access forbidden 解决办法
本地可以访问,换一台机子就不行了,是因为权限没有开启,安装目录xampp\apache\conf\extra内有个httpd-xampp.conf文件,打开, 最后一段是 # # New XAMPP ...
- 关于limit hashlimit资料整理
这几天正在捣鼓防火墙,用到了hashlimit模块.Google了一圈发现相关的文档无论英文还 是中文都很少, 所以我就把自己的折腾的心得记录下来吧. hashlimit是iptables的一个匹配模 ...
- poj 1990 MooFest
题目大意: FJ有n头牛,排列成一条直线(不会在同一个点),给出每头牛在直线上的坐标x.另外,每头牛还有一个自己的声调v,如果两头牛(i和j)之间想要沟通的话,它们必须用同个音调max(v[i],v[ ...