当前位置:文档之家› 第二讲 聚类分析

第二讲 聚类分析


x6
11.05
14.59 9.42
x7
2.04
2.75 1.55
x8
13.29
14.87 9.76
7.90
7.68 9.42
甘肃4
青海5
9.16
10.06
27.98
28.64
9.01
10.52
9.32
10.05
15.99
16.18
9.10
8.39
1.82
1.96
11.35
10.81
2013-6-23
Y:pdist函数返回的距离向量; method:可取值如下: ‘single’:最短距离法(默认); ‘complete’:最长距离法; ‘average’:未加权平均距离法; ‘weighted’: 加权平均法; ‘centroid’: 质心距离法; ‘median’:加权质心距离法; ‘ward’:内平方距离法(最小方差算法) 返回:Z为一个包含聚类树信息的(m-1)×3的矩阵。
2013-6-23 21
得到矩阵
G 7 G 8 D3 G 7 0 G8 12.80 0
最后合并为一个大类。这就是按最短距离定义类间距离的 系统聚类方法。最长距离法类似!
2013-6-23
22
2.1 系统聚类法
2.1.2系统聚类法的matlab函数
一种是利用 clusterdata函数对样本数据进行一次 聚类,其缺点为可供用户选择的面较窄,不能更改距 离的计算方法; 另一种是分步聚类: (1)找到数据集合中变量两两之间的相似性和非相 似性,用pdist函数计算变量之间的距离; (2)用 linkage函数定义变量之间的连接; ( 3)用 cophenetic函数评价聚类信息; (4)用cluster函数创建聚类。
dij 0, 对于一切i, j dij 0, 等价于样本i与样本j的指标相同 dij=d ji,对于一切i, j dij dik d kj , 对于一切i, j, k
2013-6-23 10
block distance 绝对值距离:
euclidean distance 欧式距离
d
xit x jt t 1
17
2013-6-23
例6 为了研究辽宁等5省某年城镇居民生 活消费情况的分布规律,根据调查资料做类型 分类,用最短距离做类间分类。数据如下: x1
辽宁1
浙江2 河南3
x2
39.77
50.37 27.93
x3
8.49
11.35 8.20
x4
12.94
13.30 8.14
x5
19.27
19.25 16.17
18
将每一个省区视为一个样本,先计算5个省区之间 的欧式距离,用D0表示距离矩阵(对称阵,故给出下 三角阵)
辽宁 浙江 D0 河南 甘肃 青海 1 1 0 2 11.67 3 13.80 4 13.12 5 12.80 2 0 24.63 24.06 23.54 3 5 0 2.21 0 4
p
d
x x
p t 1 it jt
2
squared euclidean distance 平方欧式距离 p 2 d xit x jt chebychev distance 切比雪夫距离
d Max
t
t 1
x x
it
jt
minkowski distance 明考斯基距离 (明氏距离)
B
D
2013-6-23
13
1.2系统聚类法的预备知识
3 类间的距离
(2)最长距离法(COMplete method)
2013-6-23
14
1.2系统聚类法的预备知识
3 类间的距离
(3)重心法(CENtroid method)
2013-6-23
15
1.2系统聚类法的预备知识
3 类间的距离
(4)类平均法(AVErage method)
19

