码迷,mamicode.com
首页 > 其他好文 > 详细

聚类分析

时间:2016-05-02 18:25:38      阅读:2659      评论:0      收藏:0      [点我收藏+]

标签:

聚类分析简单说就是对数据进行分类,对于一个行列数据表来说,我们既可以对变量(通常是数据表中的列)进行分类,也可以对个案(通常是数据表中的行)进行分类。对变量的聚类称为R型聚类,对个案的聚类称为Q型聚类,这两种聚类在数学上是对称的,并无不同。

聚类是一种探索性分析,事先并不知道有多少种分类,而是从数据本身出发,根据算法自行分类,算法不同,聚类的结果也不同。但是原则都是统一的,那就是:类别内部的差异尽可能小,而类别间的差异尽可能大。

一、聚类分析的基本算法

1.非层次聚类法
首先根据经验或者专业确定一个最终的类别个数,在所有数据中选取一些作为初始类作为质心,通过计算剩余数据到质心之间的距离来判断归类,每归一类就重新计算质心,如此迭代直至达到标准。整个计算过程都是针对数据本身,不会出现类与类之间的层次关系,因此速度较快。缺点是只能对个案进行聚类,而不能对变量聚类,数据必须是连续型数据,并且要求多元正态性和方差齐性。

2.层次聚类法
首先确定数据间的距离计算方式和类与类之间的距离计算方式,根据距离的远近进行归类,这种方法存在类与类之前的层次关系,因此成为层次聚类法,缺点是计算速度较慢,优点是既能对变量进行聚类,也能对个案进行聚类,并且数据可以为连续型数据和分类数据,提供的距离测量方法也很丰富。

3.智能聚类法
无论是层次聚类法还是非层次聚类法,都属于传统聚类法,都有一定的局限,而随着数据挖掘而发展起来的智能聚类法,既继承了传统聚类方法的优点,也改进了诸如计算速度慢等缺点,同时还可以自动判断最佳类别数,越来越受到重视。

二、距离与相似系数

既然聚类分析对数据进行分类的标准主要是距离和相似系数,那么就来介绍一下这两个指标在聚类分析中都有哪些计算方式。聚类分析中的距离分为数据与数据间的距离和类与类之间的距离,类与类之间的距离只有层次聚类法和智能聚类法会用到。

数据与数据间的距离计算方式有

1.欧式距离(Euclidean)
两样本x,y之间的距离是各样本中变量之差的平方和的平方根
技术分享

2.欧式平方距离
两样本x,y之间的距离是各样本中变量之差的平方和的平方根
技术分享

3.切比雪夫距离
两样本x,y之间的距离是各样本中所有变量值之差绝对值中的最大值
技术分享

4.块距离(Block)
两样本x,y之间的距离是各样本中所有变量值之差绝对值的总和,用于Q型聚类
技术分享

5.明氏距离
两样本x,y之间的距离是各样本中每对变量值之差的绝对值的p次方的总和
技术分享

6.设定距离
两样本x,y之间的距离是各样本中每对变量值之差的绝对值的p次方的总和,再求q次方根
技术分享

7.卡方统计量
针对分类变量的距离

8.Phi方统计量
针对分类变量的距离

其中以上6种距离是针对连续变量的,最后两种是针对分类变量的

类与类间的距离计算方式有

1.组内连接法
两类合并为一类后,合并后的类中所有项之间的平均距离最小

2.组间连接法
合并两类的结果使所有的两两项对之间的平均距离最小。(项对的两成员分属不同类)

3.质心法
两类间的距离定义为两类质心之间的距离,对样品分类而言,每一类中心就是属于该类样品的均值,该距离随聚类地进行不断缩小。该法的谱系树状图很难跟踪,且符号改变频繁,计算较烦

4.最短距离法
首先合并最近或最相似的两项,但是样品有链接聚合的趋势,这是其缺点,不适合一般数据的分类处理,除去特殊数据外,不提倡用这种方法

5.最长距离法
用两类之间最远点的距离代表两类之间的距离,也称之为完全连接法

6.中位数法
用两个类别中各数据点的中位数代表两类别间的距离。

7.Ward法:也称为离差平方和法
基于方差分析思想,如果分类合理,则同类样品间离差平方和应当较小,类与类间离差平方和应当较大,要求样品间的距离必须是欧氏距离。

以上7种方式计算步骤相同,只是类与类间的距离计算方法不同,计算结果也不同。

相似系数的计算方式有:
1.pearson相关系数
技术分享

2.余弦夹角
根据相似形原理,两个距离如果有相同的夹角,则可认为形状相似,取值范围[-1,+1]
技术分享

三、聚类分析的过程

1.数据预处理

对数据标准化,消除量纲影响,常用标准化方法有
(1))Z Scores:标准化变换
变换后的数据均值为0,标准差为1,消去了量纲的影响;当抽样样本改变时,它仍能保持相对稳定性。

(2)Range –1 to 1:极差标准化变换
变换后的数据均值为0,极差为1,且|xij*|<1,消去了量纲的影响;在以后的分析计算中可以减少误差的产生。

(3)Maximum magnitude of 1
变换后的数据最大值为1

