聚类分析的方法及应用
通常,我们在研究与处理事物时,经常需要将事物进行分类,例如地质勘探中根据物探、化探的指标将样本进行分类;古生物研究中根据挖掘出的骨骼形状和尺寸将它们分类;大坝监控中由于所得的观测数据量十分庞大,有时亦需将它们分类归并,获得其典型代表再进行深入分析等,对事物进行分类,进而归纳并发现其规律已成为人们认识世界、改造世界的一种重要方法。
由于对象的复杂性,仅凭经验和专业知识有时不能确切地分类,随着多元统计技术的发展和计算机技术的普及,利用数学方法进行更科学的分类不仅非常必要而且完全可能。
近些年来,数值分类学逐渐形成了一个新的分支,称为聚类分析,聚类分析适用于很多不同类型的数据集合,很多研究领域,如工程、生物、医药、语言、人类学、心理学和市场学等,都对聚类技术的发展和应用起到了推动作用。
1、什么是聚类分析?
聚类分析也称群分析或点群分析,它是研究多要素事物分类问题的数量方法,是一种新兴的多元统计方法,是当代分类学与多元分析的结合。其基本原理是,根据样本自身的属性,用数学方法按照某种相似性或差异性指标,定量地确定样本之间的亲疏关系,并按这种亲疏关系程度对样本进行聚类。
聚类分析是将分类对象置于一个多维空问中,按照它们空问关系的亲疏程度进行分类。
通俗的讲,聚类分析就是根据事物彼此不同的属性进行辨认,将具有相似属性的事物聚为一类,使得同一类的事物具有高度的相似性。
聚类分析方法,是定量地研究地理事物分类问题和地理分区问题的重要方法,常见的聚类分析方法有系统聚类法、动态聚类法和模糊聚类法等。
2、聚类分析方法的特征
(1)、聚类分析简单、直观。
(2)、聚类分析主要应用于探索性的研究,其分析的结果可以提供多个可能的解,选择最终的解需要研究者的主观判断和后续的分析。
(3)、不管实际数据中是否真正存在不同的类别,利用聚类分析都能得到分成若干类别的解。
(4)、聚类分析的解完全依赖于研究者所选择的聚类变量,增加或删除一些变量对最终的解都可能产生实质性的影响。
(5)、研究者在使用聚类分析时应特别注意可能影响结果的各个因素。
(6)、异常值和特殊的变量对聚类有较大影响,当分类变量的测量尺度不一致时,需要事先做标准化处理。
3、聚类分析的发展历程
在过去的几年中聚类分析发展方向有两个:加强现有的聚类算法和发明新的聚类算法。现在已经有一些加强的算法用来处理大型数据库和高维度数据,例如小波变换使用多分辨率算法,网格从粗糙到密集从而提高聚类簇的质量。
然而,对于数据量大、维度高并且包含许多噪声的集合,要找到一个“全能”的聚类算法是非常困难的。某些算法只能解决其中的两个问题,同时能很好解决三个问题的算法还没有,现在最大的困难是高维度(同时包含大量噪声)数据的处理。
算法的可伸缩性是一个重要的指标,通过采用各种技术,一些算法具有很好的伸缩性。这些技术包括:数据采样、信息浓缩、网格和索引。
CLARANS是最早使用数据采样的算法,CURE使用优选的采样点,信息浓缩技术在BIRCH方法和DECLIJE方法中得到应用。
许多算法都使用了索引技术,典型的有:BIRCH方法、DBSCAN方法、小波变换方法、DENCLUE方法、DENCLUE方法、小波变换方法、STING方法和CLIQUE方法使用了网格技术。
但是以上方法仍然不能很好地处理高维度并且大数据量的集合。
最近马海祥还发现了一些新的技术如:STING+方法引入动态数据挖掘触发器:mAFIA方法引入间距尺寸自适应网格分割算法;OptiGrid算法使用迭代和网格等技术处理高维度数据。
新技术的引进大大加强了聚类算法的效能,尤其提升了处理高维度数据的能力,但是由于这些算法刚刚形成,所以在某些地方还有待完善,对于刚接触数据分析的博友,可以先看下马海祥博客的《》相关介绍。
4、系统聚类分析法
系统聚类法(Hierarchical Clustering Method)是目前国内外使用晟多的一种方法,有关它的研究极为丰富。其基本思想是:先将11个样本各自看成一类,然后规定样本之间的距离和类与类之间的距离;然后选择距离最小的一对并成一个新类,计算新类和其他类的距离;再将距离最小的两类合并,这样每次减少一类,直至所有的样本都成为一类为止。
在马海祥看来系统聚类法的优点在于:利用样本之问的距离最近原则进行聚类。这种系统归类过程与所规定的归类指数有关,同时也与具体的归类方法有关系,整个聚类过程可用一张聚类图(树)形象表示。
在聚类分析中,聚类要素的选择是十分重要的,它直接影响分类结果的准确性和可靠性,在地理分类和研究分区中,被聚类的对象常常是多个要素构成的。
不同要素的数据往往具有不同的单位和量纲,其数值的变异可能是很大的,这就会对分类结果产生影响,因此当分类要素的对象确定之后,在进行聚类分析之前,首先要对数据要素进行处理。
在聚类分析中,常用的聚类要素的数据处理方法有如下几种:
①、总和标准化
②、标准差标准化
③、极大值标准化
④、极差的标准化
经过这种标准化所得的新数据,各要素的极大值为1,极小值为0,其余的数值均在0与1之间。
距离是事物之间差异性的测度,差异性越大,则相似性越小,所以距离是系统聚类分析的依据和基础。
5、聚类分析的3种方法
聚类分析是数据挖掘中的一个很活跃的研究领域,并提出了许多聚类算法。
(1)、直接聚类法
直接聚类法是根据距离矩阵的结构一次并类得到结果,其基本步骤如下:
①、把各个分类对象单独视为一类;
②、根据距离最小的原则,依次选出一对分类对象,并成新类;
③、如果其中一个分类对象已归于一类,则把另一个也归入该类;如果一对分类对象正好属于已归的两类,则把这两类并为一类;每一次归并,都划去该对象所在的列与列序相同的行;
④、那么,经过m-1次就可以把全部分类对象归为一类,这样就可以根据归并的先后顺序作出聚类谱系图,直接聚类法虽然简便,但在归并过程中是划去行和列的,因而难免有信息损失,因此,直接聚类法并不是最好的系统聚类方法。
(2)、最短距离聚类法
最短距离聚类法是在原来的m×m距离矩阵的非对角元素中找出 ,把分类对象Gp和Gq归并为一新类Gr,然后按计算公式计算原来各类与新类之间的距离,这样就得到一个新的(m-1)阶的距离矩阵。
再从新的距离矩阵中选出最小者,把Gi和Gj归并成新类;再计算各类与新类的距离,这样一直下去,直至各分类对象被归为一类为止。
(3)、最远距离聚类法
最远距离聚类法与最短距离聚类法的区别在于计算原来的类与新类距离采用的公式不同。
6、系统聚类方法的步骤
(1)、对数据进行变换处理;(不是必须的,当数量级相差很大或指标变量具有不同单位时是必要的)
(2)、构造n个类,每个类只包含一个样本;
(3)、计算n个样本两两间的距离;
(4)、合并距离最近的两类为一新类;
(5)、计算新类与当前各类的距离,若类的个数等于1,转到6;否则回4;
(6)、画聚类图;
(7)、决定类的个数,从而得出分类结果。
7、聚类分析的主要应用
对于聚类分析的应用,马海祥简单的从以下6个领域为大家总结了一下:
(1)、商业
聚类分析被用来发现不同的客户群,并且通过购买模式刻画不同的客户群的特征。
聚类分析是细分市场的有效工具,同时也可用于研究消费者行为,寻找新的潜在市场、选择实验的市场,并作为多元分析的预处理。
(2)、生物
聚类分析被用来动植物分类和对基因进行分类,获取对种群固有结构的认识。
(3)、地理
聚类能够帮助在地球中被观察的数据库商趋于的相似性。
(4)、保险行业
聚类分析通过一个高的平均消费来鉴定汽车保险单持有者的分组,同时根据住宅类型,价值,地理位置来鉴定一个城市的房产分组。
(5)、因特网
聚类分析被用来在网上进行文档归类来修复信息(关于这点我也曾在马海祥博客的《》一文中跟大家详细的介绍过)。
(6)、电子商务
聚类分析在电子商务中网站建设数据挖掘中也是很重要的一个方面,通过分组聚类出具有相似浏览行为的客户,并分析客户的共同特征,可以更好的帮助电子商务的用户了解自己的客户,向客户提供更合适的服务。
马海祥博客点评:
聚类分析是一种探索性的分析,在分类的过程中,人们不必事先给出一个分类的标准,聚类分析能够从样本数据出发,自动进行分类,聚类分析所使用方法的不同,常常会得到不同的结论,不同研究者对于同一组数据进行聚类分析,所得到的聚类数未必一致。