数学实验
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.1 聚类分析方法介绍

一、聚类分析的主要内容

随着科技的发展,在社会、经济、人口研究中,存在着很多需要分类研究以及构造分类模式的问题。例如,我国不同城市及地区经济发展水平差异很大,按照经济发展水平的高低将全国各城市分为一线城市、二线城市、三线城市等;根据各地区人口生育水平、生育模式、人口死亡的年龄及疾病特征等来分析研究各地区的人口出生和死亡情况等。以前这些工作往往靠经验和专业知识进行定性分析,分析的结果往往具有很强的主观性和随意性,不能很好地揭示客观事物的内在本质和外在差别,尤其是需要同时考虑多个指标、多个因素的问题,定性分析的精确度会受很大的影响。

1. 聚类分析的概念

分类是将一个观测对象指定到某一类或者某一组中。分类的问题有两种:一种是对当前所研究的问题已知它的类别数目及各类的特征,将另外一些未知类别的个体归到某一类中去,即判别问题。另一种是事先不知道研究的问题应该分成几类,更不知道观测的个体具体分类的情况,需要通过对观测数据进行处理,选定一定度量个体接近程度的统计量,确定分类数目,建立分类方法,按照此方法依据产品的接近程度给出合理的分类,这就是聚类分析。

聚类分析又称群分类,它是一种重要的人类行为,所谓的类,通俗地讲就是相似元素的集合。

2. 聚类分析的常用方法

从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。到目前为止,聚类分析的方法还不成熟,理论也不完善,但是因为它能解决很多实际问题,特别是和其他方法联合使用解决问题时更为有效,因此聚类分析现在有较为广泛的应用。

聚类分析方法根据分类方式的不同可以分为系统聚类法、动态聚类法、有序样品聚类法、图论聚类法和模糊聚类法等。聚类分析根据分类对象的不同又可以分为R-型聚类和Q-型聚类两大类。R-型聚类是指对变量指标进行分类,Q-型聚类是指对样品进行分类。

目前SPSS、SAS、R、MATLAB等计算机软件均可以实现聚类分析的数据处理。

3. 聚类分析的主要应用

聚类分析在很多行业都有广泛的应用,在商业上被用来发现不同的客户群,并且通过购买模式刻画不同客户群的特征;在生物上被用来对动植物和基因进行分类,获取对种群固有结构的认识;在地理上能够帮助分析在地球中被观察的数据库商趋于的相似性;在保险行业上,通过一个高的平均消费来为汽车保险单持有者的分组,同时根据住宅类型、价值、地理位置来鉴定一个城市的房产分组;在互联网应用上,被用来在网上进行文档归类来修复信息;在电子商务上,用于网站建设数据挖掘,通过分组聚类出具有相似浏览行为的客户,并分析客户的共同特征,更好地帮助电子商务人员了解自己的客户,向客户提供更合适的服务。

二、距离与相似系数

为了对样品或变量进行分类,首先要研究它们之间的关系。度量样品或变量之间相似程度的统计量有很多,目前用得比较多的是距离和相似系数。

根据取值的不同,变量可以分成定性变量和定量变量。

定性变量是指变量属性上的差异,如电源开关分开、关两种状态;人们从事的职业可以分为公务员、教师、商人、医生、农民、艺术家、自由职业者等;某产品的质量可以分为优质、良好、合格、不合格等几类;一个成年人受教育程度可分为文盲、小学、中学、专科、本科、硕士、博士等。定性变量又可以细分为有序变量和名义变量,其中有序变量是指变量的变化只有顺序,没有数量,如产品的质量、受教育程度等。名义变量没有次序,只是标注了变量的不同状态,如电源开关的状态、职业划分等。

定量变量中多数是由数据来表达的量,如人均收入水平、产品的价格、天气的温度等。

对变量进行分类前,需要对原始数据进行预处理,使其所有变量尺度均匀化。不同类型的变量进行分类时需要定义不同的距离和相似程度,才能给出较为合理的聚类方法。

1. 定量变量的数据变换方法

(1)变量的标准化

设有n个样品,m个特征变量,设第i个样品,第j个变量的观测值为xiji=1,2,...,nj=1,2,...,m),由此可构成一个n×m阶矩阵:

为变量的均值、为变量的标准差。

式(3-1)中每个变量xij根据公式

进行变换,称为标准化。标准化以后的变量均值为0,标准差为1。

(2)变量的正规化

对每个变量进行以下变换,称为正规化。

显然,。需要注意的是,数据的预处理应以不丢失原有信息为前提。两种预处理方法的选择应根据现有数据的特点来考虑。

2. 变量及样品间的距离

通常用距离来描述样品间的亲疏程度。设观测数据由(3-1)表示n个样品,m个特征变量,设第i个样品,第j个变量的观测值为xiji=1,2,...,nj=1,2,...,m),用dij表示样品XiXj之间的距离,距离首先要满足以下几点:

·dij≥0对一切ij成立;dij=0⇔XiXj

·dijdji对一切ij成立;

·dijdikdkj对一切ijk成立;

在满足上述条件的基础上,可以根据需要分别定义样品间的距离及相似系数。

(1)样品间的几种常用距离:

①闵科夫斯基距离:

为闵科夫斯基距离。

在式(3-4)中,当q=1时,称

为一阶闵科夫斯基距离,也称为绝对距离。

在式(3-4)中,当q=2时,称

为二阶闵科夫斯基距离,就是常用的欧氏距离。欧氏距离是聚类分析中应用最广泛的距离。该距离的缺点是定义方式与各个变量的量纲有关,没有考虑距离之间的相关性,也没有考虑各变量方差的不同。

