热线电话:13121318867

登录
首页大数据时代Excel 加权聚类算法:样本权重与指标权重的实操实现
Excel 加权聚类算法:样本权重与指标权重的实操实现
2026-11-12
收藏

一、什么是加权聚类

普通聚类默认"每个样本、每个指标都同等重要":距离公式里每个样本权重都是 1,每个指标在距离计算里占比相同。但现实数据经常不满足这个假设:

  • 抽样调查数据:不同样本代表总体里不同规模的人群,有的人一个人代表 50 个居民,有的人代表 500 个,等权聚类等于把抽样设计扔了
  • 业务指标重要程度不同:用户分群里,消费金额比访问时长更重要,不应该和后者在距离里各占一半
  • 样本不均衡:某类样本数量特别多,等权聚类会让质心被多数派拉走

加权聚类就是在距离计算或质心更新中,给样本或指标加上权重,让重要的个体、关键的指标对聚类结果产生相应更大的影响。

它和普通聚类的算法框架完全一致,区别只在"距离怎么算、中心怎么更新"两个环节。本文先分清两种权重,再给 Excel 里的完整实现步骤。

二、两种权重:先别搞混

加权聚类最常见的困惑是"权重加在哪"。实际上有两个完全不同的方向:

对比维度 样本权重(记录权重) 指标权重(特征权重)
权重加在谁身上 每条样本(每一行) 每个指标(每一列)
解决的问题 样本代表的总体规模不同、抽样不等概率 指标业务重要程度不同
典型场景 复杂抽样调查、分层抽样 RFM 分群、多指标打分聚类
调整方式 加权距离、加权质心 加权距离中的指标系数
权重来源 抽样设计(1/入样概率) 业务专家打分、层次分析法

下面的公式里,样本权重记 ,指标权重记 。两者可以同时使用。

三、加权距离的计算

3.1 普通欧氏距离

3.2 指标加权距离(特征加权)

给每个指标乘以权重 ,重要指标在距离里占更大比重:

权重一般做归一化,保证 。

3.3 样本加权距离

样本权重影响的不是两条样本之间的距离,而是质心(聚类中心)的计算和归属判定时的贡献。距离本身仍是样本到中心的距离,但中心是加权平均出来的。

3.4 Excel 公式实现(指标加权)

假设有 3 个指标,标准化后的数据在 B2:D2(样本 i)和 B3:D3(样本 j),指标权重放在 $F$2:$F$4:

=SQRT(SUMPRODUCT($F$2:$F$4, (B2:D2-B3:D3)^2))

SUMPRODUCT 先把权重和差值平方逐项相乘,再求和,最后开方。下拉即可生成加权距离矩阵。

四、加权 K-Means 的算法流程

4.1 算法原理

加权 K-Means 的迭代步骤和普通 K-Means 一致,只把两处换成加权版本:

  1. 随机选 K 个初始中心
  2. 分配:每条样本按加权距离归入最近的中心
  3. 更新中心:用加权平均计算每个簇的新中心
  4. 重复 2、3,直到中心不再变化

4.2 加权质心公式

普通质心是簇内样本的算术平均;加权质心是按样本权重加权平均:

分子是加权求和,分母是权重之和。每个指标方向上分别算一遍。

4.3 指标加权时的质心

如果权重加在指标上,质心公式不变(还是样本平均),指标权重只体现在距离分配环节。

五、Excel 实操:加权 K-Means 完整步骤

5.1 第 1 步:准备数据与权重

样本 指标1 指标2 指标3 样本权重 w
1 2.1 3.4 5.0 0.8
2 3.0 4.1 6.2 1.2
3 8.5 7.2 9.1 1.5
4 9.2 8.0 10.3 0.6
5 2.4 3.8 4.6 1.0

必须先标准化。指标量纲不同时,加权没有意义——大数值指标会天然主导距离。用 Z-score:

=(B2-AVERAGE($B$2:$B$6))/STDEV.S($B$2:$B$6)

5.2 第 2 步:设定指标权重

在权重区列出各指标权重并归一化:

指标 权重 v 归一化后
指标1 3 =F2/SUM($F$2:$F$4)
指标2 2 ...
指标3 1 ...

归一化让权重和为 1,方便解释。

5.3 第 3 步:初始化 K 个中心

手动选 K 个样本作为初始中心(或用公式随机抽取)。中心表和数据区放同一工作表的右侧:

中心 指标1 指标2 指标3
C1 (样本1的值)
C2 (样本3的值)

5.4 第 4 步:计算每条样本到各中心的加权距离

样本 i 到中心 k 的距离(指标加权):

=SQRT(SUMPRODUCT($权重区域, (样本行 - 中心行)^2))

用 MIN 找最近的中心,MATCH 返回簇编号:

=INDEX(中心编号区, MATCH(MIN(距离1,距离2), 距离区, 0))

5.5 第 5 步:按样本权重更新中心

对每个簇,用加权平均求新中心。以簇 C1 的指标1 为例:

=SUMPRODUCT((簇编号=1)*样本权重*指标1) / SUMPRODUCT((簇编号=1)*样本权重)
  • (簇编号=1) 是条件,满足返回 1,否则 0
  • 分子:簇内样本权重 × 指标1,逐项相乘求和
  • 分母:簇内样本权重之和

这就是加权质心公式的 Excel 实现。三个指标分别复制公式。

5.6 第 6 步:迭代直到收敛

