PCA与PCoA

news2024/11/27 10:30:50

通过分析坐标轴中样本和样本间的距离可看到 2 个样本或 2 组样本间的差异性。若2个样本或2组样本之间的直线距离较近,则表示这2个样本或2组样本差异性较小;相反则表示差异性较大。因此PCA和PCoA 具有直观性(直接看两点之间的距离)和完整性(呈现所有样本),数据易于分析解读。

PCA(Principal Components Analysis),主成分分析,主分量分析或主成分回归分析法,

利用线性变换,将数据变换到新的坐标系统中,再利用降维的思想,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上。减少数据集维数,并保持数据集中方差最大的特征,使数据直观呈现在二维坐标系。

PCoA(Principal Co-ordinates Analysis),主坐标分析,体现数据相似性或差异性的可视化坐标,是一种非约束性的数据降维分析方法,可研究样本组成的相似性或相异性。与PCA类似,通过一系列的特征值和特征向量进行排序后,选择主要排在前几位的特征值,找到距离矩阵中最主要的坐标,结果是数据矩阵的一个旋转,其没有改变样本点之间的相互位置关系,只是改变了坐标系统。

区别

PCA是基于样本的相似系数矩阵(如:欧式距离)检索主成分;

PCoA是基于距离矩阵(欧式距离以外的其他距离)构成主坐标。

通过生物学的样例理解PCA

假如有3个实验样本,共有1个物种x,用物种 x 的相对丰度表示样本和样本之间的差异。画一个一维坐标轴,将这3个样本的物种 x 的丰度表示在一维轴线上,如下图所示:

此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异(样本A和B间的距离即为A中的物种 x 的丰度与 B 中物种 x 的丰度的差值)。

假如有3个实验样本,共有2个物种:x 和 y。用物种 x 和物种 y 的相对丰度来在二维坐标系中定位样本。A=(x1,y1), B=(x2,y2),C=(x3,y3),如下图所示:

此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异。

假如有3个实验样本,共有k个物种: x, y, z…………k。可用物种x, y, z…………k的丰度来定位样本A=(x1,y1,z1……………k1)。样本B与C也可以用这种形式表示。A=(x1,y1,z1……………k1)是一组向量,而且是k维向量(A=(x1)是一维向量,A=(x1,y1)是二维向量,A=(x1,y1,z1)是三维向量)。但是k维向量无法在二维坐标系(平面)中表示(一维和二维向量可以,如上a和b两种情况)。此时将K维向量作出一些取舍,削去一些不重要的向量仅保留2个关键向量。

因降维处理,数据发生损失,样本和样本之间的距离代表样本之间的物种丰度差异。

通过生物学的样例理解PCoA

假如有2个实验样本,有很多物种,用某中算法计算每个样本的物种组成差异度(用一个数值表示物种相对丰度),数值之间的差异就代表了2个样本的物种相对丰度的差异。画一个一维坐标轴,将这2个样本表示在一维轴线上,如下图所示:

此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异。

假如有3个实验样本,用某种算法计算每个样本的物种组成差异度(用一个数值表示物种相对丰度),数值之间的差异就代表了每2个样本的物种相对丰度的差异。画一个二维坐标轴(三点组成一个面),将这3个样本表示在二维轴线上,如下图所示:

此时数据不发生偏移,样本和样本之间的距离代表样本之间的物种丰度差异。

假如有n个实验样本,用某种算法计算每个样本的物种组成差异度(用一个数值表示物种相对丰度),数值之间的差异就代表了每2个样本的物种相对丰度的差异。画一个n-1维坐标轴,将这n个样本表示在n-1维空间中。但是n-1维空间无法在平面上表示(一维和二维除外,三维勉强可以),因此只能利用矩阵呈现,如下图所示:

若要将n-1维的数据在二维坐标系中呈现,需降维处理,即将n-1维的数据投影到二维空间当中,方法与思路同PCA类似。此时,2个坐标轴的贡献率均小于100%,如下图所示:

因降维处理,数据发生损失,样本和样本之间的距离代表样本之间的物种丰度差异。

