matlab 计算相关系数,如何用Matlab计算相关系数和偏相关系数
《本文同步发布于“脑之说”微信公众号,欢迎搜索关注~~》
在脑科学领域的研究中,进行相关分析必不可少,比如说,我们想知道计算出来的某个指标是否与临床数据或行为学数据之间存在正相关或负相关关系。计算相关系数,最常用的是Pearson相关系数和Spearman相关系数。此外,在研究中,偏相关分析也很常用,其在计算两个变量的相关系数的同时把第三个变量当成协变量来排除这个变量的影响。本文,笔者对相关系数和偏相关系数的原理进行简单论述,并重点说明如何用Matlab实现相关系数和偏相关系数的计算。
Pearson和Spearman相关系数
Pearson相关系数。Pearson相关系数是一种反映两个变量线性相关程度的统计量,两个变量的线性相关程度用相关系数r表示,r的计算公式如下所示:
相关系数r的值属于[-1,+1]之间。关于Pearson相关系数具体的说明,大家可以自行百度,这里笔者重点介绍如何用Matlab实现Pearson相关系数的计算。
例1:用Matlab计算变量A和B之间的Pearson相关系数r,以及A、B之间是否显著相关,
A=[41,63,83,71,94,62,60,42,55,67],
B=[10,16,26,29,20,9,8,13,18,14]。
在Matlab命令窗口中输入以下命令即可:
A=[41,63,83,71,94,62,60,42,55,67];
B=[10,16,26,29,20,9,8,13,18,14];
[r,p]=corr(A’,B’)
r =0.5997
p =0.0669
注意:这里计算相关系数r以及相应的p值用的是corr函数。实际上,corr函数既可以计算Pearson相关系数也可以计算Spearman相关系数,默认情况下计算的是Pearson相关系数,格式如下:
Pearson相关系数:[r,p]=corr(X,Y,‘type’,‘Pearson’)
Spearman相关系数:[r,p]=corr(X,Y,‘type’,‘Spearman’)
另外,需要注意的是,corr函数中两个变量X、Y必须是列向量,而不能是行向量,如例1中用[r,p]=corr(A’,B’)的命令,需要对A、B进行转置。
Spearman相关系数。又称秩相关系数,是利用两变量的秩次大小作线性相关分析,具体的原理这里不展开说,需要进一步了解的可以自行百度。在例1中已经说到,Matlab中的corr函数同时可以计算Spearman相关系数。
例2:用Matlab计算变量A和B之间的Spearman相关系数r,以及A、B之间是否显著相关,
A=[41,63,83,71,94,62,60,42,55,67],
B=[10,16,26,29,20,9,8,13,18,14]。
在Matlab命令窗口中直接输入以下命令即可:
A=[41,63,83,71,94,62,60,42,55,67];
B=[10,16,26,29,20,9,8,13,18,14];
[r,p]=corr(A’,B’,‘type’,‘Spearman’)
r =0.6727
p =0.0394
结果显示A、B之间的相关系数r=0.6727,p=0.0394,存在显著的正相关。
偏相关分析
偏相关分析(Partial correlation analysis),简单地说,是在消除其他变量C影响的条件下,计算的A、B两变量之间的相关系数。Matlab中,计算偏相关系数所用的函数是partialcorr,使用方法如下:
[R,P] = partialcorr(X,Y,Z); %在控制变量Z的影响下,计算变量X、Y的偏相关系数。
例3:在消除变量C的影响下,用Matlab计算变量A和B之间的偏相关系数R。
A=[41,63,83,71,94,62,60,42,55,67],
B=[10,16,26,29,20,9,8,13,18,14];
C=[0.81,0.90,0.12,0.91,0.63,0.09,0.27,0.54,0.95,0.96]。
直接在Matlab命令窗口中输入如下命令即可:
A=[41,63,83,71,94,62,60,42,55,67];
B=[10,16,26,29,20,9,8,13,18,14];
C= [0.81,0.90,0.12,0.91,0.63,0.09,0.27,0.54,0.95,0.96];
[R,P] = partialcorr(A’,B’,C’)
R =0.6614
P =0.0524
结果表明,在控制变量C影响的条件下,计算得到A、B之间的相关系数R=0.6614,P=0.0524,A、B之间不存在显著相关。
总结
本文,笔者对如何用Matlab计算Pearson相关系数、Spearman相关系数和偏相关系数进行了详细论述,希望对大家的研究有所帮助。
matlab 计算相关系数,如何用Matlab计算相关系数和偏相关系数相关推荐
- matlab 无穷符号,如何用matlab进行级数或数列的符号求和?matlab符号求和指令分享...
如何进行级数或数列的求和,在高中<数学>课上的数列和大学<高等数学>中的级数都有有遇到过这种问题,这如果用人脑来计算的话非常耗时,难度较大.但是用matlab就可以轻松解决.下 ...
- matlab求和脚本,如何用matlab进行级数或数列的符号求和?matlab符号求和指令分享...
如何进行级数或数列的求和,在高中<数学>课上的数列和大学<高等数学>中的级数都有有遇到过这种问题,这如果用人脑来计算的话非常耗时,难度较大.但是用matlab就可以轻松解决.下 ...
- 如何用python完成基本统计信息计算_如何用python计算基本统计值?
如何用python计算基本统计值? 用python计算基本统计值的代码为def getNum(): #从控制台获取多个不确定数据的方法 nums = []; iNumStr = input(" ...
- excel 置信区间 计算_如何用excel计算95%的置信区间 | 在excle中如何进行区间估计...
Excel中用什么函数可以算置信区间,怎么算啊? 用excel求方差: ---函数---统计-----VAR或VARP VAR分N减了1,估算样本方差. VARP分母N,计算样本总体差 由于样到限制, ...
- matlab基带信号速率,如何用MATLAB产生25Gbaud的基带QPSK调制信号
如何用MATLAB产生25Gbaud的基带QPSK调制信号 包括生成随机符号序列,进行QPSK调制,过采样,脉冲成型滤波和降采样.有错误敬请指正. 参数设置:symbol rate=25Gbaud D ...
- matlab excel 排序,“如何用matlab处理多个excel表格中的数据“excel怎么排序
请问如何在matlab gui界面中插入excel表格并可进行编辑 最简单的方法,gui界面上一个table控件,放置两个按钮. 按钮名字分别改为打开和保存,table的属性里,把columnname ...
- excel 置信区间 计算_如何用excel计算 95%的置信区间
展开全部 用excel计算e68a843231313335323631343130323136353331333433623764 95%的置信区间,需要用户首先计算Y的估计值,在C2单元格里面输入& ...
- matlab冲击噪声,如何用MATLAB生成噪声和冲击混合信号
刚接触MATLAB,想请教老师们,如何编写一个噪声和冲击的模拟信号,还有关于共振解调的程序想请专业人士帮看看哪里有问题 fs = 10^6;%采样频率 N=4096;%采样长度 t=(0:N-1)/f ...
- matlab自带的音乐,MATLAB乐器(如何用matlab演奏音乐)
近期在家无聊,刷B站视频的时候发现有up上传了matlab制作的音乐,效果很是有趣.顺带吐槽一下,手机端的B站总是推荐莫名其妙的内容,但是通过搜索关键词,你又总能搜到不错的视频,我试了几个教学课程,视 ...
- matlab特征值归一化,如何用matlab将特征向量归一化呢?
归一化化定义:我是这样认为的,归一化化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内.首先归一化是为了后面数据处理的方便,其次是保正程序运行时收敛加快. 在matlab里面 ...
最新文章
- 线程通信之生产者消费者阻塞队列版
- 解决“无法找到运行搜索助理需要的一个文件”
- 科普| 什么是图数据库?
- 1040 Longest Symmetric String (25 分)【难度: 一般 / 知识点: 最长回文子串】
- 关于GPS的1PPS时间同步功能探索与测试
- linux怎么释放内存占用,如何将linux占用的空间释放
- getDimension,getDimensionPixelOffset和getDimensionPixelSize的一点说明
- android 存储盘 dcim,Android上的DCIM目录路径 – 返回值
- 【IDE工具】win10电脑设置保护眼睛色
- centos7挂载大于10T及以上硬盘
- 【渝粤题库】国家开放大学2021春2721乡镇行政管理题目
- ONF推新版Atrium 获得OpenDaylight支持
- 父爱如山,催泪微电影感动全网
- 如何在Vue项目中引入ArcGIS JavaScript API​ 创建三维可视化地图(含vue项目创建教程)
- 北京玉符飞扬科技面经(一面拿到offer)面试官是facebook的大牛
- 【模板】FHQ Treap
- PDCAOODA循环
- for循环+zip根据列名遍历dataframe元素
- Loadrunner 录制手机App脚本多种方法介绍
- node爬虫_爬取斗图啦网站上的表情包
热门文章
- 模拟AP与可以访问互联网的网络连接,虚拟出一个“无线路由器”
- 一文搞懂Matlab的3种取整函数(round、ceil、floor)
- dex转java工具_安卓dex反编译工具(dex-translator)
- HTML:自定义修改鼠标指针
- 一文了解caffe框架
- 上海航芯 | 热敏打印机方案分享
- Zemax自学--2(Zemax软件总览)
- 《Mostly Harmless Econometrics 》第二章:选择性偏误与随机实验
- 关于Hilbert矩阵的几道编程题
- Android之Binder和AIDL原理