⑴ 聚类分析(Cluster Analysis)
聚类,将相似的事物聚集在一起,将不相似的事物划分到不同的类别的过程。是将复杂数据简化为少数类别的一种手段。
设有m个样本单位,每个样本测的n项指标(变量),原始资料矩阵:
指标的选择非常重要:
必要性要求:和聚类分析的目的密切相关,并不是越多越好
代表性要求:反映要分类变量的特征
区分度要求:在不同研究对象类别上的值有明显的差异
独立性要求:变量之间不能高度相关(儿童生长身高和体重非常相关)
散布性要求:最好在值域范围内分布不太集中
在各种标准量度值scale差异过大时,或数据不符合正态分布时,可能需要进行数据标准化。
(1) 总和标准化 。 分别求出各聚类指标所对应的数据的总和, 以各指标的数据除以该指标的数据的总和。
根据聚类对象的不同,分为Q型聚类,R型聚类
(1)常见距离统计量 - 闵可夫斯基距离系列(线性距离)
p=2,时为欧氏距离(n维空间中的几何距离)
p=∞,时为切比雪夫距离(棋盘格距离)
(2)常见距离统计量 - 马氏距离(协方差距离)
均值为μ,协方差矩阵为∑的向量x=(1,2,...n)
相比于欧式距离,马氏距离考虑到各种指标之间的联系(如身高和体重并不独立,)且马氏距离具有尺度无关性(scale-invariant),因此可不必做标准化。
如果协方差矩阵为单位矩阵(各指标之间完全相互独立),则马氏距离化为欧几里得距离。
如果协方差矩阵为对角矩阵,则马氏距离化为正规化的欧几里得距离(normalized Euclidean distance)
(3)常见距离统计量 - 文本距离
文本距离通常用来度量文本之间的相似度,在生物研究中常见于序列比对分析。
常见相似系数统计量
相似系数= 1,表明完全相似
相似系数= -1 表明完全相反
相似系数 = 0 表明完全独立
相关系数:
类与类之间 距离的度量方法:
系统聚类法不仅需要度量个体与个体之间的距离,还要度量类与类之间的距离。类间距离被度量出来之后,距离最小的两个小类将首先被合并成为一类。 由类间距离定义的不同产生了不同的系统聚类法。
目前有1000多种聚类算法:没有一种聚类算法可以包打天下,聚类算法中的各种参数也必须依据具体问题而调节
常见聚类算法的分类:
1,层次聚类(Hierarchical clustering)
2,划分聚类(Partitioning clustering)
3,密度聚类(Density-based)
4,期望最大化聚类(Expectation Maximization)
5,网格聚类(Grid-based)
6,模型聚类(Model-based)
1. 层次聚类的方法
基本思想:
在聚类分析的开始,每个样本(或变量)自成一类; 然后,按照某种方法度量所有样本(或变量)之间的亲疏程度,并把最相似的样本(或变量)首先聚成一小类; 接下来,度量剩余的样本(或变量)和小类间的亲疏程度,并将当前最接近的样本(或变量)与小类聚成一类;如此反复,知道所有样本聚成一类为止。
举例:
有一组数据D={a,b,c,d,e} 给了它们之间的距离矩阵。
首先,每一个例子都是一个类:
2. 划分聚类的方法
划分聚类算法:
给定一个包含n个样本的数据集,基于划分的方法(Partitioning Method)就是将n个样本按照特定的度量划分为k个簇(k≤n),使得每个簇至少包含一个对象,并且每个对象属于且仅属于一个簇,而且簇之间不存在层次关系。
基于划分的方法大多数是基于距离来划分的,首先对样本进行初始化分,然后计算样本间的距离,重新对数据集中的样本进行划分,将样本划分到距离更近的簇中,得到一个新的样本划分,迭代计算直到聚类结果满足用户指定的要求。
要想得到最优的聚类结果,算法需要穷举数据集所有可能的划分情况,但是在实际应用中数据量都比较大,利用穷举方法聚类显然是不现实的,因此大部分基于划分的聚类方法采用贪心策略,即在每一次划分过程中寻求最优解,然后基于最优解进行迭代计算,逐步提高聚类结果的质量。虽然这种方式有可能得到局部最优结果,但是结合效率方面考虑,也是可以接受的。
算法:
举例:
有一个二维空间的一些点,我们要将它们分成3个类,即K=3。
我们首先随机选择3个初始质心,每一个质心为一类:
然后我们计算每一个不是质心的点到这三个质心的距离:
将这些点归类于距离最近的那个质心的一类:
重新计算这三个分类的质心:
不断重复上述两步,更新三个类:
当稳定以后,迭代停止,这时候的三个类就是我们得到的最后的三个:
最着名的是k-means聚类算法和K-medoids算法(中心点聚类)
处理“大海中的若干孤岛”,以密度来区分岛
大部分基于密度的方法(Density-based Method)采用距离度量来对数据集进行划分,在球状的数据集中能够正确划分,但是在非球状的数据集中则无法对样本进行正确聚类,并且受到数据集中的噪声数据影响较大。基于密度的方法可以克服这两个弱点。
基于密度的方法提出“密度”的思想,即给定邻域中样本点的数量,当邻域中密度达到或超过密度阈值时,将邻域内的样本包含到当前的簇中。若邻域的密度不满足阈值要求,则当前的簇划分完成,对下一个簇进行划分。基于密度的方法可以对数据集中的离群点进行检测和过滤。
算法 :
基于网格的方法(Grid-based Method)将数据集空间划分为有限个网格单元,形成一个网络结构,在后续的聚类过程中,以网格单元为基本单位进行聚类,而不是以样本为单位。由于算法处理时间与样本数量无关,只与网格单元数量有关,因此这种方法在处理大数据集时效率很高。基于网格的方法可以在网格单元划分的基础上,与基于密度的方法、基于层次的方法等结合使用。
基于模型的方法(Model-based Method)假定数据集满足一定的分布模型,找到这样的分布模型,就可以对数据集进行聚类。基于模型的方法主要包括基于统计和基于神经网络两大类,前者以高斯混合模型(Gaussian Mixture Models,GMM)为代表,后者以自组织映射网络(Self Organizing Map,SOM)为代表。目前以基于统计模型的方法为主。
以下内容后续补充:
数据示例:
数据示例:
为了有效利用聚类算法, 首先需要度量观测值见的距离,在R中常通过stats包里的dist函数来实现:
dist(x, method = "euclidean", diag = FALSE, upper = FALSE, p = 2)
dist 函数计算对象(矩阵或数据框)中两两间的距离,返回的是距离矩阵(dist类对象)。dist函数的参数描述如下。
另一个计算点之间的距离的方法是cluster包里面的daisy函数:
daisy函数计算数据集中每对观测值的不相似度。daisy函数的参数描述如下:
k-means聚类是最简单的聚类算法之一。R中可以通过stats包里面的kmeans函数实现k-means聚类:
kmeans(x, centers, iter.max = 10, nstart = 1, algorithm = c("Hartigan-Wong", "Lloyd", "Forgy", "MacQueen"), trace=FALSE)
kmeans函数的参数描述如下:
⑵ 聚类分析法
聚类分析,亦称群分析或点分析,是研究多要素事物分类问题的数量方法。其基本原理是,根据样本自身的属性,用数学方法按照某些相似性或差异性指标,定量地确定样本之间的亲疏关系,并按亲疏关系的程度对样本进行聚类(徐建华,1994)。
聚类分析方法,应用在地下水中,是在各种指标和质量级别标准约束条件下,通过样品的各项指标监测值综合聚类,以判别地下水质量的级别。常见的聚类分析方法有系统聚类法、模糊聚类法和灰色聚类法等。
(一)系统聚类法
系统聚类法的主要步骤有:数据标准化、相似性统计量计算和聚类。
1.数据标准化
在聚类分析中,聚类要素的选择是十分重要的,它直接影响分类结果的准确性和可靠性。在地下水质量研究中,被聚类的对象常常是多个要素构成的。不同要素的数据差异可能很大,这会对分类结果产生影响。因此当分类要素的对象确定之后,在进行聚类分析之前,首先对聚类要素进行数据标准化处理。
假设把所考虑的水质分析点(G)作为聚类对象(有m个),用i表示(i=1,2,…,m);把影响水质的主要因素作为聚类指标(有n个),用j表示(j=1,2,…,n),它们所对应的要素数据可用表4-3给出。在聚类分析中,聚类要素的数据标准化的方法较多,一般采用标准差法和极差法。
表4-3 聚类对象与要素数据
对于第j个变量进行标准化,就是将xij变换为x′ij。
(1)总和标准化
区域地下水功能可持续性评价理论与方法研究
这种标准化方法所得的新数据x′ij满足
区域地下水功能可持续性评价理论与方法研究
(2)标准差标准化
区域地下水功能可持续性评价理论与方法研究
式中:
由这种标准化方法所得的新数据x′ij,各要素的平均值为0,标准差为1,即有
区域地下水功能可持续性评价理论与方法研究
(3)极差标准化
区域地下水功能可持续性评价理论与方法研究
经过这种标准化所得的新数据,各要素的极大值为1,极小值为0,其余的数值均在[0,1]闭区间内。
上述式中:xij为j变量实测值;xj为j变量的样本平均值;sj为样本标准差。
2.相似性统计量
系统聚类法要求给出一个能反映样品间相似程度的一个数字指标,需要找到能量度相似关系的统计量,这是系统聚类法的关键。
相似性统计量一般使用距离系数和相似系数进行计算。距离系数是把样品看成多维空间的点,用点间的距离来表示研究对象的紧密关系,距离越小,表明关系越密切。相似系数值表明样本和变量间的相似程度。
(1)距离系数
常采用欧几里得绝对距离,其中i样品与j样品距离dij为
区域地下水功能可持续性评价理论与方法研究
dij越小,表示i,j样品越相似。
(2)相似系数
常见的相似系数有夹角余弦和相关系数,计算公式为
1)夹角余弦
区域地下水功能可持续性评价理论与方法研究
在式(4-20)中:-1≤cosθij≤1。
2)相关系数
区域地下水功能可持续性评价理论与方法研究
式中:dij为i样品与j样品的欧几里得距离;cosθij为i样品与j样品的相似系数;rij为i样品与j样品的相关系数;xik为i样品第k个因子的实测值或标准化值;xjk为j样品第k个因子的实测值或标准化值;
3.聚类
在选定相似性统计量之后,根据计算结果构成距离或相似性系数矩阵(n×n),然后通过一定的方法把n个样品组合成不同等级的分类单位,对类进行并类,即将最相似的样品归为一组,然后,把次相似的样品归为分类级别较高的组。聚类主要有直接聚类法、距离聚类法(最短距离聚类法、最远距离聚类法)。
(1)直接聚类法
直接聚类法,是根据距离或相似系数矩阵的结构一次并类得到结果,是一种简便的聚类方法。它首先把各个分类对象单独视为一类,然后根据距离最小或相似系数最大的原则,依次选出一对分类对象,并成新类。如果一对分类对象正好属于已归的两类,则把这两类并为一类。每一次归并,都划去该对象所在的列与列序相同的行。经过n-1次把全部分类对象归为一类,最后根据归并的先后顺序作出聚类分析谱系图。
(2)距离聚类法
距离聚类法包括最短距离聚类法和最远距离聚类法。最短距离聚类法具有空间压缩性,而最远距离聚类法具有空间扩张性。这两种聚类方法关于类之间的距离计算可以用一个统一的公式表示:
区域地下水功能可持续性评价理论与方法研究
当γ=-0.5时,式(4-22)计算类之间的距离最短;当γ=0.5时,式(4-22)计算类之间的距离最远。
最短、最远距离法,是在原来的n×n距离矩阵的非对角元素中找出dpq=min(dij)或dpq=max(dij),把分类对象Gp和Gq归并为一新类Gr,然后按计算公式:
dpq=min(dpk,dqk)(k≠ p,q) (4-23)
dpq=max(dpk,dqk)(k≠ p,q) (4-24)
计算原来各类与新类之间的距离,这样就得到一个新的(n-1)阶的距离矩阵;再从新的距离矩阵中选出最小或最大的dij,把Gi和Gj归并成新类;再计算各类与新类的距离,直至各分类对象被归为一类为止。最后综合整个聚类过程,作出最短距离或最远距离聚类谱系图(图4-1)。
图4-1 地下水质量评价的聚类谱系图
(二)模糊聚类法
模糊聚类法是普通聚类方法的一种拓展,它是在聚类方法中引入模糊概念形成的。该方法评价地下水质量的主要步骤,包括数据标准化、标定和聚类3个方面(付雁鹏等,1987)。
1.数据标准化
在进行聚类过程中,由于所研究的各个变量绝对值不一样,所以直接使用原始数据进行计算就会突出绝对值大的变量,而降低绝对值小的变量作用,特别是在进行模糊聚类分析中,模糊运算要求必须将数据压缩在[0,1]之间。因此,模糊聚类计算的首要工作是解决数据标准化问题。数据标准化的方法见系统聚类分析法。
2.标定与聚类
所谓标定就是计算出被分类对象间的相似系数rij,从而确定论域集U上的模糊相似关系Rij。相似系数的求取,与系统聚类分析法相同。
聚类就是在已建立的模糊关系矩阵Rij上,给出不同的置信水平λ(λ∈[0,1])进行截取,进而得到不同的分类。
聚类方法较多,主要有基于模糊等价关系基础上的聚类与基于最大树的聚类。
(1)模糊等价关系方法
所谓模糊等价关系,是指具有自反性(rii=1)、对称性(rij=rji)与传递性(R·R⊆R)的模糊关系。
基于模糊等价关系的模糊聚类分析方法的基本思想是:由于模糊等价关系R是论域集U与自己的直积U×U上的一个模糊子集,因此可以对R进行分解,当用λ-水平对R作截集时,截得的U×U的普通子集Rλ就是U上的一个普通等价关系,也就是得到了关于U中被分类对象元素的一种。当λ由1下降到0时,所得的分类由细变粗,逐渐归并,从而形成一个动态聚类谱系图(徐建华,1994)。此类分析方法的具体步骤如下。
第一步:模糊相似关系的建立,即计算各分类对象之间相似性统计量。
第二步:将模糊相似关系R改造为模糊等价关系R′。模糊等价关系要求满足自反性、对称性与传递性。一般而言,模糊相似关系满足自反性和对称性,但不满足传递性。因此,需要采用传递闭合的性质将模糊相似关系改造为模糊等价关系。改造的方法是将相似关系R自乘,即
R2=R·R
R4=R2·R2
︙
这样计算下去,直到:R2k=Rk·Rk=Rk,则R′=Rk便是一个模糊等价关系。
第三步:在不同的截集水平下进行聚类。
(2)最大树聚类方法
基于最大树的模糊聚类分析方法的基本思路是:最大树是一个不包含回路的连通图(图4-2);选取λ水平对树枝进行截取,砍去权重低于λ 的枝,形成几个孤立的子树,每一棵子树就是一个类的集合。此类分析方法的具体步骤如下。
图4-2 最大聚类支撑树图
第一步:计算分类对象之间的模糊相似性统计量rij,构建最大树。
以所有被分类的对象为顶点,当两点间rij不等于0时,两点间可以用树干连接,这种连接是按rij从大到小的顺序依次进行的,从而构成最大树。
第二步:由最大树进行聚类分析。
选择某一λ值作截集,将树中小于λ值的树干砍断,使相连的结点构成一类,即子树,当λ由1到0时,所得到的分类由细变粗,各结点所代表的分类对象逐渐归并,从而形成一个动态聚类谱系图。
在聚类方法中,模糊聚类法比普通聚类法有较大的突破,简化了运算过程,使聚类法更易于掌握。
(三)灰色聚类法
灰色聚类是根据不同聚类指标所拥有的白化数,按几个灰类将聚类对象进行归纳,以判断该聚类对象属于哪一类。
灰色聚类应用于地下水水质评价中,是把所考虑的水质分析点作为聚类对象,用i表示(i=1,2,…,n);把影响水质的主要因素作为聚类指标,用j表示(j=1,2,…,m),把水质级别作为聚类灰数(灰类),用k表示(k=1,2,3)即一级、二级、三级3个灰类(罗定贵等,1995)。
灰色聚类的主要步骤:确定聚类白化数、确定各灰色白化函数fjk、求标定聚类权重ηjk、求聚类系数和按最大原则确定聚类对象分类。
1.确定聚类白化数
当各灰类白化数在数量上相差悬殊时,为保证各指标间的可比性与等效性,必须进行白化数的无量纲化处理。即给出第i个聚类对象中第j个聚类指标所拥有的白化数,i=1,2,…,n;j=1,2,…,m。
2.确定各灰色白化函数
建立满足各指标、级别区间为最大白化函数值(等于1),偏离此区间愈远,白化函数愈小(趋于0)的功效函数fij(x)。根据监测值Cki,可在图上(图4-3)解析出相应的白化函数值fjk(Cik),j=1,2,…,m;k=1,2,3。
3.求标定聚类权重
根据式(4-25),计算得出聚类权重ηjk的矩阵(n×m)。
区域地下水功能可持续性评价理论与方法研究
式中:ηjk为第j个指标对第k个灰类的权重;λjk为白化函数的阈值(根据标准浓度而定)。
图4-3 白化函数图
注:图4-3白化函数f(x)∈[0,1],具有下述特点:①平顶部分,表示该量的最佳程度。这部分的值为最佳值,即系数(权)为1,f(x)=max=1(峰值),x∈[x2,x3]。②白化函数是单调变化的,左边部分f(x)=L(x),单调增,x∈(x1,x2],称为白化的左支函数;右边部分f(x)=R(x),单调减,x∈[x3,x4),称为白化的右支函数。③白化函数左右支函数对称。④白化函数,为了简便,一般是直线。⑤白化函数的起点和终点,一般来说是人为凭经验确定。
4.求聚类系数
σik=∑fjk(dij)ηjk (4-26)
式中:σik为第i个聚类对象属于第k个灰类的系数,i=1,2,…,n;k=1,2,3。
5.按最大原则确定聚类对象分类
由σik构造聚类向量矩阵,行向量最大者,确定k样品属于j级对应的级别。
用灰色聚类方法进行地下水水质评价,能最大限度地避免因人为因素而造成的“失真、失效”现象。
聚类方法计算相对复杂,但是计算结果与地下水质量标准级别对应性明显,能够较全面反映地下水质量状况,也是较高层次定量研究地下水质量的重要方法。