华佗养生网
您的当前位置:首页聚类分析实习

聚类分析实习

来源:华佗养生网
聚类分析实习

一、实验目的

1)熟悉聚类分析中Q型和R型的区别,掌握SPSS软件中实现聚类分析的过程和参数选择。

2)结合专业背景知识解释聚类结果。

二、实验原理

1.聚类分析是研究“物以类聚”的一种科学有效方法,人们在认识世界的过程中,需要把某些方面相似的东西归成类,以便从中发现规律性,寻找其同与不同的特征。

聚类分析的主要思想是:根据事物本身的特性研究个体的分类,原则是同一类中的个体有较大的相似性,不同类中的个体差异很大。

2.聚类分析的实质是建立一种分类方法,它能将一批样本数据按照他们在性质上的亲密程度在没有先验知识的情况下自动进行分类,这里的类就是一个具有相似性的个体的集合,不同类之间具有明显的区别。

3..聚类分析是一种探索性的分析,在分类过程中,人们不必事先给出一个分类的标准,聚类分析能够从样本数据出发,自动进行分类,因此聚类分析不需要建模。

4.在地质研究领域,由于地质对象的复杂性,单靠定性标志或少量定量标志进行分类,常常不能揭示客观事物内在的本质差别和联系。很多分类常具有很大的主观性和任意性,分类常常不能反映客观实际,分类方案又经常因人而异,因此,多元统计分析中对客观事物进行分类的聚类方法已在地质研究中取得日益广泛的应用。

5.在具体进行聚类分析时,出于不同的目的和要求,可能选择不同的统计量和聚类方法,因此可出现不同的聚类结果。

三、相似性统计指标

聚类分析可以分为R型和Q型,对m个变量进行分类的方法,称为R型聚类法,常用的统计量称为“相关系数”;对n个样品进行分类的方法称为Q型聚类法,常用的统计量称为“距离”。

怎样衡量样品或者变量之间的相似性大小?假定有N个样品,每个样品有P变量来描述,可测的一个数组,以矩阵X表示:

1121Xp1121N222Np2pN

比较N个样品间相似性的Q型聚类分析,实际上是矩阵X的N列数据之间相似性对比;同理,p个变量之间的相似性的R型分析,是矩阵X的p行之间的比较。

矩阵X中任意两个样品或两个变量之间的相似性,表现在以下三个基本方面: ①描述两个样品或变量的两列或两行对应元素接近的程度 ②两列或两行对应元素成比例的程度 ③两列或两行对应元素消长关系的密切程度

因此,用于表示相似性的统计指标通常有距离系数、相似系数及相关系数三种。 (一)距离系数(dik)

常用于Q型聚类分析,每个样品视为p维空间中的一点,dik相当于p维空间中两点之间的距离,既两样品点接近的程度。聚类时聚类相近的样本属于一个类,聚类远的样本属于不同的类。

常用的方法有: 欧氏距离(Euclidean):

(xy)iii2欧氏距离平方(Squared Euclidean):

Chebychev: max|xi-yi| Block(绝对距离): Σ|xi-yi| Minkowski:

(xy)iii2(|xiyi|)(|xiyi|)p1pCustomized距离(用户自定义距离):

1pq类Gp与类Gq之间的距离Dpq:

(d(xi,xj)表示点xi∈ Gp和xj ∈ Gq之间的距离) 最短距离法: 最长距离法: 重心法: 类平均法: 离差平方和法。

dik越小,两样品越相似,即 X矩阵中第i列与第k列对应的元素越接近。

用距离系数时,如果变量之间相关性大时,相关性越大,dik越不可靠。因此,若变量

Dpqmind(xi,xj)Dpqmaxd(xi,xj)Dpqmind(xp,xq)1Dpqd(xi,xj)n1n2xiGpxjGq不时,进行Q型聚类前可先进行R型因子分析,把变量变为互不相关的新变量(用因子得分去代替原始变量),再求距离系数—主因子距离系数。

(二)相似性系数

常用于Q型聚类分析,是把第i、k样品看成p维空间中的两向量,两个样品之间的相似程度可由其向量间夹角的余弦来表示,公式为:

