PCA分析基本知识和数学原理

简介: PCA分析基本知识和数学原理

笔记的主要内容是 PCA(主成分分析) 原理和基本知识,相关数学原理和核心概念。

什么是PCA分析?

主成分分析(PCA, principal component analysis)是一种数学降维方法,利用正交变换把一系列可能线性相关的变量转换为一组线性不相关的新变量也称为主成分PC,用新变量在更小的维度下展示数据的特征。下图展示了经过标准化之后数据的展示差异:

有几个问题值得思考,如果数据很复杂而且具有很多个变量,应该如何选择合适的主成分?PCA分析的优势有哪些?PCA的应用场景?

选择主成分

PCA的核心是选择新的坐标系(主成分),坐标轴垂直(也就是正交,线性无关),方差足够大(为了使数据在坐标轴的投射点尽可能的广,显示出更多数据特征)

假设有很多个不同的数据,它们在坐标系散乱分布,先确定它们中最中心的点,经过该点的一条直线和所有点平方距离最小时,即可确定主成分PC1,如下图所示过程,紫线位置。由于第二主成分PC2与PC1正交(即垂直),所以根据这两条线为坐标轴,把所有的点分别投影到新的坐标轴,这样就完成了从二维到一维的转换。

投影的方式比较多,目的是尽可能的保留数据的特征,使第一主成分具有最大的方差(var)同时利用正交非线性相关性完成去冗余。

PCA分析优势

  • 简化数据

数据量非常大时,比如有800份小麦重测序数据,几万个不同的基因表达量有差异,导致分析过程变的很麻烦,通过PCA分析可以确定其中最主要的变化因子,简化运算过程。

  • 去除误差数值

PCA分析对数据降维处理时,过滤掉由于误差引起的变化,增大数据的可信度。

  • 数据可视化

在展示多个基因表达数据时,利用PCA选择表达差异最显著的两个基因作为主成分,然后得出各个基因表达量的关系。

PCA分析应用场景

科研中经常会应用PCA分析方法,在阅读一些文献时,笔者发现PCA图频繁出现在paper中,比如研究肠道微生物的菌群构成、某种细胞的基因表达情况等。

这些场景下都具有很多变量,PCA分析通几个主成分来揭示多个变量之间的关系,且主成分间互不相关。将高维数据降低至二维或三维,同时保持各方差贡献最大的特征,降低数据复杂度。

PCA的数学原理

假如有一份原始数据包含多个变量,先将每个变量的方差和协方差计算出来,得到数据的协方差矩阵

  • 方差
    var,单个变量的变异度。表示数据的离散程度
  • 协方差
    cov,两个变量的相关度,若为0表示没有相关性,如果为正,表示一组数据增加时另一组数据也随之增加

为了统一衡量的尺度,需要对协方差矩阵进行标准化处理(scale),通俗的说就是让数据的平均值为0并且方差为1,这样所有数据的评价标准和尺度都一样。

原始变量的协方差矩阵包含以下两部分信息:

  • 原始变量自身的方差(协方差矩阵的主对角线位置)
  • 原始变量之间的相关程度(非主对角线位置)

PCA分析就是产生一组新的变量,使得新变量的协方差矩阵为对角阵。

特征值法分解协方差矩阵

参考资料:

https://blog.csdn.net/weixin_60737527/article/details/125144416
https://blog.csdn.net/Monica_428/article/details/117667137
https://zhuanlan.zhihu.com/p/37777074
https://www.aisoutu.com/a/1510739
https://blog.csdn.net/weixin_39747087/article/details/112455438
http://www.ehbio.com/Bioinfo_R_course/Rplots.html#pcaintroduc
https://blog.csdn.net/weixin_39837727/article/details/110160387
http://blog.genesino.com/2016/10/PCA/

END

© 素材来源于网络,侵权请联系后台删除

往期推荐:

软件丨MobaXterm远程登录工具

软件丨个人电脑搭建Linux虚拟机

文献丨转录组RNA seq——青年阶段!

文献丨转录组表达数据的生信挖掘研究

R语言笔记丨字符串和列表必学基础知识

R语言笔记丨三大法宝:判断、循环、函数

相关文章
|
机器学习/深度学习 XML 存储
深度学习Heartpy心电图分析
深度学习Heartpy心电图分析
1129 0
|
1月前
|
人工智能 监控 安全
[理论篇-14]大模型评估与可观测性——如何知道你的 AI 到底行不行
用最通俗的话讲清楚,为什么 AI 应用上线前必须"考试"、上线后必须"体检",以及 2025-2026 年业界最实用的评估和监控方法。不管你是开发者、产品经理、还是企业管理者,读完这篇,你就知道怎么判断一个 AI 系统"到底好不好"。
188 3
|
数据采集 存储 索引
转录组分析丨一套完整的操作流程简单案例(上)
转录组分析丨一套完整的操作流程简单案例
|
存储 缓存 安全
【C/C++ 关键字 存储类说明符 】 线程局部变量的魔法:C++ 中 thread_local的用法
【C/C++ 关键字 存储类说明符 】 线程局部变量的魔法:C++ 中 thread_local的用法
1032 0
|
缓存 并行计算 测试技术
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
2990 12
|
JSON API 网络架构
gRPC 与 REST 的比较分析:哪种 API 适合您的开发需求?
gRPC, 由 Google 推出的开源远程过程调用(RPC)框架, 使两个应用程序间的方法调用变得简单,支持结构化数据的交换。通过采用 Protocol Buffers (Protobuf) ——一种与语言无关的接口定义语言,gRPC 体现了许多现代网络通信技术的优势
gRPC 与 REST 的比较分析:哪种 API 适合您的开发需求?
|
存储 网络协议 安全
Epoll的实现原理
Epoll的实现原理
|
机器学习/深度学习
【机器学习】决策树为什么对缺失值不敏感,如何处理缺失值?
文章探讨了决策树对缺失值不敏感的原因,并提出了处理缺失值的多种策略,包括在属性选择、分割点决定和模型测试阶段的不同处理方法。
687 1
|
存储 人工智能 NoSQL
【AI系统】LLVM IR 详解
本文深入探讨了LLVM IR(中间表示)的概念,解释了其在编译器中的重要性和作用。LLVM IR作为一种抽象程度适中的中间语言,不仅涵盖了源代码的大部分信息,还支持编译器进行灵活的代码优化。文章进一步解析了LLVM IR的三地址码表示及其优点,并通过具体示例展示了LLVM IR的设计原则和内存模型,帮助读者更好地理解编译器内部的工作机制。
738 5
|
数据处理 开发工具 C++
Qt C++ 扫码枪使用数据处理
Qt C++ 扫码枪使用数据处理