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.hqwc.cn/news/221393.html

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

相关文章

校园导游程序及通信线路设计(结尾附着总源码)

校园导游程序及通信线路设计 摘  要 新生或来访客人刚到校园,对校园的环境不熟悉。就需要一个导游介绍景点,推荐到下一个景点的最佳路径等。随着科技的发展,社会的进步,人们对便捷的追求也越来越高。为了减少人力和时间。针对对…

BigDecimal的使用全面总结

BigDecimal BigDecimal可以表示任意大小,任意精度的有符号十进制数。所以不用怕精度问题,也不用怕大小问题,放心使用就行了。就是要注意的是,使用的时候有一些注意点。还有就是要注意避免创建的时候存在精度问题,尤其…

【数据结构与算法】JavaScript实现树结构(一)

文章目录 一、树结构简介1.1.简单了解树结构1.2.树结构的表示方式 二、二叉树2.1.二叉树简介2.2.特殊的二叉树2.3.二叉树的数据存储 三、二叉搜索树3.1.认识二叉搜索树3.2.二叉搜索树应用举例 一、树结构简介 1.1.简单了解树结构 什么是树? 真实的树:…

谈谈Redis的几种经典集群模式

目录 前言 主从复制 哨兵模式 分片集群 前言 Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同节点上同时提供服务,提高整体性能和可靠性。在Redis中提供集群方案总共有三种:主从复制、…

如何处理枚举类型(下)

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 上一篇我们通过编写MyB…

Android平台GB28181设备接入模块开发填坑指南

技术背景 为什么要开发Android平台GB28181设备接入模块?这个问题不再赘述,在做Android平台GB28181客户端的时候,媒体数据这块,我们已经有了很好的积累,因为在此之前,我们就开发了非常成熟的RTMP推送、轻量…

C++学习之路(六)C++ 实现简单的工具箱系统命令行应用 - 示例代码拆分讲解

简单的工具箱系统示例介绍: 这个示例展示了一个简单的工具箱框架,它涉及了几个关键概念和知识点: 面向对象编程 (OOP):使用了类和继承的概念。Tool 是一个纯虚类,CalculatorTool 和 FileReaderTool 是其派生类。 多态&#xff1…

基于springboot+Web实现社区医院管理服务系统项目【项目源码+论文说明】

基于springbootWeb实现社区医院管理服务系统演示 摘要 在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括社区医院管理服务系统的网络应用,在外国线上管理系统已经是很普遍的方式,不过国内的管理系统可…

dst-admin饥荒管理后台 RCE漏洞复现(CVE-2023-0646、CVE-2023-0647、CVE-2023-0649)

0x01 产品简介 dst-admin饥荒管理后台是qinming99个人开发者的一个用 Java 语言编写的 web 程序。 0x02 漏洞概述 dst-admin饥荒管理后台kickPlayer、cavesConsole、sendBroadcast等接口处配置不当,导致破解口令后的攻击者可以进行命令注入,获取服务器权…

Elastic Search的RestFul API入门:初识mapping

本节课旨在探讨Elasticsearch中Mapping的使用。在Elasticsearch中,Mapping是定义索引中字段(Field)的数据类型和属性的过程。它为Elasticsearch提供了一种途径,以解析和处理文档中的各个字段,以便在搜索、排序和聚合等…

【非监督学习 | 聚类】聚类算法类别大全 距离度量单位大全

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

岂曰无衣 汉家衣裳再现锦绣美景

——福州第五届1122汉服节出行盛大开幕11月25日下午,闽江之心海丝广场,一场盛大的汉服文化节——福州第五届1122汉服节出行活动在这里隆重开幕。这个被誉为“穿在身上的历史”的传统文化,在这片古老而神秘的土地上焕发出新的生机与活力。据了…