cosikpjijkp2jkj12jij1j1p式中:i、k=1,2,…,N(i≠k)为样品号,j=1,2,…,p为变量号。 (三)相关系数

多用于R型聚类分析以表示研究对象之间的相关性,其公式为:

riji1ntiijij2i1ntit2i1njij式中:t、j=1,2,…,p(t≠j)为变量号;i=1,2,…,n为样品号。r的取值范围是+1与-1之间,|r|值越大表示两变量之间关系越密;|r|值越小表示关系越不密切

注意:在应用上述所有相似性统计指标计算时,由于测定样品的各种特征所用的量纲及各种标志值的变化幅度可能不同。为了避免过分突出那些绝对值较大的变量在分类中的作用,在进行聚类分析之前,需要对原始数据进行处理,应对数据进行标准化或正规化变化。

四、聚类方法

层次聚类法、K-均值聚类法(快速聚类法)。

(一)层次聚类法:基本思想是:先将要归类的n个样品(或者变量)各自看成一

类,共有n类;然后按照事先规定好的方法计算分类统计量,即某种距离或某种相似系数,将关系最密切的两类并为一类,其余不变,即得n-1类;又按前面使用的计算新类与其它类的距离或者相似系数,又将关系最密切的两类并成一类,其余不变,即得n-2类;如此进行下去,每次重复都减少一类,直到最后所有样品(或者变量)归为一类为止。显然,越是后来合并的类,距离就越远。最后再利用一些相应的指标来确定聚为几类的结果是最为合适的。

(二)快速聚类法 (K-均值聚类法):类别个数需要在分析前就加以确定,整个

分析过程使用迭代的方式进行,首先起步于一个初始的分类,然后通过不断的迭代把数据在不同类别之间移动,直到最后达到一定的标准为止,整个计算过程中不需要存储基本数据或

者距离矩阵,因此不会出现多个互相嵌套的聚类结果,而计算速度也要快得多。

快速聚类法先对数据进行初始分类,然后逐步调整,得到最终分类。计算过程如下: ①首先需要用户指定聚类成多少类(比如k类)

②然后对数据进行初始分类,即确定k个类的初始类中心点。SPSS会根据样本数据的实际情况,选择k个有代表性的样本作为初始类中心点。如果用户的经验比较丰富,初始类中心点也可以由用户自行指定,需要指定k组样本数据作为初始类中心点。

③计算所有样本数据点到k个类中心点的欧氏距离,按照距离最短原则,把所有样本分配到各中心点所在的类中,选出一个新的k类,完成一次迭代过程。

④重新确定k个类的中心点。计算每个类中各个变量的变量值平均数,并以此均值点作为新的类中心点。

重复上面两步计算过程,直到达到指定的迭代次数或终止迭代的判别要求为止。

五、SPSS实现聚类分析过程参数说明

(一)层次聚类分析中的Q型聚类

【例】对一个班10位学生的数学水平进行聚类,数据见下表:

在菜单中选择层次聚类如下图:

在弹出的对话框中作如下选择:

这里选择‘姓名’变量作为标签变量将增强聚类分析结果的可读性。

 点击‘统计量’按钮,见如下对话框:

本例选择如图所示。

‘合并进程表’项,将输出层次聚类分析的合并进程表。 ‘相似性矩阵’项,将显示各样本的距离矩阵。 ‘聚类成员’框中: ‘无’:不显示类成员构成。

‘单一方案’:其后的‘聚类数’中的数值n表示仅显示聚类成n类时,各个类的成员。 ‘方案范围’:指定显示聚类成n1类到n2类时,各个类的成员。

 点击‘绘制’按钮,得到如下对话框:

本例选择如图。

SPSS层次聚类的图形结果有两种方式

输出树状图(Dendrogram)

树形图以树的形式展现聚类分析的每一次合并过程,SPSS首先将各类之间的距离重

新转换到 0~25之间,然后再近似地表示在图上。树形图可以粗略地表现聚类的过程。选中‘系统树形图’项,即可输出树形图。

输出冰柱图(Icicle)

冰柱图通过表格中的“X”符号显示,其样子很像冬天房屋下的冰柱。SPSS默认输出聚类全过程的冰柱图(所有聚类)。