(4)Range 0 to 1(极差正规化变换 / 规格化变换)
变换后的数据最小为0,最大为1,其余在区间[0,1]内,极差为1,无量纲。

(5)Mean of 1
变换后的数据均值为1

(6)Standard  deviation  of  1
变换后的数据标准差为1

2.构造关系矩阵
计算距离或相似系数

3.聚类
根据不同的聚类方法进行聚类)

4.确定最佳分类数并加以解释
根据聚类结果确定最佳分类数并加以解释

五、常用聚类分析方法

聚类分析在数据挖掘领域很常用,也发展出很多算法,这里只介绍最基础的几种算法

1.K-means聚类
K-means聚类法也称快速聚类法,是一种常用的非层次聚类法,有其固有的局限,具体思路为:
技术分享

k-means聚类法最大的优点是简单快速,适用于中小型数据库。缺点是
k-means聚类法不能保证收敛全局最优解,它常常终止于一个局部最优解,结果很可能依赖初始质心的选择,为了得到更好的效果,通常设置不同的初始质心,多次进行K-means聚类。

2.系统聚类法
属于层次聚类法,分为合并法和分解法,二者运算原理相同,只是方向相反,以合并法为例
先将n个个案各做为一类,共n类,计算各类间的距离,构成距离矩阵,将距离最近的两类合并为一个新类,重新计算各类间的距离,如此反复直至所有个案合并为一个大类。

3.两步聚类法
属于智能聚类法,首先进行预聚类构建聚类特征树CFtree,然后以预聚类的结果作为输入,再进行聚类。两步聚类法的优点是速度快,数据可以是混合数据(连续和分类数据),缺点是不允许有缺失值。

六、聚类分析与主成分分析、因子分析的区别与联系
这三种都是常用的多元统计分析方法,都有类似的理论基础,那么他们之间有哪些共同点和联系呢

1.联系
主成分分析法和因子分析法都是用少数的几个变量(因子)?来综合反映原始变量(因子)?的主要信息,变量虽然较原始变量少,但是携带了大部分原始变量的信息,新的变量之间不存在相关性,并且新变量也不是简单的原始变量的筛选,而是通过计算得出的。

聚类分析的基本思想是:?采用多变量的统计值,定量地确定相互之间的亲疏关系,考虑对象多因素的联系和主导作用,按它们亲疏差异程度,归入不同的分类中一元,使分类更具客观实际并能反映事物的内在必然联系。也就是说,聚类分析是把研究对象视作多维空间中的许多点,并合理地分成若干类,因此它是一种根据变量域之间的相似性而逐步归群成类的方法,它能客观地反映这些变量或区域之间的内在组合关系。聚类分析是通过一个大的对称矩阵来探索相关关系的一种数学分析方法,分析的结果为群集。对向量聚类后,我们对数据的处理难度也自然降低,所以从某种意义上说,聚类分析也起到了降维的作用。

2.区别
主成分分析是研究如何通过少数几个主成分来解释多变量的方差一协方差结构的分析方法,也就是求出少数几个主成分(变量)?,使它们尽可能多地保留原始变量的信息,且彼此不相关。它是一种数学变换方法,即把给定的一组变量通过线性变换,转换为一组不相关的变量(两两相关系数为0?,或样本向量彼此相互垂直的随机变量)?,在这种变换中,保持变量的总方差(方差之和)?不变,同时具有最大方差,称为第一主成分;具有次大方差,称为第二主成分。依次类推。若共有p?个变量,实际应用中一般不是找p?个主成分,而是找出m?(m?<?p)?个主成分就够了,只要这m?个主成分能反映原来所有变量的绝大部分的方差。主成分分析可以作为因子分析的一种方法出现。

因子分析是寻找潜在的起支配作用的因子模型的方法。因子分析是根据相关性大小把变量分组,使得同组内的变量之间相关性较高,但不同的组的变量相关性较低,每组变量代表一个基本结构,这个基本结构称为公共因子。对于所研究的问题就可试图用最少个数的不可测的所谓公共因子的线性函数与特殊因子之和来描述原来观测的每一分量。通过因子分析得来的新变量是对每个原始变量进行内部剖析。因子分析不是对原始变量的重新组合,而是对原始变量进行分解,分解为公共因子和特殊因子两部分。具体地说,就是要找出某个问题中可直接测量的具有一定相关性的诸指标,如何受少数几个在专业中有意义、又不可直接测量到、且相对独立的因子支配的规律,从而可用各指标的测定来间接确定各因子的状态。因子分析只能解释部分变异,主成分分析能解释所有变异。

聚类分析算法是给定m?维空间R中的n个向量,把每个向量归属到k个聚类中的某一个,使得每一个向量与其聚类中心的距离最小。聚类可以理解为:?类内的相关性尽量大,类间相关性尽量小。聚类问题作为一种无指导的学习问题,目的在于通过把原来的对象集合分成相似的组或簇,来获得某种内在的数据规律。?????从三类分析的基本思想可以看出,聚类分析中并没于产生新变量,但是主成分分析和因子分析都产生了新变量。

聚类分析

标签:

原文地址:http://www.cnblogs.com/xmdata-analysis/p/5452653.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!