热线电话:13121318867

登录
首页大数据时代主成分分析(PCA)全流程详解
主成分分析(PCA)全流程详解
2026-11-05
收藏

注:常有人误写为 CPA,标准名称为 PCA(Principal Component Analysis)主成分分析。

”

一、什么是主成分分析

主成分分析(PCA)是一种经典的无监督降维算法,核心目标是在尽可能保留原始数据信息的前提下,把高维、存在多重共线性的多个变量,转换成少数几个互不相关的新综合变量,这些新变量就叫做主成分。

在数据分析场景中,经常会遇到指标过多、变量之间高度相关的问题:比如用户画像同时收集收入、消费频次、客单价、访问时长、互动次数等十几个指标,指标之间信息重叠,既不利于可视化,也容易造成回归模型多重共线性、运算缓慢。PCA 通过正交变换,重构一组新坐标轴,优先把数据方差最大的方向作为第一主成分,依次提取剩余方差,实现精简变量。

PCA 的适用场景:

  1. 指标浓缩,构建综合评分(满意度得分、客户健康度、产品质量综合指数)
  2. 高维数据可视化,把几十维数据降到 2 维/3 维绘图
  3. 消除变量多重共线性,作为建模前的数据预处理步骤
  4. 数据降噪,剔除方差极低、信息很少的成分
  5. 特征筛选,为机器学习模型精简输入特征

不适合场景:PCA 是线性降维,无法捕捉变量之间的非线性关系;同时 PCA 不区分自变量和因变量,属于无监督方法,不能保证提取出来的主成分和业务目标相关。

二、PCA 完整分析流程

步骤 1:业务理解与原始数据准备

首先明确分析目标,筛选进入模型的变量。PCA 只能处理数值型连续变量,分类变量、文本标签不能直接放入;如果是有序分类变量,需要先合理编码。

数据清洗要点:

  • 剔除异常值:PCA 对极端异常值非常敏感,异常点会严重改变方差方向,影响主成分提取结果;
  • 处理缺失值:缺失样本建议删除,或者使用均值、中位数、KNN 填充,缺失过多的指标直接剔除;
  • 区分样本与变量:行 = 样本,列 = 指标。

业务示例:膳食调研数据,指标包括能量、蛋白质、脂肪、碳水、钠、钙、铁等营养指标,每一行是一位受访者。

”

步骤 2:数据标准化(重中之重)

原始变量量纲往往不一样,例如收入单位是元、年龄单位是岁、得分是 0~10 分。方差会被数值量级大的变量主导,直接计算会导致结果失真。

必须做 Z-score 标准化:

标准化之后所有变量均值 = 0,标准差 = 1,消除量纲影响。

⚠️ 特例:如果所有指标本身量纲、取值范围完全一致,可以不标准化,但绝大多数业务数据分析都需要标准化。

步骤 3:相关性检验,判断是否适合 PCA

PCA 的底层逻辑就是利用变量之间的相关性提取公共信息,如果变量之间几乎互不相关,PCA 没有意义。常用两个检验:

  1. KMO 检验:取值 0~1

    • KMO > 0.7:适合做主成分分析
    • 0.6 ≤ KMO < 0.7:尚可
    • KMO < 0.6:不建议 PCA,变量相关性不足
  2. 巴特利特球形检验(Bartlett)

    • 原假设:变量的相关矩阵是单位矩阵(变量互相独立)
    • 若 p 值 < 0.05,拒绝原假设,说明变量存在相关性,适合 PCA

注意:KMO 和巴特利特只是参考,不是硬性门槛,部分调研数据 KMO 偏低,业务上仍可尝试降维,但结果解释难度会上升。

”

步骤 4:计算相关矩阵、特征值与特征向量

标准化后,计算变量的相关系数矩阵 R;对矩阵求解得到一组特征值 λ和对应的特征向量。

  • 特征值 λ:代表这个主成分能够携带的信息量大小;λ 越大,信息越多;
  • 特征向量:主成分的系数,用来把原始变量线性组合成新的主成分。

主成分计算公式:

F₁ 第一主成分,解释能力最强;F₂ 第二主成分,和 F₁ 正交(不相关),解释剩余最大方差,以此类推。

步骤 5:确定保留主成分数量

两个主流判断标准,搭配使用:

  1. 特征值大于 1 准则(Kaiser 准则):λ > 1,保留;λ < 1,该主成分信息量还不如单个原始变量,舍弃;
  2. 方差累计贡献率:优先选择累计贡献率达到 70%~80% 的前 N 个主成分,行业最常用阈值 75%;
  3. 碎石图(Scree Plot)可视化:横轴主成分序号,纵轴特征值,找到曲线明显拐点,拐点之前保留。