把新中心替换旧中心,回到第 4 步重新分配。判断收敛的标准:

  • 每条样本的簇编号不再变化
  • 或中心移动距离小于设定阈值(如 0.001)

Excel 里手动迭代 3~5 轮即可。样本量小,逐轮记录中心位置,对比上一轮是否变动。

5.7 第 7 步:输出聚类结果

最后一列保留簇编号,即可得到加权聚类分组。配合 COUNTIF 统计每簇人数,配合 SUMPRODUCT 算每簇加权规模。

六、加权等级聚类中的权重处理

如果用的是等级聚类(系统聚类),样本权重同样进入类间距离计算:

6.1 加权组平均法

两个类 U、V 之间的平均距离,按各自样本数(或样本权重和)加权:

Excel 里实现:先在距离矩阵上记录每个样本的权重,合并成新类后,类权重等于成员权重之和;更新矩阵时,跨类样本对按权重加权平均。

6.2 权重在谱系图中的体现

等级聚类最后切分簇时,样本权重大的簇在业务上更重要。切分高度不只看树状结构,还要结合各簇的加权规模——一个小权重的样本聚成一簇,业务价值可能低于一个大权重簇。

七、权重怎么定:三种来源

权重不是拍脑袋填的,常见有三种确定方式:

7.1 抽样设计权重(客观)

复杂抽样调查里,权重由抽样概率直接决定:

这类权重必须严格按设计方案计算,不能随意调整。

7.2 业务专家打分(主观但可追溯)

指标权重由业务团队按经验给出。比如 RFM 分群里,消费金额权重 0.5、频次 0.3、最近间隔 0.2。打分过程要记录,方便复盘和调整。

7.3 数据驱动(统计方法)

  • 方差贡献率:用主成分分析得到各指标权重
  • 熵权法:根据指标信息熵客观赋权,差异越大权重越高
  • 相关性剔除:高度相关的指标降权,避免重复计权

客观赋权法可在 Excel 里实现,熵权法需要算比重、熵值、差异系数,步骤固定。

八、权重与标准化的关系(最容易混的点)

8.1 两者解决不同问题

步骤 解决什么 不解决什么
标准化 消除量纲差异,让数值量级可比 不区分指标重要性
加权 区分指标重要程度 / 样本代表规模 不能替代标准化

8.2 顺序不能反

正确顺序:先标准化,再加权。

如果先加权,大数值指标(如收入以元为单位)会在加权前就垄断距离;标准化后各指标方差为 1,权重才能真正反映"重要程度",而不是"数值大小"。

8.3 指标权重的检验

赋权后要做敏感性检查:把权重在合理范围内调整,看聚类结构是否稳定。如果权重微调后分组大变,说明当前权重过于敏感,结果不可靠。

九、常见误区

9.1 给文本指标加权

聚类距离计算基于数值。性别、地区这类分类变量要先转虚拟变量,且不参与权重分配。

9.2 权重总和不归一

权重不归一不影响距离排序(等比例缩放),但会让加权质心公式出错。样本权重和指标权重都建议归一化后再用。

9.3 样本权重和指标权重混在一个数里

一行一个权重,一个指标一个权重,不能把两种权重压成一列。混淆后距离公式无法解释。

9.4 认为加权能修正坏数据

权重放大的是"重要性",不是"可信度"。脏数据、错误异常值不会因为加了大权重而变正确,反而会被放大。先清洗,再加权。

9.5 Excel 实现不了大数据量

距离矩阵是 n×n,加权公式又比普通聚类更复杂。样本超过 100 条,Excel 迭代维护成本就很高。真实业务建议在 Python(sklearn 的 sample_weight 参数)中实现,Excel 用于理解原理和小样本演示。

from sklearn.cluster import KMeans

kmeans = KMeans(n_clusters=3).fit(X, sample_weight=weights)

指标加权则在距离度量前对标准化特征做列缩放:X * feature_weights。

十、一个完整场景:问卷受访者聚类

假设做了一份消费者问卷,回收 60 份,采用分层抽样:城市样本入样概率高、样本权重小,农村样本权重高。指标有消费金额、购买频次、满意度三个,业务上金额最重要。

处理流程:

  1. 指标 Z-score 标准化
  2. 指标权重:金额 0.5、频次 0.3、满意度 0.2
  3. 样本权重:按抽样概率 1/p 计算
  4. 加权 K-Means 迭代到收敛
  5. 按样本权重汇总每簇代表的人群规模,输出人群画像

不加权的结果会被城市样本(数量多)主导;加权后,簇的规模和画像才能反映总体结构,而不是"被调查的那批人"。

十一、总结

加权聚类 = 普通聚类框架 + 两处调整:

  • 指标加权:距离公式中给重要指标乘权重系数,先标准化再赋权
  • 样本加权:质心按权重加权平均,反映样本在总体中的代表规模

Excel 里的实现要点:

  1. 先标准化,再确定两类权重
  2. 加权距离用 SUMPRODUCT 计算
  3. 加权质心用 SUMPRODUCT(条件*权重*指标) / SUMPRODUCT(条件*权重)
  4. 迭代到中心稳定,再统计簇规模与画像
  5. 权重来源要可追溯,小样本用 Excel 演示,大样本转 Python

最后提醒一句:加权聚类不是"给重要的样本多分几票"这么简单。权重背后是抽样设计或业务判断,赋权之前先想清楚——这一类样本、这一个指标,凭什么比别的重要。想不清这个问题,加权只会让结果看起来更精致,而不是更正确。

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

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

数据分析师资讯
更多

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