“PCA是基于样本的相似系数矩阵(如欧式距离)来寻找主成分,而PCoA是基于距离矩阵(欧式距离以外的其他距离)来寻找主坐标”,其实浅显地来理解,就是上面这么回事。

参考:

三文读懂PCA和PCoA(一)

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

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

相关文章

spring中i18n国际化处理多语言

前言 在项目中,往往用户会存在多语言的述求,比如说一个系统既有中文的用户,又有英文的用户。怎么来实现多语言呢? 首先前后端分离的项目,前端会有自己的多语言实现方案,大致效果就是,用户切换…

rocketmq源码-pull模式拉取消息、同步拉取消息

前言 上一篇博客,记录的是push模式,异步发送netty请求拉取消息的代码,这篇博客主要记录consumer发送同步netty请求,去拉取消息的逻辑,但是对于同步发送请求,需要结合LitePullConsumer来看 在Lite PullCon…

C语言基础—运算符及优先级

本章主要讲解运算符的优先级和结合顺序 知识点&#xff1a; 运算符分类&#xff0c;记忆了解13种运算符注意运算符的易错点运算符的优先级 运算符及优先级运算符分类❗ 运算符易错不能直接连续判断“< 值 <”关于判断两个浮点数是否相等逻辑表达式&#xff08;布尔型&am…

CSS:border-image

border-image属性对图像的规格和比例比较高&#xff0c;导致使用成本比较高。另外&#xff0c;常见的场景中&#xff0c;大家更倾向于扁平化而不是非拟物化&#xff0c;边框装饰通常在项目中不会出现。 border-image是由多个CSS属性缩写的&#xff0c;比如: border-image-sou…

hc32和stm32 can波特率设置

前言 笔者在调试一款新的mcu的can通信时候&#xff0c;最麻烦的是波特率设置。由于没有弄明白其计算原理&#xff0c;经常出错&#xff0c;且不同的波特率有不同的采样点的要求。浪费了不少时间。这次一次搞明白can波特率的计算公式。 can波特率计算 在ISO 11898-1-2015 标准…

音视频基础概念(2)——音频

目录 1. 基本知识 2.采样率和采样位数 3.音频编码 4. 声道数 5. 码率 6. 音频格式 日常生活中&#xff0c;音视频随处可见&#xff0c;包括视频、音频、编解码、封装容器、音视频等概念。 1. 基本知识 音频数据的承载方式最常用的是脉冲编码调制&#xff0c;即PCM。于…

JAVA面试(2022年Java常见面试问题)

1、谈谈你对Spring中IOC和AOP的理解。 答案&#xff1a; 2、谈谈Spring的bean的创建过程和生命周期。 答案&#xff1a; 3、谈一下JVM的内存分配和垃圾回收机制。 答案&#xff1a; 4、谈一下你使用比较多的设计模式和场景。 答案&#xff1a; 5、谈一些mysql的事务隔离。 …

什么是文件系统?

【推荐阅读】 一文了解Linux上TCP的几个内核参数调优 一文剖析Linux内核中内存管理 分析linux启动内核源码 文件系统是操作系统用于明确存储设备&#xff08;常见的是磁盘&#xff0c;也有基于NAND Flash的固态硬盘&#xff09;或分区上的文件的方法和数据结构&#xff0c;…

传奇列表上传登录器公告小窗口怎么修改

传奇列表上传登录器公告小窗口怎么修改 很多小伙伴不会上传列表&#xff0c;我是艾西今天给大家分享下怎么上传列表 我们开始实操&#xff08;纯教学分享&#xff09; 在我们的网站文件夹里创建一个列表.txt 在浏览器里找一个列表模板例&#xff1a;www.pkp123.cn:88&#xff…

1570_AURIX_TC275_SCU_ERU

全部学习汇总&#xff1a; GreyZhang/g_TC275: happy hacking for TC275! (github.com) 从系统的逻辑图看&#xff0c;能够很清楚看到这个模块的功能处理过程&#xff1a;首先是边沿信号的识别&#xff0c;接着是根据判断进行置位处理&#xff0c;最后进行工作触发。如果设置的…

