MATLAB中corrcoef函数用法

目录

语法

说明

示例

矩阵的随机列

两个随机变量

矩阵的 P 值

相关性边界

NaN 值


        corrcoef函数的功能是返回数据的相关系数。

语法

R = corrcoef(A)
R = corrcoef(A,B)
[R,P] = corrcoef(___)
[R,P,RL,RU] = corrcoef(___)
___ = corrcoef(___,Name,Value)

说明

        R = corrcoef(A) 返回 A 的相关系数的矩阵,其中 A 的列表示随机变量,行表示观测值。

        R = corrcoef(A,B) 返回两个随机变量 A 和 B 之间的系数。

        [R,P] = corrcoef(___) 返回相关系数的矩阵和 p 值矩阵,用于测试观测到的现象之间没有关系的假设(原假设)。此语法可与上述语法中的任何参数结合使用。如果 P 的非对角线元素小于显著性水平(默认值为 0.05),则 R 中的相应相关性被视为显著。如果 R 包含复数元素,则此语法无效。

        [R,P,RL,RU] = corrcoef(___) 包括矩阵,这些矩阵包含每个系数的 95% 置信区间的下界和上界。如果 R 包含复数元素,则此语法无效。

        ___ = corrcoef(___,Name,Value) 在上述语法的基础上,通过一个或多个 Name,Value 对组参数指定其他选项以返回任意输出参数。例如,corrcoef(A,'Alpha',0.1) 指定 90% 置信区间,corrcoef(A,'Rows','complete') 省略 A 的包含一个或多个 NaN 值的所有行。

示例

矩阵的随机列

        计算一个矩阵的相关系数,该矩阵具有两个正态分布的随机列,其中一个列依据另一个列来定义。由于 A 的第三个列是第二个列的倍数,这两个变量直接相关,因此 R 的 (2,3) 和 (3,2) 元的相关系数为 1。

x = randn(6,1);
y = randn(6,1);
A = [x y 2*y+3];
R = corrcoef(A)
R = 3×31.0000   -0.6237   -0.6237-0.6237    1.0000    1.0000-0.6237    1.0000    1.0000

两个随机变量

        计算两个正态分布的随机向量(其中每个包含 10 个观测值)之间的相关系数矩阵。 

A = randn(10,1);
B = randn(10,1);
R = corrcoef(A,B)
R = 2×21.0000    0.45180.4518    1.0000

矩阵的 P 值

        计算一个正态分布的随机矩阵的相关系数和 p 值,其中添加的第四列等于其他三列之和。由于 A 的最后一列是其他列的线性组合,第四个变量与其他三个变量中的每一个之间建立了相关性。因此,P 的第四行和第四列包含非常小的 p 值,将其标识为显著相关。

A = randn(50,3);       
A(:,4) = sum(A,2); 
[R,P] = corrcoef(A)
R = 4×41.0000    0.1135    0.0879    0.73140.1135    1.0000   -0.1451    0.50820.0879   -0.1451    1.0000    0.51990.7314    0.5082    0.5199    1.0000P = 4×41.0000    0.4325    0.5438    0.00000.4325    1.0000    0.3146    0.00020.5438    0.3146    1.0000    0.00010.0000    0.0002    0.0001    1.0000

相关性边界

        创建一个正态分布的随机矩阵,其中添加的第四列等于其他三列之和,并计算相关系数、p 值以及系数的下界和上界。

A = randn(50,3);       
A(:,4) = sum(A,2); 
[R,P,RL,RU] = corrcoef(A)
R = 4×41.0000    0.1135    0.0879    0.73140.1135    1.0000   -0.1451    0.50820.0879   -0.1451    1.0000    0.51990.7314    0.5082    0.5199    1.0000P = 4×41.0000    0.4325    0.5438    0.00000.4325    1.0000    0.3146    0.00020.5438    0.3146    1.0000    0.00010.0000    0.0002    0.0001    1.0000RL = 4×41.0000   -0.1702   -0.1952    0.5688-0.1702    1.0000   -0.4070    0.2677-0.1952   -0.4070    1.0000    0.28250.5688    0.2677    0.2825    1.0000RU = 4×41.0000    0.3799    0.3575    0.83890.3799    1.0000    0.1388    0.68900.3575    0.1388    1.0000    0.69740.8389    0.6890    0.6974    1.0000

        默认情况下,矩阵 RL 和 RU 根据 95% 置信区间分别给出每个相关系数的下界和上界。可以通过指定 Alpha 的值来更改置信水平,该值定义百分比置信度 100*(1-Alpha)%。例如,使用 Alpha 值 0.01 来计算 99% 置信区间,这将反映在 RL 和 RU 边界中。99% 置信度的 RL 和 RU 中的系数边界定义的区间大于 95% 置信度所定义的区间,因为置信度越高,需要的可能相关性值范围越大。

