上周五彩斑斓的气泡图

有让你眼花缭乱吗?

本周,化繁为简的PCA图

你值得拥有!

 数据分析| 科研制图﹒PCA 图

关键词:主成分分析、降维

1665 年的鼠疫

牛顿停课在家提出了万有引力 ;
1830 年的霍乱,普希金居家深造

写出了 300 多首抒情诗和几部小说 ;

2020 年的新冠,若谷也没闲着

嘿嘿嘿,是不是很好奇我在干嘛?

就不告诉你

好想快点开学啊啊啊啊啊啊 | 图源新医谷

若谷的假期,早被谷老安排上了!那就是研究文献中的各种图!最让我走火入魔的便是— PCA 图

最传统的PCA图 | 图源新医谷

初识 PCA

关于 PCA,你第一眼想到的是什么? 
是解剖里面的

Posterior Cerebral Artery(大脑后动脉)?

还是高大上的

Patient Controlled Analgesia(病人自控镇痛)?

都不是,今天若谷给大家讲的是

Principal Component Analysis

主成分分析

是不是听起来就一脸懵,下面就让我们来看看PCA是何方神圣!

01

降维

主成分分析的字面意思就是用主成分来分析数据呗!阔是,什么是主成分?这就不得不聊一个关于“降维”的故事了。

从前有座山,山上有座庙,庙里有个……

呸呸呸,拿错剧本了

应该是“学医要考研,考研要复试,复试要…要…要…复试不仅让考生心痛更让导师眼花缭乱。”这不,A导就纠结着到底选5个复试学生里的哪一个来当自己的关门弟子?

A导最终决定用数据说话!设置了“绩点,考研分数,科研能力,笔试成绩,面试表现,英语水平,奖学金,学科竞赛,部门任职”9个指标(相当于从9个维度去评价这5位考生)。

想读个书不容易 | 图源新医谷

9个指标=9个变量=9个维度

那用图表示得来个九维空间?

我的三维大脑是搞不定的 | 图源新医谷

看来9维是不行了,那怎么把维度降低,用简单的方法表示复杂的数据分析?

当然是用降维了!降维是通过减少数据中的指标(或变量)以化简数据的过程。这里的减少指标,并不是随意加减,而是用复杂的数理知识,得到几个“综合指标”来代表整个数据。

PS:降维的原理涉及复杂数理知识且大多由计算机完成,感兴趣的小伙伴可在留言区评论“PCA降维原理”了解更多!

那么问题来了!这个“综合指标”是什么?为什么它们就可以代表整个数据?

图源新医谷

02

Why

主成分?

综合指标=主成分

你没有看错,这个综合指标就是我们今天的重点:主成分它不是原来的指标中的任何一个,而是由所有原有指标数据线性组合而来。

比如A导的故事中的主成分就可这样表示:

PCA主成分 | 图源新医谷

认识了“主成分”以后,PCA的概念就很容易理解了!

PCA——就是以“降维”为核心,把多指标的数据用少数几个综合指标(主成分)替代,还原数据最本质特征的数据处理方式。

可是,主成分为什么拽到可以代替所有数据?(上一次的小提琴图不还为了保留每个数据而爬山跨海?)

认真看看可以发现部分指标其实是相互关联的!(比如奖学金也可以反映绩点情况),这就会造成数据冗余。而降维就可以帮助我们去除这些指标中重叠、多余的信息,把数据最本质和关键的信息提取出来。

A导终于可以一眼就区分这5位考生的水平并“理智”地做出选择了!

决定还有没有书读的图 | 图源新医谷

A导可是只有5位考生,9个指标而已!在我们医学中!那可是上千的样本量,上万的基因数据......

再次吐血 | 图源新医谷

在医学领域中,我们可以用PCA图来进行疾病危险因素分析,肠道菌群聚类分析,推断肿瘤亚群之间的进化关系......还用它来观察样本的分组、趋势、剔除异常数据

所以PCA图在文献中出现率还是蛮高的!!!不过遇到它我们怎么看?

深入了解PCA

壮士!先收下这份“PCA识图秘籍”

识图秘籍

样本点连线距离长 =样本之间差异性大

样本点连线距离短 =样本之间差异性小

通过主成分分析方法(PCA)分析9种食物的蛋白质消耗量(变量)与25个欧洲国家(样本)之间的关系 | 图源新医谷

由图可得,大部分欧洲国家蛋白摄入习惯是:吃鸡蛋、红肉(猪牛羊等畜肉)、白肉(禽、鱼肉及水产品),喝牛奶。

