尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

用Origin做PCA分析:从原理到出图全流程

发布时间:2026/9/25 1:18:49

资讯中心
01
ARTICLE

用Origin做PCA分析:从原理到出图全流程

用Origin做PCA分析:从原理到出图全流程
第一次接触PCA的时候我下意识觉得这活儿得交给R语言或者Python。但后来在课题组里看到一个同事用Origin三下五除二就把主成分分析做完、图也画得漂漂亮亮我当时还挺惊讶。仔细跟了一遍流程才发现Origin内置的PCA分析模块已经相当成熟从数据表到特征值输出再到得分图载荷图几乎全在图形界面里点鼠标完成压根不需要碰命令行。这篇教程就是把这套“不用R语言也能搞定的PCA”完整流程掰开揉碎讲一遍适合手里有实验数据、急着出图又不想折腾编程环境的研究生和从业者。1. 为什么用Origin做PCA先想清楚“工具选型”这件事1.1 一台软件解决从统计到出图的全链路很多人一提到主成分分析就默认要去学R语言其实这是被教程带偏了。R语言确实灵活但你仔细想想大部分做PCA的场景只是拿到一个多维数据表想看看样本怎么聚类变量之间什么关系然后出三张图放进论文。这类需求用Origin完全够用而且更省事。Origin做PCA最大的优势是“所见即所得”。你不需要记prcomp()函数的参数不需要装factoextra包更不用为绘图调ggplot2的图层语法发愁。数据表就在眼前菜单点开就是分析对话框结果表格自动生成图可以继续在原工程里编辑。整个过程一气呵成尤其适合已经习惯用Origin处理实验数据的科研人员。在R语言里跑PCA我实测下来的流程是安装R、装RStudio、装包、读入数据、写脚本调参、出图还要再调字体和主题。每一步都有可能出现问题光是包依赖冲突就够折腾半天。而在Origin里从数据整理到图件导出半小时内完成是很正常的。对大多数只需要“快速得到一张可发表图”的人来说Origin显然是性价比更高的选择。1.2 什么情况下还是建议用R语言我也得客观说一句Origin的PCA模块并非万能。如果你的数据量特别大比如上百个变量、上万个样本或者要批量处理几十组数据的PCA并自动生成报告那R语言的优势会很明显。R的脚本可以循环、可以复用跑完一批再来一批这是图形界面工具很难比的。另外如果你需要用到PCA的某些高级变体比如稀疏PCA、稳健PCA、核PCA或者要在PCA之后接聚类分析、回归建模那还是老老实实写代码吧。Origin内置的主要是经典PCA覆盖90%的常规需求没问题但到了那10%的边缘场景它就有点力不从心了。所以我的建议是常规分析、论文出图首选Origin批量处理、进阶算法再考虑R。工具是死的人是活的选能最快解决问题的那个就行。2. 动手之前先把PCA原理吃透协方差矩阵到底在算什么2.1 PCA本质给数据找一个最好的“观察角度”PCA说白了就是一件事把高维数据投影到几个新方向上让投影后的数据方差尽可能大。这句话你可以这么理解——假设你有一群样本测了10个指标每个样本是10维空间里的一个点。10维空间没法画图但如果你想用二维散点图大致表示这些点的分布肯定希望选一个视角让这些点在这个视角下分得越开越好。PCA就是在做这个事它找到第一个方向PC1让所有样本投影到这条线上后方差最大也就是样本点在这个方向上拉得最开然后找第二个方向PC2和PC1垂直同样让方差尽量大。于是10维的数据就可以在PC1-PC2平面上展示出来同时保留尽可能多的原始信息。这有点像一个摄影师拍一群挤在一起的人他会绕来绕去找一个角度让所有人在画面里互不遮挡、分布最均匀。PCA就是那个“找角度”的数学方法。2.2 为什么偏偏是协方差矩阵PCA的核心数学操作是计算数据的协方差矩阵然后对它进行特征值分解。那为什么是协方差矩阵而不是相关系数矩阵这两个概念需要区分清楚。协方差矩阵里对角线上的元素是每个变量自身的方差反映了这个变量波动的幅度非对角线上的元素是两个变量的协方差反映了它们是否同步变化。比如变量A增大时变量B也增大它们的协方差为正说明正相关如果一个增一个减协方差为负。所以协方差矩阵概括了数据最重要两类信息每个变量自身的变化幅度、变量之间的联动关系。PCA要找“方差最大的方向”本质上是求一个单位方向向量使样本在该方向投影的方差最大。这个方差恰好可以写成关于协方差矩阵的二次型。所以求解最大投影方差的问题就转化成了对协方差矩阵做特征值分解特征向量就是我们要找的新坐标轴方向对应的特征值就是数据沿着该方向投影后的方差大小。这里有个细节值得注意如果你在Origin里勾选了“标准化”那实际分解的是相关系数矩阵而不是原始数据的协方差矩阵。原因是量纲不同时比如一个变量单位是g/L另一个是%方差数值根本不在一个量级不标准化的话量级大的变量会主导整个分析。标准化后每个变量方差都变成1贡献就均衡了。2.3 特征值和贡献率怎么判断保留几个主成分特征值是PCA里最核心的输出。每个主成分对应一个特征值特征值越大说明这个方向携带的信息越多。通常Origin分析结果里会同时给出每个主成分的特征值、方差百分比和累积百分比。判断保留几个主成分最常用的标准有三个。第一是“累积贡献率法”一般要求前k个主成分累积贡献率达到80%到90%就取前k个。第二是“Kaiser准则”只保留特征值大于1的主成分这个方法在SPSS的因子分析里更常见做PCA时也可以参考。第三是“碎石图法”把特征值按从大到小画成折线看哪里出现明显拐点拐点之前的就是该保留的。我自己实际操作中最常见的组合就是PC1PC2累积贡献率超过80%于是直接画二维得分图。如果算出来PC1PC2只有60%我会建议再看PC3或者考虑数据质量是不是有问题——标准化没做、异常值没处理都可能导致信息分散到很多维度上。3. Origin实操从数据整理到PCA分析的完整流程3.1 数据表规范这一步决定Origin能不能正确识别Origin的PCA分析对数据表格式有明确要求我见过不少人在这一步卡住。标准格式是每一列是一个变量每一行是一个样本表头是该变量的名称。如果有样本编号或者分组信息放在最左侧的文本列里。举个例子你做不同产地药材的成分分析测了5个成分含量10个样本。那么工作表应该是第1列是样本ID文本格式第2列是产地分组文本格式第3到第7列分别是对应的5个成分含量数值格式。分析时选中第3到第7列也就是纯数值数据区域Origin就会自动把每一行当成一个样本、每一列当成一个变量来处理。这里有两个特别容易出问题的地方。一是Excel里粘贴过来的数据有些列默认变成了文本格式Origin里显示为带小绿标的Text格式PCA对话框里根本选不了这一列。解决办法是选中整列右键菜单里改设为“数值”格式。二是表里绝对不能有空单元格Origin的PCA遇到缺失值通常会报错或拒绝计算。我的习惯是在整理数据时就把空值处理掉要么删除整行要么用均值填补这取决于你的实验设计。3.2 PCA分析菜单与参数设置数据类型确认无误后PCA分析在Origin的菜单路径一般是Statistics → Multivariate Analysis → Principal Component Analysis。如果你用的是旧版本菜单可能有出入教大家一个万无一失的方法直接在Origin顶部的搜索框输入“Principal Component Analysis”它会自动定位到对应功能这在所有高版本里都好使。点开后弹出的对话框需要设置几个关键项。数据范围默认是你选中的区域核对一下就行。如果勾选了“Standardize”复选框就是先标准化再分析从我的经验看这个选项建议默认勾选除非你非常确定数据里的所有变量单位一致、量纲相当。主成分数量Number of Components可以指定也可以让它根据特征值自动筛选我一般先不限定让软件输出全部主成分再根据贡献率自己决定用前几个。输出方面Origin默认会生成一系列结果表格包括特征值表Eigenvalues、特征向量表Eigenvectors、得分矩阵Scores和载荷矩阵Loadings。这些表格会在一个新工作簿里自动整理好名字和结构都很清楚。3.3 结果表格怎么读特征值、载荷、得分三件事拿到输出表格第一步看特征值表。表里通常有Principal Component编号、特征值、方差百分比、累积百分比这几列。你马上就能知道PC1和PC2各占了多少信息量。第二步看载荷矩阵。载荷Loading本质上是原始变量与主成分之间的相关系数它告诉你每个原始变量在PC1、PC2上的贡献有多大。载荷的绝对越高说明该变量与这个主成分的关系越紧密。比如在PC1上变量A的载荷是0.85变量B是0.02那PC1主要代表变量A的信息。结合你的专业背景这一步可以帮你去解释“PC1代表了什么实际含义”这是PCA分析里最有生物学或化学解释价值的部分。第三步看得分矩阵。每一行是一个样本不同列是该样本在不同主成分上的坐标值。这个矩阵就是后续画得分图的数据来源。如果你不想用Origin的图形模板也可以把得分矩阵导出自己用任何绘图软件作图。就灵活度而言Origin这点做得很不错。4. 图形呈现得分图、载荷图与双标图的一次成型4.1 得分图样本聚类信息的关键图件得分图是最常用的PCA结果图横轴是PC1纵轴是PC2每一个点代表一个样本点与点之间的距离关系反映了样本在原始多维空间中的相似程度。距离近说明原始指标特征相近距离远则差异大。在Origin里分析完成后可以直接选中得分矩阵里的PC1和PC2两列做散点图。但我强烈建议你不要直接点默认的Plot → Scatter而是先把分组信息弄进去。操作方法是在工作表的得分矩阵基础上把原始数据里的分组列复制到旁边或者用Origin的“指定列”功能把某列设为颜色映射的依据。这样图上每个组别就是不同的颜色或符号一眼就能看出聚类模式。还有一个小技巧是给分组添加置信椭圆。在高版本的Origin里散点图做好后双击点进入Plot Details在“符号”选项卡里可以设置按分组着色并在“数据”选项卡里开启置信椭圆Confidence Ellipse设定95%置信水平。这个椭圆在论文中简直不要太常见它直观地展示了每组的分布范围。早期版本没有这个选项我都是自己把椭圆坐标算出来再叠加到图上的现在省事多了。4.2 载荷图和双标图的绘制技巧载荷图反映的是变量之间的关系每个箭头向量代表一个原始变量。箭头的方向表示该变量在主成分空间中指向的方向箭头长度表示该变量对主成分的贡献大小。载荷图的画法也很简单直接把载荷矩阵里的PC1和PC2两列做成散点图再用Origin的箭头工具给每个点加上向量线段或者用Plot → Vector直接画矢量图。如果你想把得分图和载荷图叠在一起那就是所谓的双标图Biplot。Biplot是PCA图里信息量最大的一种它同时展示了样本和变量之间的关系某个变量箭头指向的方向上分布着该变量数值较高的样本。也就是不仅能看出样本聚类还能解释为什么聚在一起。Origin高版本里已经可以直接生成Biplot输出菜单里一般有相关选项如果版本不支持我的土办法是把得分图坐标和载荷图坐标分别算好缩放比例利用Origin的图层工具叠加两个图层调整好坐标轴范围就行。4.3 图形导出与汇报细节PCA图放进论文前有几个细节要检查。坐标轴标题最好写成“PC1 (xx.x%)”的格式把贡献率标在轴标题里这是期刊的标准做法。字体大小一般保持和正文一致我常用Arial或者Times New Roman字号8到10号。图例不需要堆太多能区分组别即可。导出格式上投稿一般要求TIFF格式300 dpi分辨率做汇报PPT用PNG就够了。Origin里File → Export Graphs对话框选好格式、路径和分辨率一气呵成。这里提醒一下导出前先双击图空白处把页面大小调整到合适尺寸比如宽度80 mm或者170 mm对应单栏或双栏不然导出的图在论文里比例会很奇怪。5. 常见问题速查这些坑我基本都踩过5.1 第一主成分贡献率异常偏高多半是没标准化我之前处理一组水质监测数据时就遇到过这个问题PC1贡献率高达96%得分图上所有样本几乎都在一条直线上看不出什么结构。仔细排查后发现数据里有几个变量的数值范围差异巨大其中一个变量在千位数另一个在小数点后两位。原始数据的协方差矩阵完全被那个大数量级的变量主导所以PC1基本上就只代表那一个变量。解决办法就是勾选Standardize做标准化。标准化之后每个变量均值为0、方差为1贡献率重新分配PC1降到50%左右样本聚类信息一下就出来了。所以如果你跑出来的PC1贡献率异常高第一反应不是数据本身好而是检查有没有标准化。5.2 数据带缺失值导致分析报错Origin做PCA遇到空单元格基本不会给你好脸色。我遇到的情况是对话框点OK之后直接弹错误提示或者生成的结果表格里全是缺失值。这个问题在Excel里复制粘贴时尤其常见——明明肉眼看不出来有空格一检查才发现某一行漏了一个值。我的检查方法是数据整理完后先对整张表做一次Worksheet → Select Worksheet: All然后看状态栏里的统计信息再或者用Statistic → Descriptive Statistics快速看一眼每列样本数。如果某列统计数的N明显小于实际行数就说明该列存在缺失逐个定位补上或删除。数据量大时可以用Origin的“查找缺失值”功能定位会快很多。5.3 得分图标签重叠和坐标轴显示问题得分图上样本数量多时默认的样本名称标签一定糊成一团。我在画代谢组学的PCA图时深有体会几十个样本全标上去图直接没法看。解决办法有几个一是在Plot Details里把标签字体改小到6号以下二是设置标签只在选中的样本显示三是干脆不显示标签只显示点位另用编号和附表说明。论文里多数时候是第三种方案图面干净信息又不丢。还有一个小问题是PCA图的坐标轴刻度。得分矩阵里的值可能是负的坐标轴默认范围可能不是特别好最好手动调整一下保证原点在合理位置通常要让PC1和PC2的坐标范围等比例否则视觉上会放大或缩小某个方向的分布。具体操作就是双击坐标轴在Scale选项卡里分别设置X轴和Y轴的From和To还有“Nice Number”的间隔。这些小细节看着不起眼但直接影响审稿人对图的第一印象。5.4 不同Origin版本的菜单位置差异最后再补一个容易忽略的事Origin的PCA菜单在不同版本里位置可能不一样。我最早用的Origin 2019PCA在统计分析菜单下后来换到2021版发现界面的搜索框成了最好的入口。所以千万别死记菜单路径直接在顶部搜索框敲“PCA”或者“Principal Component Analysis”跳出来的就是你要的功能。这也算是我用Origin多年的一个心得——它的功能越来越多菜单路径偶尔调整但搜索功能始终靠谱。6. 实操总结一次完整的Origin PCA流程复盘为了让你更直观地把握全流程我把上面拆开的步骤再串一遍。假设你正在处理一份食品产地溯源的数据检测了20个样本、8个理化指标。目标是看不同产地的样本能不能自然分成几类以及哪些指标是分类的主要贡献者。第一步打开Origin把Excel数据复制进去。第1列放样本编号第2列放产地分组第3到第10列放8个理化指标。全选指标列确认它们是数值格式没有缺失值。第二步在搜索框输入“Principal Component Analysis”打开对话框。确认数据范围无误勾选Standardize保持默认输出选项点击OK。第三步在弹出的输出工作簿里找到特征值表。假设PC1贡献率46%PC2贡献率27%累积已经73%。稍微差一点才到80%可以看看PC3如果PC3有12%累计85%了那可以考虑三维图不过为了简洁73%通常也可以讲解了。接下去看载荷表PC1上载荷比较高的可能是水分含量、总糖、酸度这几个指标于是可以解释PC1代表“风味相关指标的综合水平”。第四步在得分矩阵里选PC1和PC2两列画散点图。把产地分组列设为颜色映射的依据按组着色。在Plot Details里开启95%置信椭圆。检查一下各组在图上是不是明显分群。第五步把XY轴标题改成“PC1 (46.0%)”和“PC2 (27.0%)”调整字体字号确认图例位置合理导出300 dpi的TIFF文件。整个流程下来熟悉的话30到40分钟肯定完成。而如果用R语言虽然熟练之后也差不多但对刚入门的人来说光是环境的坑就得踩半天。对于多数只需要常规PCA的研究场景Origin的这个工作流我认为是“性价比”很高的方案。我在实际使用中的体会是工具的选择永远服务于问题本身别为了炫技去引入不必要的复杂度。当然如果你之后想把PCA分析做成自动化报告或者要处理几千组数据的批量降维那建议你还是把R语言捡起来——两者并不冲突反而是不同场景下的互补方案。最后再分享一个小技巧Origin分析完成后结果表格里的载荷和得分矩阵都是现成的你可以直接复制到Excel里做后续的二次加工这比在Origin里反复调整图层有时候更灵活。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。