当前位置: 首页 > news >正文

如果你在为理解RDA、PCA 和 PCoA而烦恼,不妨来看看丨TomatoSCI分析日记

当你学习了 RDA、PCA 和 PCoA 这三种常见排序方法后,脑子里是不是也冒出过类似的疑问:

PCA、PCoA、RDA 不都能画图吗?是不是可以互相替代?

RDA 图上也有样本点,那我还需要 PCoA 干什么?

...

这些看似“都在画点图”的方法,其实背后的原理、假设和适用场景大不相同。如果不搞清楚,就可能用错方法、画错图,甚至在结果解读上南辕北辙。


01 PCA:变量出发,寻找主要变异方向

PCA(主成分分析)关注的是样本在变量空间中的最大方差方向,分析的是变量之间的协方差结构,它强调正负方向。

举个例子:你有 10 个水样本,每个样本测了 5 种金属(铅、汞、铬、镉、锌)的浓度。你想知道哪些样本之间在“污染物组成”上差异最大,这时候就可以使用 PCA。

在 PCA 中,如果两个样本点在某条主成分轴(PC1、PC2 等)上方向相反,

那么它们在这个主成分所代表的变量组合上,存在“相反的趋势”或“对立的特征”。

适用场景:多个连续性变量之间的结构探索;没有主次之分的变量(不区分因变量、自变量)


02 PCoA:距离出发,还原相似性结构

PCoA是基于距离矩阵进行降维的排序方法。它的目标是:在保留样本之间原始距离关系的前提下,将样本映射到一个低维空间中进行展示。

举个例子:你采集了多个土壤样本,记录了每个样本中出现的真菌种类(是/否,0/1),这个时候可以利用Jaccard系数这个指标算出距离,再用 PCoA 展现样本之间的相似性或差异性。

数据类型可以是:二元数据(0/1,表示物种是否出现);丰度数据(连续型),非常灵活。

适用场景:样本之间差异更关注“距离感”而不是变量结构;适用于各种类型的数据,尤其是群落数据、稀疏数据(很多0);同样不区分因变量、自变量,属于“自由排序”


03 RDA:模型出发,解释结构背后的驱动因子

RDA是一个受约束的排序方法,它的本质是将多个因变量(如物种数据)在多个解释变量(如环境因子)构建的回归模型上做PCA,关注的是“解释变量是否能解释群落结构的差异”。

举个例子:你采集了 15 个浮游生物样本,同时记录了每个样本点的水温、盐度、pH 等环境数据。现在你不仅想知道样本之间群落结构是否不同,更重要的是——你想知道,“是不是温度或盐度影响了这些差异?”

这时,RDA 就可以帮你回答这个问题:它会把样本在被解释变量(如温度、盐度)张成的空间中排序,从而可视化这些因子的解释方向与作用强度。

适用场景:你同时有环境变量(解释变量)和群落结构(响应变量);想研究“哪些环境因子可能驱动了样本间的差异”;想对解释变量进行显著性检验,量化它们对群落结构的贡献。


04 总结与个人习惯

PCA 看重“方向”、PCoA 注重“距离”、而 RDA 的关键则在于“解释变量和响应变量”的对应关系。

PCA 是探索型的、PCoA 是结构还原型的,而 RDA 则是解释型的排序方法。 理解这三者背后的出发点不同,才能在实际应用中真正做到“方法对题、图对解”。

在实际分析中, 我更喜欢:用PCoA来确定样本之间的关系,PCoA 对“样本之间的距离感”还原得更加直观清晰;用PCA来探索“自由”的变量之间的关系;用RDA来探索“有因果关系”的变量之间的关系。


TomatoSCI科研数据分析平台,欢迎大家来访!

http://www.lryc.cn/news/575668.html

相关文章:

  • 临床试验项目管理:高效推进新疗法上市
  • EXILIUM×亚矩云手机:重构Web3虚拟生存法则,开启多端跨链元宇宙自由征途
  • 用 Spark 优化亿级用户画像计算:Delta Lake 增量更新策略详解
  • Mac电脑如何搭建基于java后端的开发的各种工具服务
  • Ubuntu 下降 Linux Kernel 的版本备忘
  • 使用CSS泄露标签属性值 url路径遍历攻击 -- GPN CTF 2025 PAINting Dice
  • 【STL】深入理解 vector 的底层实现思想和使用
  • 东芝e-STUDIO 2323AMW双面复印报计数器溢出故障
  • 【CMake基础入门教程】第七课:查找并使用第三方库(以 find_package() 为核心)
  • [论文阅读] 人工智能+ | 用大语言模型给建筑合规检查“开挂“:BIM领域的自动化革命
  • python的银行柜台管理系统
  • Python 常用正则表达式大全
  • 【51单片机5毫秒定时器】2022-6-1
  • python打卡day43
  • 常见的排序方法
  • Jenkins 部署与使用
  • 在Visual Studio使用Qt的插件机制进行开发
  • Nordic nRF54L15 SoC对包含电池监测、中断处理和电源轨控制的定制 nPM1300 示例
  • UE Universal Camera 相机插件-限制镜头在区域内移动
  • 【Docker基础】Docker容器管理:docker restart详解
  • 使用Charles中文版抓包工具进行高效的API调试与性能优化
  • 【机器学习深度学习】线性代数
  • 网络分层模型与协议体系技术研究报告
  • PDF Kit 使用示例(HarmonyOS)
  • dockers virbox 安装
  • 亚矩阵云手机多开赋能Snapchat矩阵运营:技术原理与场景化破局
  • Linux修改uboot启动延时方法详细攻略,触觉智能RK3568开发板演示
  • Go语言与云原生:Kubernetes Operator开发全流程
  • 【钓鱼预警】HW主题,无需多言
  • LLM复杂记忆存储-多会话隔离案例实战