目录

一、定义

二、特性

三、适用条件

四、Matlab 仿真

1. 时间序列

2. 矩阵


一、定义

相关系数(correlation of coefficient)是统计学中的概念,是由统计学家卡尔·皮尔逊设计的一个统计指标,也称作 Pearson 相关系数。相关系数用于描述两个连续型变量之间的线性相关程度及相关方向,它的取值在 [-1, 1] 之间。

总体的 Pearson 相关系数用  表示,计算公式为:

样本的 Pearson 相关系数用  表示,计算公式为:

  Pearson 相关系数 = 两个变量的协方差除以标准差的乘积。

(参考:统计知识扫盲:相关系数)

(参考:协方差)

(参考:协方差公式推导)

二、特性

  1. 相关系数可以衡量两个变量之间的相关性大小;
  2. 相关系数的绝对值越接近1,表明两个变量之间的线性相关性越强;相关系数的绝对值越接近0,表明两个变量之间几乎不存在线性相关关系但可能存在其他关系)
  3. 在两个变量的位置、尺度单独变化下是不变的。即X和Y的相关系数和 aX+b 和 cY+d 的相关系数相等。

三、适用条件

  1. 两变量都是连续型变量;
  2. 两变量成对出现,且相互独立;
  3. Pearson是积差相关系数,它只能说明变量之间的线性相关关系,只适用于线性相关的场景。对于非线性相关等复杂场景,Pearson相关系数无法描述两个变量的相关性程度;
  4. Pearson相关系数是在原始数据的方差和协方差基础上计算得到的,所以对离群值很敏感,样本中存在的极端值/异常值对Pearson相关系数的影响很大,因此要慎重处理,必要时要进行剔除,或者加以变量转换,避免得出因一两个数值导致结果错误的结论;
  5. Pearson积差相关系数要求相应的变量呈双变量正态分布,既要求两个变量各自服从正态分布,有要求两个变量服从一个联合的双变量正态分布。

以上三条,前两条要求最严,第三条比较宽松,违反时系数的结果也是比较稳健的。

(参考:Matlab 相关系数的计算与作图)

(参考:统计学习--三种常见的相关系数)

(参考:相关系数的数值范围及其判断标准是什么)

四、Matlab 仿真

% Matlab 中计算相关系数的命令[r, p] = corr(x, y[, 'type', 'Pearson'])  % 等号右边的[]为可缺省项
[r, p] = corrcoef(x, y[, 'alpha', 0.95])% 如果 X 和 Y 是序列,corr(X, Y) 和 corrcoef(X, Y) 都可以计算两个序列相关;如果是序列,使用 corr() 必须得是列向量!
% 如果 X 和 Y 是矩阵,corr(X, Y) 可以计算矩阵相关,但 corrcoef(X, Y) 会将其转换为序列再进行计算。

1. 时间序列

%% 时间序列的 Pearson 相关系数
clear; clc; close all; warning off;% 序列
x = [15, 20, 25, 30, 35]';
y = [1, 4, 9, 16, 25]';[r1, p1] = corr(x, y);  % 必须是列向量,行向量计算出来的结果不对!
[r2, p2] = corrcoef(x, y);  % 可以是行向量,也可以是列向量,结果一致

运行结果:

​     ​    ​

理论计算:

 结论:

  1. r2(1, 2) = r2(2, 1) = r1;
  2. p2(1, 2) = p2(2, 1) = p1;
  3. 其中 r 为两个向量之间的相关系数,p 为非零相关的假设检验值(位置和 r 对应),p < 0.05 表示相关性显著;
  4. Matlab 中的方差函数 var()、标准差函数 std()、相关系数函数 corr()、corrcoef() 都是用的样本的有偏估计计算的(即分别对应的样本的有偏方差、有偏标准差、用有偏标准差计算的相关系数)。

(参考:Matlab计算相关系数)

(参考:皮尔逊相关分析的MATLAB实现,corr(),corrcoef()函数使用)

2. 矩阵

%% 矩阵的 Pearson 相关系数
clear; clc; close all; warning off;
rng('default');% 矩阵
X = randn(10, 3);  % m列
Y = randn(10, 3);  % n列
Y(:, end) = sum(X, 2);
Z = X - Y;  % m列
[r1, p1] = corr(X, Y);  % 分别计算矩阵X和矩阵Y每列的相关系数,结果是m*n大小的相关系数矩阵
[r2, p2] = corrcoef(X, Y);  % 错误的写法!出来结果是错的,corrcoef不能传入两个矩阵进行相关系数计算!
[r3, p3] = corr(Z);  % 分别计算z每列之间的相关系数,结果是m*m大小的相关系数矩阵
[r4, p4] = corrcoef(Z);  % 和r3/p3的结果一致

运行结果:

         

       

      

     

