|||
背景知识: 聚类分析中有代表性的数据结构有两种,一种是数据矩阵(data matrix),用p个属性来表现n个对象,是nXp的矩阵;另一种是差异矩阵(dissimilarity matrix),存储n个对象两两之间的相似度,是nXn的矩阵。
前几天有个学生问我是否能用差异矩阵作为输入,选择spss中的Analyze->Classify->Hierarchical cluster来聚类。我的第一反应是不能,早已习惯了横轴是属性纵轴是对象的输入形式。“可它能算出结果,并且很多文献上都是那样操作的”,那学生这样告诉我。
能算出结果这一点不需要讨论,做数据分析的人都知道,蚯蚓数量与GDP之间存在相关性。上期刊网上搜索了一下,确实有很多核心期刊论文在分析时把差异矩阵(或相似矩阵)直接输入spss进行层次聚类,并且把聚类结果分析得头头是道。
这样做究竟对不对呢?
先来看一下spss中Hierarchical cluster操作。以表1中的数据输入为例,其计算步骤包括数据变换、对象之间的距离计算和层次聚类,计算结果就是把属性类似的对象归为一类。
表1:数据矩阵
对象 | 属性一 | 属性二 | 属性三 |
A | X11 | X12 | X13 |
B | X21 | X22 | X23 |
C | X31 | X32 | X33 |
D | X41 | X42 | X43 |
假如把差异矩阵(如表2,是一对称矩阵,表中数值表示两个对象的相异度)作为spss层次聚类的输入,由于程序是固定的,自然它依然会像对待数据矩阵那样进行数据变换、距离计算......那么,“距离的距离”是什么?结果如何?
表2 差异矩阵
A | B | C | D | |
A | 0 | DAB | DAC | DAD |
B | DBA | 0 | DBC | DBD |
C | DCA | DCB | 0 | DCD |
D | DDA | DDB | DDC | 0 |
把表3中的实际数据输入spss(参数选项默认,下同),结果见图1。很明显,聚类结果与期望是一样的:对象A、B、D比较相似,C与其他对象距离较远。这是否证明可以把差异矩阵作为spss层次聚类的输入呢?如果是,那其聚类结果特征又是什么?
表3:差异矩阵A
A | B | C | D | |
A | 0 | 0.1 | 0.8 | 0.1 |
B | 0.1 | 0 | 0.8 | 0.1 |
C | 0.8 | 0.8 | 0 | 0.8 |
D | 0.1 | 0.1 | 0.8 | 0 |
图1 差异矩阵A的spss聚类结果
要回答这些问题,回头看表2中的数据。跟spss程序一样,把表中的列看成属性变量,那么对象A的“属性向量”就是(DAA,DAB,DAC,DAD),即把对象A、B、C、D看成空间中的4个点,对象A与它们的距离分布。同样,对象B的“属性向量”(DBA,DBB,DBC,DBD)也是其与这4个参照点的距离分布。因此,此时对象A与对象B之间的“距离”已经不是原来的DAB,而是向量(DAA,DAB,DAC,DAD)与(DBA,DBB,DBC,DBD)的差异,即与4个参照点的距离分布差异。
这样就很容易图1中计算结果的“正确性”了。以图2为例,对象A、B、D不仅距离较近,其距离分布(DAA,DAB,DAC,DAC)、(DBA,DBB,DBC,DBD)、(DCA,DCB,DCC,DCD)跟对象D的距离分布(DDA,DDB,DDC,DDD)相比自然也更为相似,所以被归成一类。同一类中的对象,在与所有对象的空间距离分布上更为类似,这在直观判断上是理所当然的。
图2 对象分布示例
但这是否说明可以将差异矩阵作为spss输入进行层次聚类呢?答案是否定的。以表4中的数据输入spss,结果见图3。很显然,这结果是不对的,因为表4中距离最近的是对象A和D,它们应该首先归为一类,而不应该是图3中的对象A和B。其错误的原因就是把“距离的距离”作为聚类条件,实质上是对原有距离的一种加权平均。在类间距离比较大的情况下将差异矩阵输入spss,有可能得到与数据矩阵输入相同的结果;但当类间距离不那么明显时,结果就很难预料。所以在选择spss进行层次聚类时,还是别把差异矩阵作为输入为好。
表4 差异矩阵B
A | B | C | D | |
A | 0 | 0.4 | 0.4 | 0.3 |
B | 0.4 | 0 | 0.4 | 0.4 |
C | 0.4 | 0.4 | 0 | 0.8 |
D | 0.3 | 0.4 | 0.8 | 0 |
如果手头的数据就是差异矩阵,那么选择什么工具来完成聚类呢?解决方法有:(1)自己写程序(嘿嘿,好像是废话);(2)用SAS软件(据说能接受差异矩阵输入,尚未尝试,欢迎有心人告诉我);(3)用matlab中的linkage函数(这个试过,结果正确,就是结果图形有点难看)。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-22 20:55
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社