得到新矩阵
G6 G1 G 2 G 5 G 6 0 D1 G1 13.12 0 G 2 24.06 11.67 0 G 5 2.21 12.80 23.54 0
合并类6和类5,得到新类7 类7与剩余的1、2之间的距离分别为: d(5,6)1=min(d51,d61)=min(12.80,13.12)=12.80 d(5,6)2=min(d52,d62)=min(23.54,24.06)=23.54
scale = maxelement-minelement; for i=1:n Cbuffer1 = A(i,j)- minelement; Z(i,j) = Cbuffer1/scale; end end
2013-6-23
9
1.2系统聚类法的预备知识
2 样本间的距离
每个样本有m个指标,因此每个样本可以看成m维 空间中的一个点,n个样本就组成m维空间中的n个点, 这时很自然想到用距离来度量n个样本间的接近程度。 用 dij 表示第i个样本与第j个样本之间的距离。一 切距离应满足以下条件:
2013-6-23 4
1 系统聚类法
1.1系统聚类法的理论
在样品距离的基础上定义类与类之间的距 离,首先将m个样品自成一类,然后每次将具有 最小距离的两类合并,合并后重新计算类与类 之间的距离,这个过程一直继续到所有样品归 为一类为止。把这个过程作成一张聚类谱系图 (Hierarachical diagram),这种聚类方法称 为系统聚类法(又称谱系聚类)。
xij
xij x j sj
(i 1,2,, xij , s j ( xij x j )2 n i 1 n 1 i 1
2013-6-23 7
1.2系统聚类法的预备知识
1 数据标准化 2) 平移-极差变换
2013-6-23 25
1.4 dendrogram函数 调用格式:[H,T,…]=dendrogram(Z,p,…) 说明:生成只有顶部p个节点的冰柱图(谱系图)。
1.5 cophenet函数 调用格式:c=cophenet (Z,Y) 说明:利用pdist函数生成的Y和linkage函数生成的Z计 算cophenet相关系数。 注意: c=cophenet (Z,Y)越接近1则此聚类越理想! 1.6 cluster 函数 调用格式:T=cluster(Z,…) 说明:根据linkage函数的输出Z 创建分类
2013-6-23
16
1 系统聚类法
1.3系统聚类法的步骤:
1.数据标准化; 2.选择样本间距离的定义d ij 及类间距离的定义D ij; 3.计算n个样本两两之间的距离,得到距离矩阵 4.构造个类,每类只含有一个样本; 5.合并符合类间距离定义要求的两类为一个新类; 6.计算新类与当前各类的距离。若类的个数为1,则转到步骤7, 否则回到步骤4; 7.画出聚类图; 8.决定类的个数和类。
[ 如果经过平移-标准差变换后还有某些 xij 0,1] ,
则需进行平移-极差变换,即令
xij
maxxij minxij
1i n 1i n
xij minxij
1i n
( j 1,2,, m)
显然所有的 xij [0,1] ,且也不存在量纲因素的
d
p x x q t 1 it jt
1
q
当q=1,2时,为绝对值、欧式距离;若趋近无穷时,则为切 比雪夫距离
2013-6-23 11
1.2系统聚类法的预备知识
3 类间的距离
(1)最短距离法(SINgle method)
2013-6-23
12
C
E
最短距离
A
F
最长距离
数学建模
——聚类分析方法
主讲人:张利利
2013-6-23 张利利 1
聚类分析法
系统聚类法 模糊聚类法
2013-6-23
2
在许多工程技术和经济管理中,常常 需要对某些指标按一定的标准(相似的程 度、亲疏关系等)进行分类处理。 这种对客观事物按一定标准进行分类的 数学方法主要就是聚类分析法。

nm

在实际问题中,不同的数据一般有不同 的量纲, 为了使有不同量纲的量能进行比较, 需要将数据规格化,常用的方法有:
2013-6-23 6
1.2系统聚类法的预备知识
1 数据标准化 1)平移-标准差变换
(Zscore(X))
如果原始数据之间有不同的量纲,则用这种变换后使 每个变量的均值为 0,标准差为 1.即令
2013-6-23
20
得到新矩阵
G7 G1 G 2 G 7 0 D2 G1 12.80 0 G 2 23.54 11.67 0

合并类1和类2,得到新类8 此时,我们有两个不同的类:类7和类8。 它们的最近距离 d(7,8) =min(d71,d72)=min(12.80,23.54)=12.80
2013-6-23 24
1.2 squareform函数 调用格式:Z=squareform(Y,..) 说明: 强制将距离矩阵从上三角形式转化为方阵形式, 或从方阵形式转化为上三角形式 1.3 linkage函数 调用格式:Z=linkage(Y,’method’) 说 明:用‘method’参数指定的算法计算系统聚类树。
2013-6-23 26
1.7 clusterdata函数
调用格式:T=clusterdata(X,…) 说明:根据数据创建分类。 T=clusterdata(X,cutoff)与下面的一组命令等价: Y=pdist(X,’euclid’); Z=linkage(Y,’single’); T=cluster(Z,cutoff);
相关主题