迷茫的打出三个问号 | 图源新医谷

详细的解析来了!

1、各样本点连线的距离:体现各国家蛋白摄入习惯的相似性。

2、主成分与原变量之间的关系:箭头对应的原始变量在投影到水平和垂直方向上后的值,可以分别体现该变量与PC1和PC2的相关性(正负相关性及其大小)(例如,Eggs对PC1具有较大的贡献,而Nuts则与PC1之间呈较大的负相关性)。

3、样本点和箭头之间的距离:反映样本与原始变量的关系。(对于图中用蓝色粗箭头所指的样本点而言,该国的蛋白质来源主要为Fruits and Vegetables)。

图源新医谷

怎么样?有没有一种豁然开朗的感觉?

什么?还是懵?

没关系,继续看例子



滑动查看更多例子 | 图源新医谷

不过这还没完哦!

大家都是有追求医学生,要有追求~

我们不仅要会读,还要会画!

PCA图怎么画

接下来若谷就用上面读图用到的“25个国家消耗的蛋白质的9种食物来源”的例子所对应的数据来教大家用Origin2020绘制PCA图~(该数据集来自Origin2020示例文件)






滑动打开新世界的大门

大家都学会了吗?

眼睛会了可不算哦~
答应若谷,一定要亲自动手去试试
相信你一定会画得比若谷的漂亮~

小试牛刀

耐不住性子想要自己亲自试试了吧?那若谷就来考考大家,从下面这幅图你能看出什么呢?

仔细看图中颜色,若谷快要变成色盲了

点击空白处查看答案

图一将牦牛与中国土著品种牛区分开。

图二根据地理背景来区分中国本土牛的品种,图中西北部的牛主要位于虚线以下,南方的牛位于虚线以上,而中部混合型牛位于虚线附近。

点击 关键词 查看更多

科研资源丨您有一份科研资源清单,请签收!

科研识图丨读文献先读懂图——生存分析曲线图

科研识图丨读文献先读图——文献中最热的热图怎么看

科研制图 | 读文献先读图——火山图

科研制图 | 读文献先读图——小提琴图

科研制图 | 读文献先读图——气泡图

JUN

28

本次读图大赛到此结束,下一期讲什么(⊙o⊙)?

很懂行的谷友,投稿福利安排上 | 图源新医谷

作者:X-Land启思科研组

配图:X-Land漫说医学组

排版:读懂了PCA的若谷

参考文献

[1]Yaran Zhang,Population  Structure  and  Selection  Signatures Underlying High-Altitude Adaptation Inferred From Genome Wide  Copy Number Variations in Chinese Indigenous Cattle,Frontiers in Genetics,2020

[2]叶卫平.Origin9.1【M】.北京:机械工业出版社,2015:345-349

[3]Nagel T,Klaus F et al.  Fast and facile analysis of glycosylation and phosphorylation of fibrinogen from human plasma—correlation with liver cancer and liver cirrhosis 【J】.  Analytical and Bioanalytical Chemistry,2018.

[4]Wanxin Liu et al.Study of the Relationship between Microbiome and Colorectal Cancer Susceptibility Using 16S rRNA Sequencing[J]BioMed Research International,2019.

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