选择‘聚类的指定全距’项,并输入从第几类开始显示 (Start:),到第几类结束显示(Stop),中间几个几类(By:),则可以指定显示聚类中某一阶段的冰柱图。如果选择None则不输出冰柱图。

 点击‘方法’按钮,得到如下对话框:

本例选择如图。

‘聚类方法’下拉框中指定的是小类之间的距离计算方法。SPSS提供了7种方法供用户选择:

1 组间联接: 类间平均链锁法。 2 组内联接: 类内平均链锁法。 3 最近邻元素: 最近距离法。 4 最远邻元素: 最远距离法。 5 质心聚类法: 重心法。 6 中位数聚类法: 中间距离法。 7 Ward: 离差平方和法。 SPSS默认的是类间平均链锁法。

在‘测量’框中选择计算样本距离的方法,选项如下: ‘间距’适合于连续性变量,系统提供8种方法供用户选择

1 Euclidean distance,欧氏距离。

2 Squared Euclidean distance(系统默认方式),欧氏距离平方。 3 Cosine:变量矢量的余弦,这是模型相似性的度量。 4 Pearson correlation:相关系数距离,适用于R型聚类。 5 Chebychev,Chebychev距离。 6 Block:City-Block或Manhattan距离。 7 Minkowski,Minkowski距离。 8 Customized, 用户自定义距离。

‘计数’适合于顺序或名义变量,系统提供两种选择方式: 1 Chi-square measure,SPSS默认方式。 2 Phi-square measufe,这是φ2统计量。

‘二值’适用于二值变量,系统提供多种选择方式,默认的是二元欧氏距离平方。

 点击‘保存’按钮,得到如下对话框:

本例选择如图。

该对话框中将SPSS层次聚类分析的最终结果以变量的形式保存到SPSS数据编辑窗口中。

输出结果:

层次聚类分析的概要结果:

案例处理汇总 案例 有效 N 10 百分比 100.0 N 0 缺失 百分比 .0 N 10 总计 百分比 100.0 aa. 平均联结(组之间) 可见,10个样本全部参与了聚类。

下表为各样本的距离矩阵: 近似矩阵 平方 Euclidean 距离 案例 1:周大 2:吴二 3:张三 4:李四 5:王五 6:赵六 7:韩七 8:陈八 9:魏九 10:钱十 .000 202.000 724.000 500.000 976.000 2610.000 521.000 1060.000 3285.000 5.000 1:周大 2:吴二 202.000 .000 162.000 122.000 290.000 1360.000 85.000 338.000 1873.000 265.000 .000 104.000 20.000 586.000 49.000 32.000 937.000 841.000 .000 196.000 1010.000 181.000 200.000 1325.000 605.000 .000 394.000 97.000 4.000 709.000 1109.000 3:张三 724.000 162.000 4:李四 500.000 122.000 104.000 5:王五 976.000 290.000 20.000 196.000 6:赵六 2610.000 1360.000 586.000 1010.000 394.000 .000 845.000 346.000 81.000 2825.000 .000 137.000 1322.000 610.000 .000 625.000 1201.000 .000 3536.000 .000 7:韩七 521.000 85.000 49.000 181.000 97.000 845.000 8:陈八 1060.000 338.000 32.000 200.000 4.000 346.000 137.000 9:魏九 3285.000 1873.000 937.000 1325.000 709.000 81.000 1322.000 625.000 10:钱十 这是一个不相似矩阵 5.000 265.000 841.000 605.000 1109.000 2825.000 610.000 1201.000 3536.000 从该表可以看出各个样本之间的距离。

凝聚状态表: 聚类表 群集组合 阶 1 2 3 4 5 6 7 8 9 群集 1 5 1 3 6 2 2 2 1 1 群集 2 8 10 5 9 7 4 3 2 6 系数 4.000 5.000 26.000 81.000 85.000 151.500 174.778 717.833 1474.250 首次出现阶群集 群集 1 0 0 0 0 0 5 6 2 8 群集 2 0 0 1 0 0 0 3 7 4 下一阶 3 8 7 9 6 7 8 9 0 上表有七列,第一列表示聚类分析的步骤,本例共进行了9个步骤的分析。第二列、第三列表示某步聚类分析中,哪两个样本或类聚成了一类。第四列表示该步聚类的两个样本或类间的距离。第五列、第六列表示该步聚类分析中,参与聚类的是样本还是类,0表示参与聚类的是样本,非零数字n表示参与聚类的是第n步聚类所产生的类。第七列表示本步聚类结果将在下面聚类的第几步中用到。