[R,P,RL,RU] = corrcoef(A,'Alpha',0.01)
R = 4×41.0000    0.1135    0.0879    0.73140.1135    1.0000   -0.1451    0.50820.0879   -0.1451    1.0000    0.51990.7314    0.5082    0.5199    1.0000P = 4×41.0000    0.4325    0.5438    0.00000.4325    1.0000    0.3146    0.00020.5438    0.3146    1.0000    0.00010.0000    0.0002    0.0001    1.0000RL = 4×41.0000   -0.2559   -0.2799    0.5049-0.2559    1.0000   -0.4792    0.1825-0.2799   -0.4792    1.0000    0.19790.5049    0.1825    0.1979    1.0000RU = 4×41.0000    0.4540    0.4332    0.86360.4540    1.0000    0.2256    0.73340.4332    0.2256    1.0000    0.74070.8636    0.7334    0.7407    1.0000

NaN 值

        创建一个包括 NaN 值的正态分布矩阵,并计算相关系数矩阵,但排除包含 NaN 的任何行。

A = randn(5,3);
A(1,3) = NaN;
A(3,2) = NaN;
A
A = 5×30.5377   -1.3077       NaN1.8339   -0.4336    3.0349-2.2588       NaN    0.72540.8622    3.5784   -0.06310.3188    2.7694    0.7147R = corrcoef(A,'Rows','complete')
R = 3×31.0000   -0.8506    0.8222-0.8506    1.0000   -0.99870.8222   -0.9987    1.0000

        使用 'all' 以在计算中包含所有 NaN 值。

R = corrcoef(A,'Rows','all')
R = 3×31   NaN   NaNNaN   NaN   NaNNaN   NaN   NaN

        使用 'pairwise' 以在成对基础上计算每个两列相关系数。如果两列中的一列包含一个 NaN,该行将被忽略。

R = corrcoef(A,'Rows','pairwise')
R = 3×31.0000   -0.3388    0.4649-0.3388    1.0000   -0.99870.4649   -0.9987    1.0000

参数说明

A — 输入数组

输入数组,指定为矩阵。

  • 如果 A 是标量,则 corrcoef(A) 返回 NaN。

  • 如果 A 是向量,则 corrcoef(A) 返回 1。

B — 其他输入数组

其他输入数组,指定为向量、矩阵或多维数组。

  • A 和 B 的大小必须相同。

  • 如果 A 和 B 是标量,则 corrcoef(A,B) 返回 1。然而,如果 A 和 B 相等,则 corrcoef(A,B) 返回 NaN。

  • 如果 A 和 B 是矩阵或多维数组,则 corrcoef(A,B) 将每个输入转换为其向量表示形式,等效于 corrcoef(A(:),B(:)) 或 corrcoef([A(:) B(:)])。

  • 如果 A 和 B 是 0×0 空数组,corrcoef(A,B) 返回一个 NaN 值的 2×2 矩阵。

名称-值参数

        将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参数名称,Value 是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。

        在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

Alpha — 显著性水平

        显著性水平,指定为一个 0 到 1 之间的数值。'Alpha' 参数的值为相关系数定义百分比置信水平,即 100*(1-Alpha)%,用来确定 RL 和 RU 中的边界。

Rows — 使用 NaN 选项

使用 NaN 选项,指定为下列值之一:

  • 'all' - 计算相关系数时将输入中的所有 NaN 值纳入在内。

  • 'complete' - 计算相关系数时忽略输入中任何包含 NaN 值的行。此选项始终返回一个半正定矩阵。

  • 'pairwise' - 对于每个两列相关系数计算,忽略任何仅包含成对 NaN 的行。此选项可返回非半正定矩阵。

R— 相关系数

相关系数,以矩阵形式返回。

  • 对于单矩阵输入,根据 A 表示的随机变量数(列数),R 的大小为 [size(A,2) size(A,2)]。对角线元素按照约定设置为 1,而非对角线元素是变量对组的相关系数。系数值的范围是从 -1 到 1,其中 -1 表示直接负相关性,0 表示无相关性,1 表示直接正相关性。R 是对称的。

  • 对于两个输入参数,R 是 2×2 矩阵,其中对角线元素为 1,非对角线元素为相关系数。

  • 如果任何随机变量为常量,则它与所有其他变量的相关性为未定义,且各自的行和列值为 NaN。

