数据的相似度计算

相似度系数又称为相关系数,常用于考察两个变量x、y之间的相关程度。

  • 若为0,则x和y无相关性
  • 若为正,则x和y呈正相关,相关系数在0~1之间
  • 若为负,则x和y呈负相关,相关系数在-1~0之间
  • 相似度系数的绝对值越大,则x和y相关性越强

matlab中,有corrcorr2函数计算相似度系数,并提供了3种相关系数的计算方法:

1. 皮尔逊线性相关系数

皮尔逊线性相关系数是最常用的线性相关系数,皮尔逊线性相关系数 rho(a,b) 定义为:
r h o ( a , b ) = ∑ i = 1 n ( X a , i − X ‾ a ) ( Y b , i − Y ‾ b ) ∑ i = 1 n ( X a , i − X ‾ a ) 2 ∑ j = 1 n ( Y b , j − Y ‾ b ) 2 rho(a,b)=\frac{\sum\limits_{i=1}^n{(X_{a,i}-\overline{X}_a)(Y_{b,i}-\overline{Y}_b)}}{\sqrt{\sum\limits_{i=1}^n{(X_{a,i}-\overline{X}_a)}^2\sum\limits_{j=1}^n{(Y_{b,j}-\overline{Y}_b)}^2}}\\ rho(a,b)=i=1n(Xa,iXa)2j=1n(Yb,jYb)2 i=1n(Xa,iXa)(Yb,iYb)
其中 n 为每个列的长度,相关系数的值的范围是从 –1 到 +1。值 –1 表示完全负相关,而值 +1 表示完全正相关。值 0 表示列之间没有相关性。

四种等效表达式:
ρ X , Y = ∑ ( X − X ‾ ) ( Y − Y ‾ ) ∑ ( X − X ‾ ) 2 ∑ ( Y − Y ‾ ) 2 ρ X , Y = E ( X Y ) − E ( X ) E ( Y ) E ( X 2 ) − E 2 ( X ) E ( Y 2 ) − E 2 ( Y ) ρ X , Y = N ∑ X Y − ∑ X ∑ Y N ∑ X 2 − ( ∑ X ) 2 N ∑ Y 2 − ( ∑ Y ) 2 ρ X , Y = ∑ X Y − ∑ X ∑ Y / N ∑ X 2 − ( ∑ X ) 2 / N ∑ Y 2 ( ∑ Y ) 2 / N \rho_{X,Y}=\frac{\sum\left(X-\overline{X}\right)(Y-\overline{Y})}{\sqrt{\sum\left(X-\overline{X}\right)^{2}\sum{(Y-\overline{Y})^{2}}}}\\ \\[1cm] \rho_{X,Y}=\frac{E(XY)-E(X)E(Y)}{\sqrt{E(X^2)-E^2(X)\sqrt{E(Y^2)-E^2(Y)}}} \\[1cm] \rho_{X,Y}=\frac{N\sum XY-\sum X\sum Y}{\sqrt{N\sum X^2-(\sum X)^2}\sqrt{N\sum Y^2-(\sum Y)^2}} \\[1cm] \rho_{X,Y}=\frac{\sum XY-\sum X\sum Y/N}{\sqrt{\sum X^2-(\sum X)^2/N}\sqrt{\sum Y^2(\sum Y)^2/N}} ρX,Y=(XX)2(YY)2 (XX)(YY)ρX,Y=E(X2)E2(X)E(Y2)E2(Y) E(XY)E(X)E(Y)ρX,Y=NX2(X)2 NY2(Y)2 NXYXYρX,Y=X2(X)2/N Y2(Y)2/N XYXY/N

测试案例:

