欢迎来到数据转换的集群分析(Clustering)!
你好!欢迎来到 Exam PA 当中最具创意的主题之一。通常我们提到集群(Clustering)时,会将其视为“最终目标”——例如将客户细分为不同群组。但在这一章,我们将把集群视为一种工具,协助其他模型(如广义线性模型 GLM 或决策树)发挥更好效能。这就是我们所说的数据转换(Data Transformation)。我们将学习如何将原始数据转化为“集群标签(Cluster labels)”,并将其实作为预测模型中强大的新特征。
如果非监督式学习(Unsupervised Learning)对你来说有点抽象,别担心,我们会透过简单的类比一步步拆解。让我们开始吧!
1. 基础概念:什么是集群?
在利用集群进行数据转换前,我们必须先了解它的定义。在非监督式学习中,我们没有“目标”变量(即 y),只有特征变量(即 x)。集群是找出数据中自然分组的过程,让同一组内的数据点比其他组别的数据点更为相似。
快速回顾:想象一个杂乱的房间。集群就像是把所有的“袜子”堆成一堆,把“衬衫”堆成另一堆,即使没有人告诉你哪件是哪件,你依然能观察到袜子彼此看起来很相似,从而进行归类!
2. K-means 集群
K-means 是最受欢迎的集群算法。它尝试将数据划分为 K 个互不重叠的独立群组。
K-means 的运作方式(步骤说明)
1. 选定 K 值: 你决定想要几个集群(例如 K=3)。
2. 初始化: 电脑会随机挑选 3 个点作为“起始中心”(称为 中心点/质心,centroids)。
3. 指派: 每个数据点会根据距离,归入离它最近的中心点组别。
4. 更新: 中心点会移动到各自新组别的几何中心位置。
5. 重复: 重复步骤 3 和 4,直到中心点不再移动为止。
数据标准化(Scaling)的重要性
关键点: K-means 使用欧几里得距离(Euclidean Distance)来决定归类。其公式如下:
\( d(x, y) = \sqrt{\sum_{i=1}^{n} (x_i - y_i)^2} \)
由于涉及距离计算,你必须先对数据进行缩放(标准化)!如果一个变量是“年收入”(以千元计),另一个是“年龄”(0-100),收入变量会完全主导距离计算。标准化能让它们在同一个起跑线上竞争。
常见错误: 在 PA 考试中,在执行 K-means 前忘记标准化是一个非常常见的错误。务必检查你的变量是否处于不同的量级!
如何选择正确的“K”值
我们如何知道 K 应该是 2、3 还是 10?我们使用肘部法则(Elbow Method)。我们绘制“组内平方和(Total Within-Cluster Sum of Squares,反映集群分散程度的指标)”与集群数量之间的关系图,寻找那个“肘部”——即增加集群数量后效益递减的转折点。
重点总结: K-means 速度快且简单,但你必须预先选择 K 值,且当集群呈现球状(圆形)时效果最好。
3. 阶层式集群(Hierarchical Clustering)
与 K-means 不同,阶层式集群不需要在开始时选择“K”。相反,它会建立一个树状结构。
凝聚式(由下而上)集群
想象这是一个倒过来的家谱。每个数据点起初都是一个独立的小集群。接着,两个最接近的点合并成一对。然后,下一个最接近的对象再合并,依此类推,直到所有人最终汇聚成一个大群组。
树状图(Dendrogram)
结果会呈现为树状图(Dendrogram)——一个看起来像倒立树木的美丽图表。若要选择集群数量,你只需在图表上进行水平“切割”。切下去的位置就决定了你最终拥有的集群数量!
连锁法则(Linkage):如何测量组间距离?
当合并两个数据点“群组”时,我们需要一套测量距离的规则,这称为连锁法则(Linkage):
• 完全连锁(Complete Linkage): 使用集群中距离“最远”的两个点之间的距离。
• 单一连锁(Single Linkage): 使用距离“最近”的两个点之间的距离(可能导致长条状的集群)。
• 平均连锁(Average Linkage): 使用所有成对点之间的平均距离。
• Ward 法(Ward’s Method): 最小化组内变异数(在精算工作中非常受欢迎,因为它产生的群组大小较均匀)。
重点总结: 阶层式集群非常适合观察群组之间的关系,但在处理非常庞大的数据集时可能会比较慢。
4. 使用集群进行数据转换
这是 Exam PA 最重要的部分!一旦我们有了集群,该如何利用它们来建立更好的模型呢?
“集群归属”特征
当算法执行完毕,数据中的每一行都会获得一个标签(例如:集群 1、集群 2 或集群 3)。你可以将此标签作为新的类别变量(categorical variable)加入数据集中。
为什么这样做有用?
1. 捕捉非线性关系: 简单的 GLM 可能难以处理复杂模式。透过将相似的观测值归为一类,集群标签能捕捉到线性项可能遗漏的行为“特征”。
2. 识别交互作用(Interactions): 集群通常代表特征的组合(例如:“高负债的年轻人”)。与其手动建立年龄与负债之间的交互作用项,集群标签直接帮你完成了!
3. 降维: 有时使用 1 个概括了 10 个混乱变量的集群标签,会让模型更简洁,且更容易向利害关系人解释。
实际案例: 如果你正在预测汽车保险索赔,一个集群可能代表“城市高里程驾驶者”。即使你的模型没有专门针对“地点 * 里程”的交互作用项,集群标签也能作为一个捷径,直接告诉模型:“嘿,这一组属于高风险!”
5. 总结与最佳实践
快速回顾箱:
• K-means: 速度快,需预先指定 K,需标准化,适合球状集群。
• 阶层式: 可视觉化(树状图),无须预先指定 K,需选择连锁法则。
• 转换: 将集群指派结果作为监督式学习模型(如 GLM 或 GBM)中的新类别特征。
• 标准化: 在进行集群分析前,务必对数值数据进行标准化!
你知道吗? 集群分析常被称为“寻找隐藏结构”。在 Exam PA 中,你的任务就是找出该结构,并利用它为你的预测模型提供“提示”,让模型知道哪些观测值是相似的。
最后的鼓励: 如果你觉得各种连锁法则或欧几里得距离背后的数学概念让人困惑,别被这些细节绊住。重点在于为什么我们要进行集群分析:为了简化复杂数据,并创造出新的特征,帮助模型更清晰地识别模式。你做得到的!