P — P 值

        P 值,以矩阵形式返回。P 是对称的,且大小与 R 相同。对角线元素全部为 1,非对角线元素是每个变量对组的 p 值。P 值的范围是从 0 到 1,其中接近 0 的值对应于 R 中的显著相关性,表示观测到原假设情况的概率较低。

RL — 相关系数的下界

        相关系数的下界,以矩阵形式返回。RL 是对称的,且大小与 R 相同。对角线元素全部为 1,非对角线元素是 R 中相应系数的 95% 置信区间下界。如果 R 包含复数值,则返回 RL 的语法无效。

RU — 相关系数的上界

        相关系数的上界,以矩阵形式返回。RU 是对称的,且大小与 R 相同。对角线元素全部为 1,非对角线元素是 R 中相应系数的 95% 置信区间上界。如果 R 包含复数值,则返回 RL 的语法无效。

相关系数

        两个随机变量的相关系数用于度量其线性相关性。如果每个变量具有 N 个标量观测值,则 Pearson 相关系数定义为

,其中 μA 和 σA 分别是 A 的均值和标准差,μB 和 σB 是 B 的均值和标准差。也可以根据 A 和 B 的协方差定义相关系数:

        两个随机变量的相关系数矩阵是每个对组变量组合的相关系数的矩阵,

由于 A 和 B 始终直接与自身相关,对角线上的元素均为 1,即,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/173064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sebp/elk镜像历史版本

最近因为之前sebp/elk的镜像和容器出现问题而误删了. 新版本随便功能全, 但是配置较为繁琐. 因此想要根据之前的截图找到之前的版本. 但是查看版本需要科学. 因此在花时间研究出来科学的方法之后, 还是决定将历史的版本信息留存下来, 以供后续开发需要 相关官网(需科学上网): s…

【洛谷算法题】P5715-三位数排序【入门2分支结构】

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5715-三位数排序【入门2分支结构】🌏题目描述🌏输入格式…

【Seata源码学习 】篇五 注册分支事务