clear,clc,close allt = 0:0.01:1;
x = sin(2*pi*t)+2;
y = 0.95*sin(2*pi*t*0.9)+0.05*sin(2*pi*t)+2;
plot(x)
hold on
plot(y)corr1 = corr(x',y')
corr2 = corr2(x,y)
corr3 = corr_self(x,y)function r = corr_self(x,y)len = length(x);x_ = mean(x);y_ = mean(y);sum1 = 0;sum2 = 0;sum3 = 0;for i = 1:lensum1 = sum1 + (x(i)-x_)*(y(i)-y_);sum2 = sum2 + (x(i)-x_)^2;sum3 = sum3 + (y(i)-y_)^2;endr = sum1 / sqrt(sum2*sum3);
end
2. 肯德尔 tau 相关系数

肯德尔 tau 基于 (i,j) 同序对的计数(其中 i<j),同序是指 X a , i − X a , j X{a,i}−X{a,j} Xa,iXa,j Y b , i − Y b , j Y{b,i}−Y{b,j} Yb,iYb,j
具有相同的符号。肯德尔 tau 方程包括对归一化常量中结值的调整项,通常称为 tau-b。

对于矩阵 X 中的 Xa 列和矩阵 Y 中的 Yb 列,肯德尔 tau 系数定义为:

r h o ( a , b ) = 1 − 6 ∑ d 2 n ( n 2 − 1 ) rho(a,b)=1-\frac{6\sum d^{2}}{n(n^{2}-1)} rho(a,b)=1n(n21)6d2