使用Nordic的nRF52840 Dongle配合Wireshark对蓝牙设备抓包(BLE)

硬件准备&#xff1a; 1&#xff09;nRF52840 Dongle 2&#xff09;待抓包的蓝牙设备 软件准备&#xff1a; 1&#xff09;Python 2&#xff09;Wireshark 3&#xff09;nRF Sniffer for Bluetooth LE Python安装 需要注意的是下载的nRF Sniffer for Bluetooth LE版本是否…

K8s 之 Deployment 应用案例

目录一、YAML 配置文件二、运行服务三、更新 Deployment3.1 动态伸缩容3.2 触发上线四、故障自动转移五、指定节点运行 Pod六、删除 deployment一、YAML 配置文件 我们要清楚&#xff0c;在 K8s 中有两种创建资源的方式&#xff1a; &#xff08;1&#xff09;命令行方式&…

【GO】 K8s 管理系统项目[API部分--Pod]

K8s 管理系统项目[API部分–Pod] 前端: Vueelement plus 后端: gogin 1. 功能设计 2. 初始化 2.1创建项目 2.2 配置goproxy GOPROXYhttps://goproxy.cn 2.3 添加格式化工具 2.4 安装模块 go get k8s.io/client-go/tools/clientcmd go get k8s.io/api/core/v1 go get k8s.i…

使用 docker buildx 构建跨平台 Go 镜像

目录 前提 docker buildx 启用 Buildx builder 实例 构建驱动 buildx 的跨平台构建策略 一次构建多个架构 Go 镜像实践 源代码和 Dockerfile 执行跨平台构建 验证构建结果 如何交叉编译 Golang 的 CGO 项目 准备交叉编译环境和依赖 交叉编译 CGO 示例 总结 参考链接…

供水设备远程监控客户案例

一、客户介绍 客户积累多年的技术研发和工程运维经验&#xff0c;对传统的恒压供水工程所面临的维护难、维修难、运维效率低和能耗管控弱等诸多问题有深刻的体会&#xff0c;经过广泛调研&#xff0c;客户最终选择使用蓝蜂物联网的云平台和边缘计算产品对恒压供水设备和工程进行…

数据处理指令(一)—— 搬移指令MOV、MVN

数据处理指令指的是和数学运算、逻辑运算相关的指令&#xff0c;比如加减乘、与或非、赋值比较等 目录 1、MOV —— 直接搬移 (1) MOV 指令格式 (2) MOV生成指令的策略&#xff08;MOV的优点&#xff09; (3) MOV 只能搬移“立即数”的原因&#xff08;MOV的缺点&#x…

问卷设计一:问卷题目哪些有类型和注意要点?

问卷法常被人们应用于社会调查中&#xff0c;它能反馈出最真实的社会信息。所以&#xff0c;很多企业为了最大程度地了解市场&#xff0c;也经常使用问卷调查法进行研究。不过&#xff0c;想要发挥出问卷法的最大用处&#xff0c;前提是要将问卷设计规范并且可量化。 想要设计…

用ArkTs在鸿蒙系统上画一个世界杯海报

偶然看到了CSDN关于世界杯的征文活动&#xff1a; 用代码画一个足球&#xff1f; 哈哈很有意思&#xff01; 想了想&#xff0c;画一个自定义View&#xff08;足球&#xff09;&#xff0c;当然是使用Canvas了&#xff0c;但除了Canvas还有没有其它方法呢&#xff1f;那是必须…

c语言算数转换 操作符

【题目名称】下面代码的结果是&#xff1a;( b)#include <stdio.h> int main() {int a, b, c;a 5;c a;b c, c, a, a;//逗号表达式从左向右以此计算 表达式结果是最后一个表达式b a c; //a9 先算加后算加等printf("a %d b %d c %d\n:", a, b, c);retu…

【软件测试】工作瓶颈?测试的出路在哪?

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 3年软件测试经验&am…