【Seata源码学习 】篇五 分支事务注册 1.远程服务调用绑定XID 回到事务模版方法类TransactionalTemplate中 beginTransaction(txInfo, tx);Object rs;try {// Do Your Business// 执行执行拦截器链路rs business.execute();} catch (Throwable ex) {// 3. The needed busine…

基于Java SSM框架+Vue留学生交流互动论坛网站项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架Vue实现学生交流互动论坛网站演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所…

【腾讯云 HAI域探秘】基于高性能应用服务器HAI部署的 ChatGLM2-6B模型,我开发了AI办公助手,公司行政小姐姐用了都说好!

目录 前言 一、腾讯云HAI介绍: 1、即插即用 轻松上手 2、横向对比 青出于蓝 3、多种高性能应用部署场景 二、腾讯云HAI一键部署并使用ChatGLM2-6B快速实现开发者所需的相关API服务 1、登录 高性能应用服务 HAI 控制台 2、点击 新建 选择 AI模型,…

【C/C++】如何不使用 sizeof 求数据类型占用的字节数

实现代码&#xff1a; #include <stdio.h>#define GET_TYPE_SIZE(TYPE) ((char *)(&TYPE 1) - (char *) & TYPE)int main(void) {char a a;short b 0;int c 0;long d 0;long long e 0;float f 0.0;double g 0.0;long double h 0.0;char* i NULL;print…

如何在gitlab上使用hooks

参考链接&#xff1a;gitlab git hooks 1. Git Hook 介绍 与许多其他版本控制系统一样&#xff0c;Git 有一种方法可以在发生某些重要操作时&#xff0c;触发自定义脚本&#xff0c;即 Git Hook&#xff08;Git 钩子&#xff09;。 当我们初始化一个项目之后&#xff0c;.git…

Qt 样式表

QLabel&#xff0c;应用于Widget&#xff1a; .QLabel {background-color:pink; }.QLabel[warnlevel_1] {border:5px solid yellow; }.QLabel[warnlevel_2] {border:5px solid red; } QWidget{background-color:rgb(54,54,54); }QLineEdit{border: 1px solid #ABCDA0; /…

Android设计模式--桥接模式

闻正言&#xff0c;行正道&#xff0c;左右前后皆正人 一&#xff0c;定义 将抽象部分与实现部分分离&#xff0c;使它们都可以独立地进行变化 二&#xff0c;使用场景 从模式的定义中&#xff0c;我们大致可以了解到&#xff0c;这里的桥接的作用其实就是连接抽象部分与实现…

PHP 针对mysql 自动生成数据字典

PHP 针对mysql 自动生成数据字典 确保php 可以正常使用mysqli 扩展 这里还需要注意 数据库密码 如果密码中有特殊字符 如&#xff1a; 首先&#xff0c;我们需要了解MySQL中的特殊字符包括哪些。MySQL中的特殊字符主要包括以下几类&#xff1a; 1. 单引号&#xff08;&a…

嵌入式硬件电路·电平

目录 1. 电平的概念 1.1 高电平 1.2 低电平 2. 电平的使用场景 2.1 高电平使能 2.2 低电平使能 2.3 失能 1. 电平的概念 电平是指电信号电压的大小或高低状态。在数字电子学中&#xff0c;电平有两种状态&#xff0c;高电平和低电平&#xff0c;用来表示二进制中…

ChatGPT初体验:注册、API Key获取与ChatAPI调用详解

自从2022年10月&#xff0c;ChatGPT诞生以后&#xff0c;实际上已经改变了很多&#xff01;其火爆程度简直超乎想象&#xff0c;一周的时间用户过百万&#xff0c;两个月的时间用户过亿。 目前ChatGPT4已经把2023年4月以前的人类的知识都学习到了&#xff0c;在软件工程里面&am…

Matplotlib不规则子图_Python数据分析与可视化

除了网格子图&#xff0c;matplotlib还支持不规则的多行多列子图网格。 plt.GridSpec()对象本事不能直接创建一个图形&#xff0c;他只是 plt.subplot()命令可以识别的简易接口。 这里创建了一个带行列间距的23网格&#xff1a; grid plt.GridSpec(2, 3, wspace0.4, hspace0…

mac VScode 添加PHP debug

在VScode里面添加PHP Debug 插件,根据debug描述内容操作 1: 随意在index里面写个方法,然后用浏览器访问你的hello 方法,正常会进入下边的内容 class IndexController {public function index(){return 您好&#xff01;这是一个[api]示例应用;}public function hello() {phpin…

group by

引入 日常开发中&#xff0c;我们经常会使用到group by。你是否知道group by的工作原理呢&#xff1f;group by和having有什么区别呢&#xff1f;group by的优化思路是怎样的呢&#xff1f;使用group by有哪些需要注意的问题呢&#xff1f; 使用group by的简单例子group by 工…

java学习part12多态

99-面向对象(进阶)-面向对象的特征三&#xff1a;多态性_哔哩哔哩_bilibili 1.多态&#xff08;仅限方法&#xff09; 父类引用指向子类对象。 调用重写的方法&#xff0c;就会执行子类重写的方法。 编译看引用表面类型&#xff0c;执行看实际变量类型。 2.父子同名属性是否…

数组与链表

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 除了HashMap&#xff0…

计算机服务器中了mallox勒索病毒如何处理,mallox勒索病毒解密文件恢复

科技技术的发展推动了企业的生产运营&#xff0c;网络技术的不断应用&#xff0c;极大地方便了企业日常生产生活&#xff0c;但网络毕竟是一把双刃剑&#xff0c;网络安全威胁一直存在&#xff0c;近期&#xff0c;云天数据恢复中心接到很多企业的求助&#xff0c;企业的计算机…

耶鲁博弈论笔记

编辑记录&#xff1a; 1126&#xff1a;开个新坑&#xff0c;耶鲁大学的博弈论课程&#xff0c; 和专业相关不大&#xff0c;纯兴趣&#xff0c;尽量写好一点吧 1. 首先指出博弈论是一种研究策略形式的方法&#xff0c;对于经济学中&#xff0c;完全竞争市场只能被动接受均衡…

Elasticsearch 的使用

一、简介 1.Shard&#xff08;分片&#xff09; 数据分散集群的架构模式&#xff0c;Elasticsearch 将一个 Index&#xff08;索引&#xff09;中的数据切为多个 Shard&#xff08;分片&#xff09;&#xff0c;分布在不同服务器节点上。 默认每个索引会分配5个主分片和1个副本…