在欧氏距离的定义中,变差大的变量在距离中的作用会更大,这是不合理的。通常的解决办法是对各变量加权(如利用方差加权构造统计距离):

在式(3-4)中,当q趋于∞时,称

为切比雪夫距离。

②兰氏距离(要求xij>0)

兰氏距离是无量纲的量,克服了闵氏距离与各个指标的量纲有关的缺点。并且兰氏距离对大的奇异值也不敏感,因此比较适合高度偏倚的数据。兰氏距离的缺点是没有考虑数据变量之间的相关性。

③马氏距离

样品XiXj的马氏距离为

dijM)=(Xi-Xj′S-1Xi-Xj

其中S-1为样本协方差矩阵的逆矩阵。马氏距离排除了变量之间相关性的干扰,并且不受量纲的影响。但是在聚类分析处理之前,如果用全部数据计算均值和协方差求马氏距离,效果并不理想。比较合理的方法是用各个类的样本来计算各自的协方差矩阵,同一类样品间的马氏距离用同一类协方差进行计算。但是类的形成又需要依赖样品间的距离,而样品间合理的马氏距离又依赖类,形成循环而达不到理想的分类效果。

④斜交空间距离

其中rkl为变量XkXl之间的相关系数。

由于大多数变量之间都存在不同程度的相关性,此时用正交空间距离来计算样品间的距离容易产生形变,从而使得用聚类分析进行分类时的谱系结构发生变形。斜交空间距离可以使具有相关性变量的谱系结构不发生变形。

聚类分析方法不仅可以对样品进行分类,还可以对变量进行分类。在对变量进行分类时,通常采用相似系数表示变量之间的密切程度。

(2)变量间的相似系数

①夹角余弦(相似系数):将变量Xin次观察值(x1ix2i,...,xni)看成n维空间的向量,将XiXj的夹角余弦cosαij称为两个向量的相似系数:记为

αij=0°时,cosαij=1,两个变量完全相似;当αij=90°时,cosαij=0,说明两个变量不相关。

②相关系数(相关系数):相关系数是对数据标准化处理后的夹角余弦

其中,则R=(rijn×n。当rij=1时,两个变量线性相关。注意:xi={xi1xi2,...,xim}中的样本xki属于同一个样本空间Xik=1,2,...,n)。

(3)变量间的距离

①利用相似系数定义变量之间的距离:

dij=1-|Cij|或者ij=1,2,...,m

②利用样本协方差矩阵S来定义距离:

S=(sijm×m>0,变量XiXj之间的距离可以定义为:

dijsiisjj-2sijij=1,2,...,m

③把变量Xin次观测值看成n维空间的点。在n维空间中按样品间的距离,可以定义变量间的各种距离。因篇幅所限不再赘述。

(4)定性变量的距离

通常可以把定性变量称为项目,定性变量的不同“取值”称为类目。如性别是项目、性别中的男或女是类目,而且只能取男或女中的一个类目,不能两个全取。但有些类目是可以同时取多个的,如人的体型作为项目,瘦、适中、胖、壮等类目可以兼取胖且壮。

设样品Xi的取值为[δik,1),δik,2),...,δikrk)](i=1,2,...,nk=1,2,...,m),其中n为样品的个数,m为项目的个数,rk为第k个项目的类目数。如表3-1所示:

表3-1 定性数据的类目表示例

上述示例中k=1时,Xi的取值为(1,0,0,0),r1=4,δi(1,1)=1,δi(1,2)=δi(1,3)=δi(1,4)=0。若定义:

δikl)为第k个项目的l类目在第i个样品中的反映。

设两个样品分别为XiXj,若δikl)=δjkl)=1,则称这两个样品在第k个项目的第l个类目上1-1配对;若δikl)=δjkl)=0,则称这两个样品在第k个项目的第l个类目上0-0配对;若δikl)≠δjkl),则称为不配对。

在两个样品配对中,记m0m1m2分别为0-0配对、1-1配对和不配对的总数,定义:

为两个样品XiXj的距离。

对于表3-1的数据,易见两个样品的取值为m0=7,m1=3,m2=4,项目数m=4,总类目数

根据研究问题的不同,对样品中不同配对种类可以取不同的权重,常用的距离定义还有:

等形式。

定性变量间的相似系数可以采用列联表的形式得到,详解参考文献【5】。

3. 类和类的特征

由于客观事物是千差万别的,在不同问题中类的含义也不完全相同,因此想给类一个严格的定义是非常困难的,下面给出几个类的定义方法,以适用于不同的场合。

G表示类。设G中有n个元素,这些元素用ij表示。

第一种定义:设T为给定的阈值,如果对于任意的ijG,对它们之间的距离dij,都有dijT,则称G为一个类。

第二种定义:设T为给定的阈值,如果对于任意的iG,都有,则称G为一个类。

第三种定义:设TV为给定的阈值,如果对于任意的ijG,两两元素的平均满足

则称G为一个类。

第四种定义:设T为给定的阈值,如果对于任意的iG,一定存在jG,使得dijT,则称G为一个类。

以上几种定义中,第一种定义方式要求是最高的,凡是符合第一种定义的类也一定是符合后面三种定义的类。使用哪种方式更多地需要考虑实际问题需要。

研究问题的过程中经常需要从不同角度刻画G的特征。假设类G包含nm元样品,分别记为X(1)X(2),...,Xn。常用的特征有:

均值(或称为G的重心):

样本离差阵及样本协方差阵:

类的直径:

这是定义直径最典型的两种方法,除此之外根据问题的需要还可以有多种定义直径的方法。

在聚类分析中,不仅要考虑各个类的特征,而且要计算类与类之间的距离。由于类的形状是多种多样的,因此类与类之间的距离也有多种计算方法。