下表为层次聚类分析聚成3个类时,样本的类归属表:

群集成员 案例 1:周大 2:吴二 3:张三 4:李四 5:王五 6:赵六 7:韩七 8:陈八 9:魏九 10:钱十 3 群集 1 2 2 2 2 3 2 2 3 1

冰柱图:

图中第一列表示类的数目。观察时一般从最后一行开始。最后一行中,类的数目为9,即样本聚成了9类,其中样本5和样本8用■连接在了一起,表示两个样本聚成一类,其余每个样本构成一类。倒数第二行中,类的数目为8,即样本聚成了8类,其中样本1和样本10聚成一类。

树形图:

* * * * * * * H I E R A R C H I C A L C L U S T E R A N A L Y S I S * * * * * * *

Dendrogram using Average Linkage (Between Groups)

Rescaled Distance Cluster Combine

C A S E 0 5 10 15 20 25 Label Num +---------+---------+---------+---------+---------+

王五 5 -+ 陈八 8 -+---+

张三 3 -+ +-------------------+ 吴二 2 ---+-+ |

韩七 7 ---+ | +-----------------------+ 李四 4 -----+ | | 周大 1 -+-----------------------+ | 钱十 10 -+ | 赵六 6 ---+---------------------------------------------+ 魏九 9 ---+

聚类成3类时,各个样本的类归属情况保存为一个变量:

(二)层次聚类分析中的R型聚类

【例】对一个班同学的各科成绩进行聚类,数据如下:

各参数设置如下:

菜单中的“分析→分类→系统聚类”

输出结果:

案例处理摘要 案例 有效 N 10 百分比 100.0% N 0 缺失 百分比 .0% N 10 合计 百分比 100.0% aa. 值向量间的相关性 已使用

近似矩阵 矩阵文件输入 案例 数学 物理 语文 政治 数学 1.000 .931 -.154 -.191 物理 .931 1.000 -.280 -.311 语文 -.154 -.280 1.000 .997 政治 -.191 -.311 .997 1.000 聚类表 群集组合 阶 1 2 3 群集 1 3 1 1 群集 2 4 2 3 系数 .997 .931 -.234 首次出现阶群集 群集 1 0 0 2 群集 2 0 0 1 下一阶 3 3 0 群集成员 案例 数学 物理 语文 政治 2 群集 1 1 2 2

* * * * * * * H I E R A R C H I C A L C L U S T E R A N A L Y S I S * * * * * * **

Dendrogram using Average Linkage (Between Groups)

Rescaled Distance Cluster Combine

C A S E 0 5 10 15 20 25 Label Num +---------+---------+---------+---------+---------+

语文 3 -+-----------------------------------------------+ 政治 4 -+ | 数学 1 ---+---------------------------------------------+ 物理 2 ---+

(三)快速聚类

【例】对一个班10位学生的数学水平进行快速聚类,数据见下表:

各参数设置如下:

选择菜单中的“分析→分类→ K-均值聚类”

在上表的‘方法’框中,选择类中心点的确定方法。有两种确定方法:

迭代与分类:先定初始类中心点,然后按k-均值计算作迭代分类。 仅分类:仅按初始类中心点分类,仅作一次迭代计算。

点击(迭代)按钮,打开如下对话框:

该对话框用于确定快速聚类分析的迭代终止条件。

最大迭代次数框:指定最大的迭代次数,迭代达到该次数时,终止聚类分析过程。SPSS默认为10次。

收敛性标准框:为迭代的距离收敛标准。当新一次迭代形成的若干个类中心

点和上次的类中心点间的最大距离小于该指定值时,终止聚类分析过程。SPSS默认值为0。

使用运行中均值:选中该项,表示每当一个样本分配到一类后,重新计算新的类中心点,快速距离分析的类中心点将与样本进入的先后顺序有关;不选中该项,则完成所有样本依次类分配后计算各类中心点,这种方式可以节省运算时间,尤其是样本容量较大的时候。

