系统(层次)聚类法及Spss实现

目录

一.定义

二.思想

三.举例

四.系统聚类法的Spss实现

五.结语


一.定义

系统聚类法(hierarchjcal cluster method)一译"分层聚类法"。聚类分析的一种方法。其做法是开始时把每个样品作为一类,然后把最靠近的样品(即距离最小的群品)首先聚为小类,再将已聚合的小类按其类间距离再合并,不断继续下去,最后把一切子类都聚合到一个大类。

注:类间距离与样品间距离

下面是我自己的理解:类可以由一个或多个样品组成,那么如果类仅由一个样品组成,类间距离与样品间距离相等;如果类由多个样品组成,那么就要定义类间距离了。主要的定义有以下几个:

1.最短距离法

2.最长距离法

3.组间平均连接法

4.组内平均连接法

5.重心法

6.可变平均法

7.离差平方和法

在这里(系统聚类法)计算类间距离时我们使用最短距离法:系统(层次)聚类法及Spss实现_第1张图片

如图所示,左边一类中包含五个点,右边包含三个点,其中1点和2点之间的距离为所有点之间距离最小的,所以1点和2点之间的距离即为这两类的最短距离。

自然地,我们想到,如何计算1点与2点间距离呢?

这就是刚刚提到的样品间距离,最常用的定义即为欧氏距离(EuclideanDistance),源自欧氏空间中两点间的距离公式。

二维空间的欧氏距离公式

d = sqrt( (x1-x2)^2+(y1-y2)^2 )

如:定义a=[1,5],b=[2,1],求解a与b向量之间的欧氏距离(使用matlab实现)

a=[1,5],b=[2,1];
c=[a;b];
pdist(c,'euclidean')

三维空间的欧氏距离公式

d = sqrt( (x1-x2)^2+(y1-y2)^2+(z1-z2)^2 )

n维空间的欧氏距离公式

n维欧氏空间是一个点集,它的每个点 X 可以表示为 (x[1]x[2]…x[n]),那么设点X1(x[1]x[2]…x[n])与点X2(y[1]y[2]…y[n])之间的距离可以表示为

d=\sum sqrt((xn-yn)^2)

二.思想

对于系统聚类的思想,我用流程图来表示:

设初始样本有n个,每个样本自成一类。

系统(层次)聚类法及Spss实现_第2张图片

三.举例

设某地牛奶产量可用质量指标X来衡量,现有五瓶新鲜牛奶,X的值分别为1.5,2.5,5,6.5,8.5。请使用系统聚类法对五瓶牛奶进行分类。

解:设样品间距离使用欧氏距离,类间距离使用最短距离,并记样品分别为X1、X2、X3、X4、X5。

1)计算距离如表所示

X1 X2 X3 X4 X5
X1 0 1 3.5 5 7
X2 0 2.5 4 6
X3 0 1.5 3.5
X4 0 2
X4 0

2)将X1与X2聚为一类,记为N1

N1 X3 X4 X5
N1 0 2.5 4 6
X3 0 1.5 2.5
X4 0 2
X5 0

3)将X3与X4聚为一类,记为N2

N1 N2 X5
N1 0 2.5 6
N2 0 2
X5 0

4)将N2与X5聚为一类,记为N3

N1 N3
N1 0 2.5
N3 0

5)将N1与N3聚为一类,结束

6)画出谱系结构图(此处自己处理数据并画图较为复杂,我们略去,下一部分使用Spss模拟并画图)

四.系统聚类法的Spss实现

1)数据的导入(此数据不具有实际意义仅为演示需要)

系统(层次)聚类法及Spss实现_第3张图片

这是我们excel表里的数据,文件名为“milk.xlsx"

系统(层次)聚类法及Spss实现_第4张图片

 接着我们打开Spss24(版本过低可能有些功能无法实现)

系统(层次)聚类法及Spss实现_第5张图片

系统(层次)聚类法及Spss实现_第6张图片

 现在我们成功地导入了数据,可以进行下一步了。

2)可以开始聚类分析了

系统(层次)聚类法及Spss实现_第7张图片

本处冒昧纠正一点小问题,Spss把我们的几种聚类设置在了分类栏目下,但实际上我们知道聚类和分类完全是两个不同的概念。

系统(层次)聚类法及Spss实现_第8张图片

选择V2为变量,V1为个案标注依据。

 系统(层次)聚类法及Spss实现_第9张图片

 在”图“地栏目下勾选“谱系图”

3)生成分析结果

个案处理摘要a,b

个案

有效

缺失

总计

个案数

百分比

个案数

百分比

个案数

百分比

5

100.0

0

.0

5

100.0

a.  平方欧氏距离 使用中

b. 平均联接(组间)

 系统(层次)聚类法及Spss实现_第10张图片

此处还默认生成垂直冰柱图,但一般情况下参考意义不大。

五.结语

到这里系统聚类法的分享就结束了。

祝:岁岁常欢愉。

 

 

 

你可能感兴趣的:(聚类算法,聚类,算法,机器学习)