关于matlab的相关性函数
前记
最近在狂找关于相关性的函数及使用,自己总结一下大佬们的理解。
matlab中自带函数
1、xcorr——互相关函数
r = xcorr(x,y) r = xcorr(x)[r,lags] = xcorr(___) % r是输出数据,lags是移位量(滑动偏移值)
- 可以通过该函数对两个有时延的信号进行对齐处理。
- 其原理在于将被选指标相对于基准指标前后移动若干个时间单位,然后对移动后的序列和基准指标序列求相关系数,最大的相关系数所对应的移动时间就是该指标领先或延迟的时间段。
- 示例可参见—— 序列的相关性与基于Cross-Correlation互相关函数的信号同步方法
- 参照上博客的第一部分,是将y从左向右平移,遍历所有位移求内积。对应的lags即为滑动偏移值。
- 注:lags是滞后索引,且xcorr的本质其实为保持x不动,移动y,因此当lags为正时,说明y此时是超前于x的,也即x比y滞后的值是lags,此处可以参考示例中的互相关原理,因此正负值是y相对于x的位置来说的。当为负值时,y位于x左侧,为正值时,y位于x右侧,而且两个序列都是从0开始的,无法向右移动,所以当lags为正,将x向左移进行对齐,lags为负时,将y向左移对齐。(个人理解,有错误请指正)
- 关于该函数,也可以进行归一化来进行:
% 来自官方程序
n = 0:15;
x = 0.84.^n;
y = circshift(x,5);
[c,lags] = xcorr(x,y,10,'normalized');
stem(lags,c)
以下图片来自—— 序列的相关性
2、corrcoef——相关系数
R = corrcoef(A) R = corrcoef(A,B)
- 该函数的输出:
- 对于两个输入参数,R 是 2×2 矩阵,其中对角线元素为 1,非对角线元素为相关系数。具体可见官方函数介绍。
- 示例及代码可参见——皮尔逊相关分析的MATLAB实现,corr(),corrcoef()函数使用
3、corr函数——线性或秩相关性
rho = corr(X) rho = corr(X,Y) [rho,pval] = corr(X,Y)[rho,pval] =corr(___,Name,Value)
该函数中可以加入计算相关性的类型(‘Type’),有:
- ’Pearson’ (默认) | ‘Kendall’ | 'Spearman’
- 示例如下:
corr(X,Y,'Type','Kendall','Rows','complete')
- 该函数中可以加入备择假设(‘Tail’),有:
- ’both’ 检验相关性不为 0 的备择假设。
- ’right’ 检验相关性大于 0 的备择假设
- ’left’ 检验相关性小于 0 的备择假设。
- 示例如下:
- 注:一般认为,当P值小于0.05时,说明两个序列与‘’Tail‘’中假设内容显著相关。
- p 为非零相关的假设检验值(位置与 r 对应),如果值小于 0.05 则相关性显著。
[rho,pval] = corr(X,Y,'Tail','left')% 对应的p值为0,低于显著性水平0.05。同样,这些结果表明拒绝原假设,并得出相关性小于零的结论。% 输出的r对应的是某类型(默认皮尔逊系数)的相关性值,p为备择假设的值。
几个常见的显著水平的参数设置:
注:
- 使用corr函数的两个变量X、Y,必须是列向量,而不能是行向量。(会跳一个NaN的矩阵)
- 关于相关性参数的问题:
Pearson相关系数:最常使用,当数据满足正态分布时会使用该系数。两个连续变量间呈线性相关时,使用Pearson积差相关系数。由于其是在原始数据的方差和协方差基础上计算得到,所以对离群值比较敏感。
- 两个变量的标准差都不为零
- 两个变量之间是线性关系,都是连续数据。
- 两个变量的总体是正态分布,或接近正态的单峰分布。
- 两个变量的观测值是成对的,每对观测值之间相互独立。
- 样本中存在的极端值对Pearson积差相关系数的影响极大。
Spearman相关系数:当数据不满足正态性时使用。对原始变量的分布不做要求,属于非参数统计方法。
- 异常值的秩次通常不会有明显的变化(比如过大或者过小,那要么排第一,要么排最后),所以异常值对Spearman相关性系数的影响也非常小。
- 对于服从Pearson相关系数的数据也可以计算Spearman相关系数,但统计效能比Pearson相关系数要低一些(不容易检测出两者事实上存在的相关关系)。
Kendall相关系数:用于判断数据一致性,比如裁判打分。同样是一种秩相关系数,用于反映分类变量相关性的指标,适用于两个变量均为有序分类(有序分类表示类间有强度的逐级递增关系)的情况
下图来自知乎:相关性分析
相关性值的解释:
第一种解释—— 出自相关性分析
- |r|>0.95 存在显著性相关;
- |r|≥0.8 高度相关;
- 0.5≤|r|<0.8 中度相关;
- 0.3≤|r|<0.5 低度相关;
- |r|<0.3 关系极弱,认为不相关
第二种解释: ——出自Matlab计算皮尔逊相关系数corr、互相关系数xcorr
- 取绝对值后0-0.09为没有相关性,0.3-弱,0.1-0.3为弱相关,0.3-0.5为中等相关,0.5-1.0为强相关。
参考网址
官方corr函数讲解
官方corrcoef函数讲解
官方corr函数讲解
如何用Matlab计算相关系数和偏相关系数
相关性分析
数据的相关性分析
关于相关性的7个最常见问题
皮尔逊相关分析的MATLAB实现,corr(),corrcoef()函数使用——感觉写的较清楚
序列的相关性——xcorr对齐时延信号
关于matlab的相关性函数相关推荐
- matlab中xcorr函数详解
Matlab中xcorr函数详解 引言 在matlab中查找相关函数时,找到了xcov函数和xcorr函数,仔细看了帮助文档,发现虽然计算公式不一样,但是两个函数用法相同,计算出的值也相同,于是在翻了 ...
- matlab pup,matlab利用bar函数画不同颜色直方图
matlab利用bar函数画直方图,参考文献[1]是matlab官方提供的help文档.里面提供了bar函数的基本用法,但是没有说明如何在同一张图中,为每个bar设置不同的颜色. 例子代码: myda ...
- Matlab中bwmorph函数的使用
Matlab中bwmorph函数的使用 Matlab中提供了一个基于形态学的处理函数,即以膨胀.腐蚀等操作为基础,其语法格式如下: bw2=bwmorph(bw1,operation,n); 其中bw ...
- 9.matlab中repmat函数
来源: matlab中repmat函数的用法 - CSDN博客 https://blog.csdn.net/anqier1009/article/details/5214978 B = repmat( ...
- 如何在Matlab中获取函数参数的数目?
本图文详细介绍了Matlab中获取函数参数数目的方法.
- c++引用matlab类,matlab调用C++函数浅谈(一)
由于在下才疏学浅,在网上看各高手指南时亦觉云里雾里,遂决定一切说明从最基础说起,一是方便自己(记性奇差),二是方便似我的小白.以下部分是我从各网站论坛等摘抄.重组.改写过的,以求更加详实明朗,由于参考 ...
- matlab语言unique,Matlab的unique函数的C++实现
Matlab中的unique函数,实现的是去除重复元素,只保留一个,且剩下的非重元素按大小排列: C++中stl::unique函数与其不同之处在于:是去除相邻的重复元素,且不改变向量大小,把重复元素 ...
- matlab s% d%,matlab中var函数的翻译For N-D arrays, VAR operates along the first
matlab中var函数的翻译For N-D arrays, VAR operates along the first matlab中var函数的翻译 For N-D arrays, VAR oper ...
- 【 MATLAB 】rem 函数介绍
rem函数和mod函数很相似,二者认真看一个,另一个看一下区别即可. mod函数介绍:[ MATLAB ]mod 函数介绍 rem Remainder after division Syntax r ...
最新文章
- python3.6运行界面_python3.6 +tkinter GUI编程 实现界面化的文本处理工具
- java中mymaps_Java MyLocationStyle.myLocationType方法代码示例
- 利用SQL索引提高查询速度
- Keycloak Spring Security适配器的常用配置
- 基于Keras的LSTM多变量时间序列预测
- ONE- Open Navigator Engine 开放式浏览器引擎
- 那些数学不好的程序员?最后都如何了(文末送书)
- 算法(11)-leetcode-explore-learn-数据结构-链表的经典问题
- 李迟2022年3月工作生活总结
- gstat | 空间插值(三)——克里金插值之泛克里金和简单克里金
- The package lists or status file could not be parsed or opened.
- 《DSP using MATLAB》示例Example 8.5
- Visio 2019中文版软件下载和安装教程
- matlab int 求定积分
- Android之开发者模式配置全面(解决打开了开发者模式,程序还是不能烧进手机问题)
- APISpace IP归属地API
- QQ公众号微信公众号,左右互搏?
- 计算机工作理想湿度,计算机理想的工作温度七月的盛夏,碧空中没有一丝云彩,只剩下纯(9)...
- 那些看过一次后,就令人心里一动的美好词汇
- 大数据新时代依然需要古老的磁带存储技术
热门文章
- JMeter直连数据库报错Uncaught Exception java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
- 星座图matlab是什么意思,如何理解Matlab星座图16QAM
- ORA-06512 问题解决
- 关于 AlphaBlend 和 32bpp 的反锯齿图标
- HTML_给文本加下划线
- layer.open属性详解 layui弹出层
- 来!带你深入理解分布式事务:原理与实战!
- 使用 MoveIt 控制自己的真实机械臂【4】——了解 MoveIt 的轨迹规划实现机制
- switch语句 while循环 do-while循环
- python 正则去除括号以及里边的内容