【20220623】【信号处理】深入理解Pearson相关系数和Matlab corr()、corrcoef()仿真相关推荐

  1. 相关系数r的matlab实现,Spearmen相关系数和Pearson相关系数及其MATLAB实现

    Spearmen 相关系数和Pearson 相关系数及其MATLAB 实现 Spearmen 相关系数,Spearman 秩相关系数是一种无参数(与分布无关) 检验方法,用于度量变量之间联系的强弱.在 ...

  2. 特征选择 | MATLAB实现特征变量相关性分析(Pearson相关系数,Kendall相关系数和Spearman相关系数)

    特征选择 | MATLAB实现特征变量相关性分析(Pearson相关系数,Kendall相关系数和Spearman相关系数) 目录 特征选择 | MATLAB实现特征变量相关性分析(Pearson相关 ...

  3. Pearson 相关系数--最佳理解及相关应用

    一 Pearson 相关系数介绍        pearson是一个介于-1和1之间的值,用来描述两组线性的数据一同变化移动的趋势. 当两个变量的线性关系增强时,相关系数趋于1或-1: 当一个变量增大 ...

  4. 相关系数之皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数(评价线性关系的相关系数)(第一部分)

    0.前言 一开始学这里的时候我感觉真的完犊子了,因为这部分的内容涉及到了概率论和数理统计的东西,概率论和数理统计虽然我现在在学,但我学的一团糟,翻书也毫无头绪,完了,现在就写一写自己怎么学的这两个系数 ...

  5. 相关系数(皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数)

    目录 总体皮尔逊Person相关系数: 样本皮尔逊Person相关系数: 两点总结: 假设检验:(可结合概率论课本假设检验部分) 皮尔逊相关系数假设检验: 更好的方法:p值判断方法 皮尔逊相关系数假设 ...

  6. pearson相关系数_Pearson(皮尔逊)相关系数

    由于使用的统计相关系数比较频繁,所以这里就利用几篇文章简单介绍一下这些系数. 相关系数:考察两个事物(在数据里我们称之为变量)之间的相关程度. 如果有两个变量:X.Y,最终计算出的相关系数的含义可以有 ...

  7. 实验一熟悉matlab环境,数字信号处理报告实验一:熟悉MATLAB环境.doc

    数字信号处理报告实验一:熟悉MATLAB环境.doc 实验一熟悉MATLAB环境一 实验目的1. 熟悉MATLAB的主要操作命令.2. 学会简单的矩阵输入和数据读写.3. 掌握简单的绘图命令.4. 用 ...

  8. 学习通信原理之——从实验中理解频谱/功率谱/功率谱密度(MATLAB演示)

    我的个人博客文章链接如下:学习通信原理之--从实验中理解频谱/功率谱/功率谱密度(MATLAB演示) 前言 最近在复习通信原理,每次到了功率谱这一块就感到困惑,每次都要去查,我觉得不能再这样循环下去了 ...

  9. 【Python】实训8:企业所得税回归模型(Pearson相关系数、Lasso、灰色预测模型、SVR)

    题目来源: <Python数据分析与应用>第8章 财政收入预测分析 实训部分(注意:我目前看的版本此章节错误较多) [ 黄红梅.张良均主编 中国工信出版集团和人民邮电出版社] 本博客题目内 ...

最新文章

  1. Go 语言中手动内存管理
  2. mapreduce工作流程_详解MapReduce中的五大编程模型
  3. pythonctypes int数组调用dll
  4. Vim 删除不包含指定字符串的行及统计匹配个数
  5. 由浅入深:自己动手开发模板引擎——置换型模板引擎(二)
  6. PyTorch : torch.nn.xxx 和 torch.nn.functional.xxx
  7. 新零售行业搜索最佳实践
  8. el-popover可以设高度_家用餐厅吧台桌高度一般多少?吧台设计需要注意哪些?...
  9. rman 备份后恢复整个数据库文件的操作
  10. 原来js的parseInt函数还可以这样用
  11. 删除WinXP下打开最近文档后,产生的无效快捷方式
  12. axure树形表格_Axure教程:可增删改的树型结构
  13. Memcached、Redis、RabbitMQ
  14.  paip.android环境搭建与开发事例
  15. re模块或正则表达式
  16. 高薪物联网职业生涯所需的十大技能(转)
  17. 用户帐户控制---为了对电脑进行保护,已经阻止此应用。---管理员已阻止你运行此应。有关详细信息,请与管理员联系。
  18. DNA甲基化经CTCF和黏连蛋白复合体调节RNA可变剪切
  19. 300个VB全面控制Excel方法
  20. 【Excel VBA】Len的有趣之处——获取的长度怎么不一致?

热门文章

  1. strace简单介绍
  2. DPDK官方文档说明
  3. STM32中读写flash
  4. 【笔记】hough变换理解
  5. Linux自学指南-从应用到内核
  6. 什么是istp?istp收录
  7. 重庆自考计算机专业,重庆2010年自考计算机及应用专业(独本)考试计划
  8. linux之LVM分区
  9. Real6410移植linux-2.6.39.1记录(1)-启动cramfs根文件系统
  10. ABBYY FineReader 12.0中文版下载(免注册版)