我正在对一个数据库进行(案例)聚类分析,该数据库将权重归因于个别案例,以确保它在社会人口分布方面反映一般人群。
由于层次聚类忽略了属性权重,开始非加权层次聚类分析以确定最佳解决方案,然后使用具有该数量聚类的 k-means 在统计上是否合理?或者在假设合适之前开始各种 k-means 解决方案是否更合理?
或者我们能否找到一种方法来执行加权层次聚类分析(加权是要聚类的对象,权重是频率)?
我正在对一个数据库进行(案例)聚类分析,该数据库将权重归因于个别案例,以确保它在社会人口分布方面反映一般人群。
由于层次聚类忽略了属性权重,开始非加权层次聚类分析以确定最佳解决方案,然后使用具有该数量聚类的 k-means 在统计上是否合理?或者在假设合适之前开始各种 k-means 解决方案是否更合理?
或者我们能否找到一种方法来执行加权层次聚类分析(加权是要聚类的对象,权重是频率)?
在层次聚类之后使用 K-means 或在 K-means 之后使用层次聚类有时可能本身就是一个合理的技巧 - 而不是因为加权。
现在关于权重。要对案例(要聚类的对象)附加频率权重的案例进行层次聚类分析:
方法1,一般。传播对象。将权重乘以一个常数,使较小的个体权重约为 1,然后将权重四舍五入;并根据这些频率传播案例。例如,如果您有 4 组具有相应案例权重的案例0.55 0.23 1.98 1.14,则乘以 4.35 得到2.39 1.00 8.61 4.96,然后四舍五入为频率2 1 9 5。将相应组的每个案例传播此次数。在 SPSS 中,传播案例的语法如下。
loop #i= 1 to FREQ. /*FREQ is that recalculated weighting variable
xsave outfile= 'FILE.SAV' /keep= VARS. /*FILE.SAV is the dataset you save to hard disk: path and filename
/*Optional /keep= VARS is the list of variables you want to save with the file
/*In your case that will be of course all the features you cluster by
end loop.
exec.
如果您需要将原始分数权重提高 10 倍的精度,请在舍入前乘以 10,23.9 10.0 86.1 49.6这样传播频率将为24 10 86 50. 但是,大量重复案例可能会使数据集太大而无法进行单个层次聚类分析。所以不要对精确度太苛刻。
另一方面,传播的大数据集可以通过随机选择的子样本进行多次聚类分析。然后你可以组合结果(有几种方法是可能的)。[实际上,要在 SPSS 中执行这种带替换的重采样,您不需要先传播数据。但是,我会停下来,不会详细介绍语法。]
在案例传播之后和聚类之前,您可能希望向定量特征添加微小的随机噪声 - 以解开相同的案例。它将使聚类结果更少依赖于数据集中的案例顺序。
do repeat x= var1 var2 var3. /*list of quantitative variables
compute x= x+rv.uniform(0,0.00001). /*a noise value between 0 and, say, 0.00001
end repeat.
exec.
如果您正在使用已经构建的距离矩阵(而不是数据集),则将其行/列传播您需要的时间。在 SPSS 中,您可以使用方便!propag()的矩阵函数 - 请参阅我的网页。
方法 2.使用恢复集聚。层次聚类的一些实现(一个例子是我自己的 SPSS 宏,用于在我的网页上找到的层次聚类)允许中断聚集并保存当前的左距离矩阵;到目前为止,该矩阵还有一个具有集群内频率的附加列。该矩阵可用作“恢复”聚类的输入。现在,事实是一些集聚方法,即单一(最近邻)、完全(最远邻)、组间平均(UPGMA)、质心和中位数,当它们合并两个集群时,不要注意或改变集群内的密度。因此,对于这些方法,恢复聚集等效于在附加初始频率权重的情况下进行聚集。因此,如果您的程序可以选择中断/恢复聚集,您可以使用它在上述方法下成功“模拟”加权输入,并且您不需要传播矩阵的行/列。
此外,已知三种方法 -单一、完整和中值(WPGMC) 在合并两个集群时甚至会忽略集群内频率。因此,这些方法的频率加权(通过方法 1 或方法 2)似乎完全没有必要。它们对它不敏感,并且会给出与没有权重的对象相同的分类。唯一的区别在于树状图的外观,因为通过加权,您可以使用更多对象进行组合,并且它应该显示在树状图上。
至于K-means聚类过程中的加权案例,SPSS 允许这样做:该过程服从加权制度。这是可以理解的:K-means 计算可以在计算集群均值时轻松自然地结合整数或分数权重。案例的传播应该给出与加权开启的聚类非常相似的结果。
SPSS的两步聚类分析不支持加权案例,如层次聚类。因此,这里的解决方案是上述方法 1 中描述的案例的传播。