欢迎来到主成分分析(Principal Components Analysis,简称 PCA)的世界!

你好!今天我们将深入探讨预测模型人员工具箱中最强大的“超能力”之一:主成分分析(PCA)。本章节是我们探索数据转换与非监督式学习旅程的一部分。

别担心,这个名称听起来可能有点吓人。但说穿了,PCA 其实就是一种简化复杂数据的聪明方法。想象一下,你的一个房间乱七八糟,散落着 50 种不同的物品。PCA 能帮助你找出 3 到 4 个这些物品最合适的“大箱子”,让你能够更轻松地描述这个房间。让我们开始吧!

PCA 究竟是什么?

在许多精算数据集中,我们通常有几十个(甚至几百个)变量。这些变量往往是相关的 (correlated),意思就是它们会同时变动。例如,在人寿保险数据集中,“年龄”、“工作年限”和“白头发数量”通常会随着时间一起增加。

主成分分析 (PCA) 是一种将大量变量转换为一组较小变量(称为主成分 (Principal Components, PCs))的技术。这些新变量撷取了原始数据中大部分的“信息”(方差),但处理起来却简单得多。

目标: 在保留尽可能多的原始“故事”(即信息)的同时,减少变量的数量(降维)。

为什么我们要在 Exam PA 中使用它?

1. 降维 (Dimension Reduction): 通过使用较少的预测变量来简化模型。
2. 消除多重共线性 (Removing Multicollinearity): 原始变量之间可能存在高度相关性,但新的主成分彼此之间是不相关的 (uncorrelated)(正交的)。
3. 可视化: 要画出 10 个维度很难,但要画出前两个主成分却非常容易!

快速回顾: PCA 是一种非监督式 (unsupervised) 技术。这意味着它只关注“特征”(\(X\) 变量),在进行计算时并不知道也不关心“目标”(\(Y\) 变量)。

循序渐进:PCA 是如何运作的

别让数学吓倒你!将 PCA 想象成数据的旋转 (rotation)。它会寻找数据“分布最开”的方向,并将其称为主成分 1 (PC1)。然后,它会寻找与第一个方向垂直的下一个最佳方向,并将其称为PC2

1. 标准化的重要性

停下来! 在执行 PCA 之前,你几乎总是需要对数据进行标准化 (scaling)(将其中心化,使平均值为 0,标准差为 1)。

为什么? PCA 对测量单位很敏感。如果一个变量是“收入”(以千美元为单位),另一个是“年龄”(以年为单位),那么“收入”变量会因为数值较大而自然具有更大的方差。PCA 会仅仅因为尺度不同而认为收入更重要。标准化可以让所有变量站在同一个起跑线上。

2. 载荷量 (Loadings)(所谓的“食谱”)

每个主成分都是原始变量的线性组合 (linear combination)。我们将此组合中的权重称为载荷量 (loadings)

例如:\(PC_1 = \phi_{11}X_1 + \phi_{21}X_2 + ... + \phi_{p1}X_p\)

载荷向量 (loading vector) 会告诉你每个原始变量对该主成分的“贡献”有多少。如果一个变量的载荷量很高(正或负),它就是构成该主成分“风味”的重要部分。

3. 分数 (Scores)(新的坐标)

一旦我们有了“食谱”(载荷量),我们就可以代入特定人的数据来得到他们在该主成分上的分数 (score)。这些分数成为我们新的转换后数据点,可以用于回归或 GBM 模型中。

你知道吗? 第一主成分 (PC1) 总是会撷取数据中最大可能的方差。PC2 会撷取次大的方差,以此类推!

我们应该保留多少个主成分?

我们从 \(p\) 个变量开始,最后会得到 \(p\) 个主成分。如果我们全部保留,那就什么都没有简化!我们需要决定在哪里停止。

碎石图 (Scree Plot) 与“肘点 (The Elbow)”

碎石图是一个简单的折线图,显示每个主成分所解释的方差比例 (Proportion of Variance Explained, PVE)

要选择主成分的数量,我们需要寻找“肘点”。这是曲线变得平坦的点。这就像是在说:“过了这个点,增加更多的主成分并不会提供太多额外有用的信息。”

累积方差 (Cumulative Variance)

另一种方法是查看累积 PVE。你可能会决定:“我想保留足够的主成分来解释数据总方差的 80%。”然后,你将 PC1、PC2 等的 PVE 加总,直到达到 80% 的目标。

关键点: 我们希望在保留数据“精髓”的前提下,使用最少数量的成分。

常见陷阱与错误

1. 忘记标准化: 如前所述,如果不进行标准化,PCA 结果将由数值范围最大的变量所主导。
2. 过度解读: 有时 PC1 明显代表“规模”或“风险”,但有时主成分很难用简单的语言解释。这没关系!PCA 用于转换数据,并不总是为了说故事。
3. 什么数据都用: PCA 非常适合数值变量,但对于类别(因子)数据处理起来会比较棘手。通常我们只将其用于连续变量。

快速回顾总结表

概念: 标准化 (Scaling)
重要性: 确保具有大单位的变量不会主导 PCA 结果。

概念: 载荷量 (Loadings)
重要性: 代表原始变量对主成分影响程度的权重。

概念: PVE
重要性: 告诉我们特定主成分包含了多少“信息”。

概念: 正交性 (Orthogonality)
重要性: 意味着主成分之间互不相关,从而解决多重共线性问题。

最后的鼓励

PCA 可能会让人觉得“抽象”,因为我们再用真实变量创造虚构的变量。只要记住影子类比 (Shadow Analogy):如果你将一个 3D 物体放在灯光前,墙上的 2D 影子就是该物体的一个“低维度”版本。如果你将物体转到正确的角度,影子就能捕捉到形状中最主要的部分。PCA 就是在寻找投射出最佳影子的那个角度!

你一定没问题的!继续练习 PCA 的 R 程序代码(通常使用 prcomp 函数),你就会明白这些概念是如何活灵活现地运作的。