读文献先读图——主成分分析 PCA 图的更多相关文章

  1. 一步步教你读懂NET中IL(附带图)

    一步步教你读懂NET中IL(附带图) 接触NET也有1年左右的时间了,NET的内部实现对我产生了很大的吸引力,在msdn上找到一篇关于NET的IL代码的图解说明,写的挺不错的.个人觉得:能对这些底部的 ...

  2. 群体结构图形三剑客——PCA图

    重测序便宜了,群体的测序和分析也多了起来.群体结构分析,是重测序最常见的分析内容.群体结构分析应用十分广泛,首先其本身是群体进化关系分析里面最基础的分析内容,其次在进行GWAS分析的时候,本身也需要使 ...

  3. 2018-10-18读文献总结之DCB码分多址、零基线、信号产生

    ---恢复内容开始--- 今天心血来潮,想开始把自己读文献的过程和每篇文献的收获总结一下,不知道CSDN怎么回事,一直登陆不进去,搞得我注册了一个博客园的账户,博客园新注册的还需要认证,但是很快,所以 ...

  4. PGL图学习之图神经网络GNN模型GCN、GAT[系列六]

    PGL图学习之图神经网络GNN模型GCN.GAT[系列六] 项目链接:一键fork直接跑程序 https://aistudio.baidu.com/aistudio/projectdetail/505 ...

  5. 初谈SQL Server逻辑读、物理读、预读

    前言 本文涉及的内容均不是原创,是记录自己在学习IO.执行计划的过程中学习其他大牛的博客和心得并记录下来,之所以想写下来是为了记录自己在追溯的过程遇到的几个问题,并把这些问题弄清楚. 本章最后已贴出原 ...

  6. ORACLE 物理读 逻辑读 一致性读 当前模式读总结浅析

    在ORACLE数据库中有物理读(Physical Reads).逻辑读(Logical Reads).一致性读(Consistant Get).当前模式读(DB Block Gets)等诸多概念,如果 ...

  7. Matlab 语谱图(时频图)绘制与分析

    Matlab 语谱图(时频图)绘制与分析 语谱图:先将语音信号作傅里叶变换,然后以横轴为时间,纵轴为频率,用颜色表示幅值即可绘制出语谱图.在一幅图中表示信号的频率.幅度随时间的变化,故也称" ...

  8. SQL Server逻辑读、预读和物理读

    SQL Server数据存储的形式 预读:用估计信息,去硬盘读取数据到缓存.预读100次,也就是估计将要从硬盘中读取了100页数据到缓存. 物理读:查询计划生成好以后,如果缓存缺少所需要的数据,让缓存 ...

  9. 线性判别分析(LDA), 主成分分析(PCA)及其推导【转】

    前言: 如果学习分类算法,最好从线性的入手,线性分类器最简单的就是LDA,它可以看做是简化版的SVM,如果想理解SVM这种分类器,那理解LDA就是很有必要的了. 谈到LDA,就不得不谈谈PCA,PCA ...

  10. SQL SERVER中的逻辑读,预读和物理读

    sqlserver:数据存储方式:最小单位是页,每一页8k,sqlserver 对页的读取是具有原子性,也就是说,要么读取完整一页,要么完全不读取,不会有中间状态,而页之间的数据组织结构是B树 但是每 ...

随机推荐

  1. .NET周报 【3月第3期 2023-03-19】

    国内文章 记一次 .NET某汽车零件采集系统 卡死分析 https://www.cnblogs.com/huangxincheng/p/17214154.html 前段时间有位朋友在微信上找到我,说他 ...

  2. VW

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 华为 A800-9000 服务器 离线安装MindX DL 可视化环境+监控

    MindX DL Sample主要应用于企业的数据中心或超算中心机房中,针对不同的应用场景为客户提供AI深度学习端到端解决方案. 传统行业:用户无自建深度学习平台,希望能够提供简单易用.软硬件一体化的 ...

  4. KVM WEB管理工具 WebVirtMgr

    一.webvirtmgr介绍及环境说明 温馨提示:安装KVM是需要2台都操作的,因为我们是打算将2台都设置为宿主机所有都需要安装KVM相关组件 github地址https://github.com/r ...

  5. wpf CommunityToolkit.Mvvm8.1 MVVM工具包安装引用指南

    CommunityToolkit.Mvvm包(又名MVVM 工具包,以前名为 Microsoft.Toolkit.Mvvm)是一个现代.快速且模块化的 MVVM 库.它支持:.NET Standard ...

  6. InnoDB引擎之flush脏页

    利用 WAL 技术,数据库将随机写转换成了顺序写,大大提升了数据库的性能,由此也带来了内存脏页的问题. 脏页会被后台线程自动 flush,也会由于数据页淘汰而触发 flush,而刷脏页的过程由于会占用 ...

  7. PopupWindow点击空白区域消失

    下面三个条件必须要有,要在popupWindow显示之前调用popupWindow.setOutsideTouchable(true);popupWindow.setFocusable(true);p ...

  8. vue条件判断循环

    条件判断 v-if <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  9. Carla 自动驾驶仿真平台的安装与配置指南

    简介 Carla 是一款基于 Python 编写和 UE(虚幻引擎)的开源仿真器,用于模拟自动驾驶车辆在不同场景下的行为和决策.它提供了高度可定制和可扩展的驾驶环境,包括城市.高速公路和农村道路等.C ...

  10. C++11强制类型转换

    C++ 强制类型转换有四种关键字:static_cast.const_cast.reinterpret_cast和dynamic_cast.它们用于不同的情况和目的,比C语言的强制类型转换更清晰和安全 ...