点击(保存)按钮,打开如下对话框:

该对话框可以指定将SPSS快速聚类分析的结果以变量的形式保存到SPSS的数据编辑窗口中。

聚类成员:表示将所有样本所属类的类号保存到变量QCL_1中。 从聚类中心的距离:表示将所有样本距所属类中心点的欧氏距离保存到变量QCL_2中。

点击(选项)按钮,打开如下对话框:

该对话框可以选择输出其他哪些聚类分析的结果,并指定对缺失数据的处理方法。

输出结果:

SPSS指定的初始类中心点: 初始聚类中心 入学数学 复试 1 100.00 100.00 聚类 2 60.00 56.00 3 79.00 87.00

快速聚类分析的迭代历史过程表: 迭代历史记录 聚类中心内的更改 迭代 1 2 1 1.118 .000 2 4.500 .000 3 5.956 .000 aa. 由于聚类中心内没有改动或改动较小而达到收敛。任何中心的最大绝对坐标更改为 .000。当前迭代为 2。初始中心间的最小距离为 24.698。

可见总共进行了两次迭代。其中的数值为每次迭代后形成的类中心点与前次类中心点的距离。

快速聚类分析后的各个类包含样本的情况: 聚类成员 案例号 1 2 3 4 5 6 7 8 9 10 姓名 周大 吴二 张三 李四 王五 赵六 韩七 陈八 魏九 钱十 聚类 1 3 3 3 3 2 3 3 2 1 距离 1.118 10.495 2.267 8.821 6.719 4.500 5.956 7.904 4.500 1.118

最终的类中心点位置: 最终聚类中心 入学数学 复试 1 99.50 99.00 聚类 2 60.00 60.50 3 80.83 81.33

最终的类中心点之间的距离: 最终聚类中心间的距离 聚类 1 2 3 1 2 55.159 3 25.701 29.463 55.159 25.701 29.463

快速聚类分析后形成的各类样本之间的单因素方差分析结果: ANOVA 入学数学 复试 均方 聚类 df 2 2 均方 误差 df 7 7 F 28.297 28.030 Sig. .000 .000 781.533 744.133 27.619 26.548 F 检验应仅用于描述性目的,因为选中的聚类将被用来最大化不同聚类中的案例间的差别。观测到的显著性水平并未据此进行更正,因此无法将其解释为是对聚类均值相等这一假设的检验。 由上表可见,对于变量‘入学数学’,它的平均组间平方和为781.533,平均组内平方和为27.619,F统计量为28.297,F统计量的相伴概率小于显著性水平0.01,因此认为,对该变量3个类的成绩之间存在显著差异。对于‘复试’变量,它的平均组间平方和为744.133,平均组内平方和为26.548,F统计量为28.030,F统计量的相伴概率小于显著性水平0.01,因此认为,对该变量3个类的成绩之间存在显著差异。

因此从3个类的单因素方差分析看,将样本分成3个类的快速聚类分析是成功的,聚类效果比较理想。

三个类中分别包含的样本个数: 每个聚类中的案例数 聚类 1 2 3 有效 缺失 2.000 2.000 6.000 10.000 .000

两个新变量,分别表示样本所属类及样本和类中心点的距离:

下表是前面用层次聚类分析聚类成3类时的情形,可以比较一下两种方法的聚类结果:

五、聚类分析方法作业

现有某矿床围岩测试分析数据见下表,应用SPSS统计软件对数据进行:①Q型层次聚类分析处理;②快速聚类分析处理。并解释其地质意义。 编号 1 2 3 4 5 6 岩石类型 蛇纹岩 蛇纹岩 蛇纹岩 滑镁岩 滑镁岩 滑镁岩 矿化情况 a组矿化 无矿化 无矿化 b组矿化 无矿化 无矿化 Ni 3.28 3.37 2.87 3.44 3.25 2.02 Co 2.44 1.9 1.41 2.44 1.97 1. 含量(%) Cu Cr 2.2 3.07 0.78 3.5 0 2.92 2.18 3.38 1.11 3.5 0.78 3.32 S 3.91 2.77 2.63 3.92 1.73 2.02 As 0.6 1.15 0.48 1.57 0 0.6

因篇幅问题不能全部显示,请点此查看更多更全内容