层次聚类中Pearson、曼哈顿、欧氏距离度量的异常问题求助
问题原因分析
1. 距离度量的本质差异是核心
- 欧氏/曼哈顿距离是基于变量绝对值的空间距离,计算的是客户在RFM三维空间中的“物理位置远近”。你的数据里那23个高消费 outliers,Monetary值远高于其他客户,哪怕标准化后,这个维度的绝对值差异依然会主导距离计算——相当于这23个点在Monetary轴上远远偏离其他所有点,导致聚类结果要么是outliers单独成簇,剩下50万客户挤成一团(看起来分布异常);要么因为平均、完全等linkage方法的计算逻辑,把outliers和部分接近的客户强行合并,划分得乱七八糟。
- 皮尔森相关系数看的是客户RFM特征的趋势相似性,不管绝对值差多少,只要两个客户的消费模式趋势一致(比如都是“最近买、买得多、花得多”,或者“很久没买、买得少、花得少”),相关性就高。那23个outliers的消费模式和普通客户完全不一样,自然被单独聚成簇,其他客户也能按消费模式分成合理组,结果就正常。
2. RFM变量的分布特性放大了问题
RFM三个变量天生分布极端不平衡:
- Monetary(消费金额)的方差远大于Recency和Frequency,哪怕做了标准化,极端值的长尾效应还在——标准化只是把变量拉到均值0、方差1,但top23客户的Monetary标准化后还是会在3σ甚至5σ之外,欧氏距离对这种极端值的敏感度远高于皮尔森相关。
- 欧氏距离会给每个变量的差异同等加权,但RFM里Monetary的绝对值差异对聚类的实际意义,其实和Recency、Frequency不一样,欧氏不会区分这一点,导致整个聚类被Monetary的极端值牵着走。
3. 所有linkage方法都出问题的原因
不管用average、single还是complete linkage,它们的计算都依赖距离矩阵。只要距离矩阵本身因为欧氏/曼哈顿的特性被极端值主导,不管哪种linkage方式,最终的聚类树结构都会异常:比如single linkage可能因为某个普通客户和outlier的距离偶然较近,导致整个簇被“拽过去”;complete linkage会把outliers单独成簇,但剩下的客户因为距离都很小,被合并成一个大簇,看起来分布异常。
内容的提问来源于stack exchange,提问作者robonoff
相关产品推荐
相关产品推荐