其中, K = ∑ i = 1 n − 1 ∑ j = i + 1 n ξ ∗ ( X a , i , X a , j , Y b , i , Y b , j ) K=\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}\xi^*(X_{a,i},X_{a,j},Y_{b,i},Y_{b,j}) K=i=1n1j=i+1nξ(Xa,i,Xa,j,Yb,i,Yb,j),并且有:
ξ ∗ k ( X a , i , X a , j , Y b , i , Y b , j ) = { 1 if ( X a , i − X a , j ) ( Y b , i − Y b , j ) > 0 0 if ( X a , i − X a , j ) ( Y b , i − Y b , j ) = 0 − 1 if ( X a , i − X a , j ) ( Y b , i − Y b , j ) < 0 \left.\xi^{*k}(X_{a,i},X_{a,j},Y_{b,i},Y_{b,j})=\left\{\begin{array}{lll}1&\text{if}&(X_{a,i}-X_{a,j})(Y_{b,i}-Y_{b,j})>0\\0&\text{if}&(X_{a,i}-X_{a,j})(Y_{b,i}-Y_{b,j})=0\\-1&\text{if}&(X_{a,i}-X_{a,j})(Y_{b,i}-Y_{b,j})<0\end{array}\right.\right. ξk(Xa,i,Xa,j,Yb,i,Yb,j)= 101ififif(Xa,iXa,j)(Yb,iYb,j)>0(Xa,iXa,j)(Yb,iYb,j)=0(Xa,iXa,j)(Yb,iYb,j)<0

3. 斯皮尔曼 rho

斯皮尔曼 rho 等效于应用于 Xa 和 Yb 列的秩序的 皮尔逊线性相关系数。
如果每个列中的所有秩都不同,该方程可简化为:
r h o ( a , b ) = 1 − 6 ∑ d 2 n ( n 2 − 1 ) rho(a,b)=1-\frac{6\sum d^{2}}{n(n^{2}-1)} rho(a,b)=1n(n21)6d2

其中,d 是两个列的秩之差,n 是每列的长度。


参考链接:

  • https://ww2.mathworks.cn/help/stats/corr_zh_CN.html
  • https://www.zhihu.com/tardis/bd/art/423190810

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

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

相关文章

【hyperledger-fabric】部署Java应用远程访问智能合约

简介 首先是根据b站的视频 hyperledger-fabric【3】在 java 应用中访问合约 以及hyperledger-fabric【5】Java应用和私有数据&#xff0c;本文章主要讲述的是视频中我遇到的问题&#xff0c;以及相关知识点的总结。 遇到的问题 问题1&#xff1a;git clone下载下来的代码发现…

K8S学习指南(67)-脚手架工具KubeBuilder

文章目录 引言KubeBuilder 的历史发展KubeBuilder 的设计理念1. 约定优于配置2. CRD 和控制器的生成3. 可插拔的架构4. 集成了测试框架 KubeBuilder 的使用1. 安装 KubeBuilder2. 创建一个新的 KubeBuilder 项目3. 创建一个新的 API 对象4. 实现控制器逻辑5. 生成 CRD 和控制器…

esp32-s3 max98357

esp32一直正常使用&#xff08;1.0.6的esp库&#xff09;&#xff0c;最近买了esp32s3就报错如下&#xff08;2.0.5的库&#xff09;&#xff1a; E (363) I2S: i2s_calculate_common_clock(1149): sample rate is too large E (364) I2S: i2s_calculate_clock(1198): Common…

《异侠传S1赛季侠义九州》公测版本三端互通PC客户端与IOS下载地址!!!

尊敬的各位异侠玩家们&#xff1a; 我们怀着无比激动的心情&#xff0c;充满感激地向大家宣布&#xff1a;今天上午10&#xff1a;00我们即将迎来《异侠传S1赛季&#xff1a;侠义九州》的首发公测&#xff01;在这个特殊的时刻&#xff0c;我们想将我们最诚挚的感谢献给每一位…

STM32 CubeMX LwIP + freertOS 移植

开发板: 官方 STM32F746 MCU型号&#xff1a;STM32F746NGH 网卡型号&#xff1a;LAN8742A 原理图如下 先用裸机测试LAN8742A的网卡驱动 使用CubeMX创建工程 系统时钟和时基定时器如下 无系统LWIP协议栈设置&#xff0c;静态IP地址&#xff0c;关闭DHCP 生产代码&#xff…

Java版企业电子招投标系统源代码,支持二次开发,采用Spring cloud技术

在数字化时代&#xff0c;采购管理也正经历着前所未有的变革。全过程数字化采购管理成为了企业追求高效、透明和规范的关键。该系统通过Spring Cloud、Spring Boot2、Mybatis等先进技术&#xff0c;打造了从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通过…

网络面试题

1. 请简要介绍一下TCP/IP协议栈的层次结构。 TCP/IP协议栈是一系列网络协议的集合&#xff0c;构成了网络通信的核心骨架。这个协议采用四层结构&#xff0c;分别是链路层、网络层、传输层和应用层。 链路层是TCP/IP协议栈中的最底层&#xff0c;负责在物理媒介上发送和接收数…

iOS UITextField复制、粘贴框显示为英文如何解决

问题描述&#xff1a; 使用UITextField&#xff0c;欲粘贴文本&#xff0c;长按或者双击展示的提示框显示为英文 解决方案&#xff1a; 在Xcode配置文件info,plist文件中&#xff0c;新增Localizas属性&#xff0c;填入Chinese 结果如下&#xff1a; 提示框成功展示为中文

antv/x6_2.0学习使用(六、事件系统)

一、视图交互事件 通过鼠标、键盘或者各种可交互的组件与应用产生交互时触发的事件&#xff0c;如单击节点 ‘node:click’ 等。 1、鼠标事件 事件cell 节点/边node 节点edge 边blank 画布空白区域单击cell:clicknode:clickedge:clickblank:click双击cell:dblclicknode:dblcli…

量子计算:未来科技的革新引擎与广泛应用前景

在当今科技领域&#xff0c;量子计算机作为颠覆性的技术力量正在崭露头角。它超越了传统二进制逻辑门的经典计算框架&#xff0c;利用量子比特&#xff08;qubits&#xff09;及其叠加态和纠缠现象实现前所未有的信息处理能力。随着全球科研团队对量子计算领域的持续深耕&#…

【镜像压缩】linux 上 SD/TF 卡镜像文件压缩到实际大小的简单方法(树莓派、nvidia jetson)

文章目录 1. 备份 SD/TF 卡为镜像文件2. 压缩镜像文件2.1. 多分区镜像文件的压缩&#xff08;树莓派、普通 linux 系统等&#xff09;2.2. 单分区镜像文件的压缩&#xff08;Nvidia Jetson Nano 等&#xff09; 3. 还原镜像文件到 SD/TF 卡参考链接 1. 备份 SD/TF 卡为镜像文件…

运用Jmeter进行登录测试

开始了解Jmeter,写篇关于Jmeter的博客做备忘,这里以苏宁易购网站的登录请求为例实战来说明测试计划元件,创建一个 Web 测试计划。 今天简单介绍Jemeter的入门,Jmeter 的安装这边就跳过,直接讲述如何使用JMETER,如何运用Jmeter进行测试。 a.下载jmeter软件 b.安装…

【RabbitMQ】2 RabbitMQ介绍与架构

目录 简介架构Connection 和Channel关系工作流程生产者发送消息的流程消费者接收消息的过程 RabbitMQ数据存储存储机制 安装和配置RabbitMQRabbitMQ常用操作命令 简介 RabbitMQ&#xff0c;俗称“兔子MQ”&#xff08;可见其轻巧&#xff0c;敏捷&#xff09;&#xff0c;是目…

2024年1月7日学习总结

目录 今日计划学习内容今日学习内容1、argparse——命令行选项、参数、子命令解释器2、Python中的元组&#xff08;1&#xff09;访问元组&#xff08;2&#xff09;修改元组&#xff08;3&#xff09;删除元组&#xff08;4&#xff09;元组的运算&#xff08;5&#xff09;元…

excel 按照姓名日期年份分组求和

excel 需要按照 姓名 日期中年份分组求和&#xff0c;目前想到 sumifs函数&#xff0c;大概需求如下&#xff1a; 表格数据大概如下 ABC姓名日期金额a2022/2/1542a2023/4/5154b2023/3/5100 统计结果如下&#xff1a; ABC1姓名2022年2023年2a5421543b100 对应公式 如下 --算…

【linux学习】linux概述

1. linux概述 操作系统主要的功能有两个部分&#xff0c;一是更有效率的控制计算机硬件资源&#xff08;主要通过核心来控制&#xff09;&#xff0c;二是为程序设计师提供更容易开发软件的环境&#xff08;系统呼叫提供软件开发环境&#xff09;。linux就是一套操作系统&…

「许战海战略文库」从日本消费趋势看中国食品的第二招牌

在日本消费趋势的映射下&#xff0c;中国的食品行业面临着独特的转型机遇。品类品牌时代的终结及其在美元霸权经济下的起落&#xff0c;以及中国企业如何在改革开放四十年市场红利结束后继续成长&#xff0c;面对内卷式竞争&#xff0c;中国食品企业如何寻找新的增长路径&#…

【JaveWeb教程】(1)Web前端基础:HTML+CSS入门不再难:一篇文章教你轻松搞定HTML与CSS!

目录 1. 前端开发介绍2. HTML & CSS2.1 HTML快速入门2.1.1 操作2.1.2 总结 2.2 开发工具2.3 基础标签 & 样式2.3.1 新浪新闻-标题实现2.3.1.1 标题排版2.3.1.1.1 分析2.3.1.1.2 标签2.3.1.1.2 实现 2.3.1.2 标题样式2.3.1.2.1 CSS引入方式2.3.1.2.2 颜色表示2.3.1.2.3 …

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax类图 【大数据进阶第三阶段之Datax学习笔记】使用…

python数据可视化之地图绘制案例分析

在数据可视化领域&#xff0c;地理信息的展示有着无可替代的价值。本篇笔记将通过Python的pyecharts库实现一个中国直辖市GDP数据的地图分布可视化示例&#xff0c;帮助读者了解如何利用该工具进行地图数据渲染。 1. 导入所需模块 首先&#xff0c;我们需要导入pyecharts库中…