没有绝对唯一标准:偏学术论文多用 λ > 1;业务建模优先看累计贡献率,兼顾结果能不能解释。

”

步骤 6:主成分命名与结果解释(最难的环节)

提取出主成分之后,看成分载荷(相关系数):载荷代表原始变量和该主成分的相关程度。

  • 载荷绝对值 > 0.7:强相关,是这个主成分的核心代表指标;
  • 载荷 0.4~0.7:中等关联;
  • 载荷 < 0.4:关联弱,对这个主成分贡献很小。

根据高载荷的指标集合,给主成分赋予业务含义。

示例:

  • F₁ 在蛋白质、脂肪、能量上载荷很高 → 命名为"总热量摄入因子"
  • F₂ 在钙、铁上载荷很高 → 命名为"矿物质摄入因子"

⚠️ 常见痛点:有时候载荷分散在多个指标,主成分含义模糊、不好解释,这是 PCA 天然缺陷,此时可以考虑因子分析(旋转)替代。PCA 本身不做因子旋转。

步骤 7:计算样本主成分得分

利用主成分线性公式,代入每个样本标准化后的数据,算出每个样本在 F₁、F₂……上的得分。

得分可以直接用于后续分析:

  • 排序:按 F₁ 得分排序,筛选高分/低分样本;
  • 分组:作为聚类、回归、分类模型的输入特征;
  • 合成综合指标:以各主成分方差贡献率为权重,加权得到一个综合总分。

综合得分示例公式:

步骤 8:结果验证、报告撰写与复盘

输出内容清单:

  • KMO、巴特利特检验结果;
  • 特征值、单个方差贡献率、累计贡献率表;
  • 碎石图;
  • 成分载荷矩阵;
  • 样本得分表;
  • 业务解读、局限性说明。

PCA 局限必须写明:

  1. 主成分是原始变量的线性混合,物理含义经常模糊;
  2. 对异常值、离群点敏感;
  3. 只能捕捉线性相关;
  4. 降维会丢失一部分信息,贡献率越低,丢失信息越多。

三、PCA 与因子分析的区别(高频混淆点)

很多人把 PCA 和探索性因子分析 EFA 混为一谈:

  • PCA:降维工具,目标压缩信息,不假设存在隐藏潜变量,不做旋转;
  • EFA:潜变量挖掘工具,假设指标由不可观测的公共因子驱动,支持因子旋转,更适合问卷量表维度划分。

问卷量表维度划分优先选因子分析;单纯指标压缩、可视化、预处理优先 PCA。

四、实操工具说明

  1. Excel:可以借助数据分析插件 + 协方差矩阵手动计算,繁琐,只适合教学;
  2. SPSS:菜单化操作,一键输出 KMO、碎石图、载荷表,问卷调研最常用;
  3. Python(sklearn):PCA() 函数,注意 sklearn 的 PCA 默认不输出载荷矩阵,需要手动换算;
  4. R 语言:psych 包、FactoMineR 包,PCA 可视化功能强大;
  5. Power BI / Tableau:一般不原生做 PCA,通常在 Python/R 算好得分后导入可视化。

五、常见误区汇总

  1. 不标准化直接跑 PCA,量纲大的指标垄断结果;
  2. 只看 p 值、KMO,不看业务逻辑,强行解读没有实际意义的主成分;
  3. 认为主成分贡献率越高,代表这个成分越"重要"(重要是业务定义,方差大 ≠ 业务价值高);
  4. 把 PCA 主成分直接当成问卷维度使用;
  5. 样本量过少做 PCA:样本数量建议至少是变量数 5~10 倍以上,结果才稳定。

六、小结

主成分分析整套流程是:业务定义 → 数据清洗 → 标准化 → 相关性适配检验 → 求解特征值与特征向量 → 确定主成分数量 → 业务命名解释 → 计算样本得分 → 落地应用与局限性说明。

PCA 的优势是简单高效、消除多重共线性;短板集中在结果解释性弱、仅支持线性关系。它不是万能分析手段,降维之前必须结合业务判断,不能盲目套用。

推荐学习书籍 《CDA一级教材》适合CDA一级考生备考,也适合业务及数据分析岗位的从业者提升自我。完整电子版已上线CDA网校,累计已有10万+在读~ !

免费加入阅读:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0

数据分析师资讯
更多

OK
客服在线
立即咨询
客服在线
立即咨询