统计方法6聚类分析.docx

上传人:b****5 文档编号:14531633 上传时间:2023-06-24 格式:DOCX 页数:23 大小:326.79KB
下载 相关 举报
统计方法6聚类分析.docx_第1页
第1页 / 共23页
统计方法6聚类分析.docx_第2页
第2页 / 共23页
统计方法6聚类分析.docx_第3页
第3页 / 共23页
统计方法6聚类分析.docx_第4页
第4页 / 共23页
统计方法6聚类分析.docx_第5页
第5页 / 共23页
统计方法6聚类分析.docx_第6页
第6页 / 共23页
统计方法6聚类分析.docx_第7页
第7页 / 共23页
统计方法6聚类分析.docx_第8页
第8页 / 共23页
统计方法6聚类分析.docx_第9页
第9页 / 共23页
统计方法6聚类分析.docx_第10页
第10页 / 共23页
统计方法6聚类分析.docx_第11页
第11页 / 共23页
统计方法6聚类分析.docx_第12页
第12页 / 共23页
统计方法6聚类分析.docx_第13页
第13页 / 共23页
统计方法6聚类分析.docx_第14页
第14页 / 共23页
统计方法6聚类分析.docx_第15页
第15页 / 共23页
统计方法6聚类分析.docx_第16页
第16页 / 共23页
统计方法6聚类分析.docx_第17页
第17页 / 共23页
统计方法6聚类分析.docx_第18页
第18页 / 共23页
统计方法6聚类分析.docx_第19页
第19页 / 共23页
统计方法6聚类分析.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

统计方法6聚类分析.docx

《统计方法6聚类分析.docx》由会员分享,可在线阅读,更多相关《统计方法6聚类分析.docx(23页珍藏版)》请在冰点文库上搜索。

统计方法6聚类分析.docx

统计方法6聚类分析

统计方法6聚类分析

第一节基本概念

1.分类问题

直观解释:

聚类分析就是用某种准则将靠近的点集归为一类对样本(观测值)进行聚类,也可以对指标(变量)进行聚类。

 

(Xi,X2,…,XP)及丫(yi,讨2,..-yp)

定义两点之间的距离

(1)

欧氏距离

p

2

dxy2

((Xi

i1

、\1/2

yi))

(2)

马氏距离

dXy

Xy(X

y)

其中

是数据矩阵的协方差阵。

马氏距离的优点是考虑了空间内的概率分布,在正态总体的情况下,有比较好的效果。

距离的定义比较灵活,只要满足条件都可以作为聚类时的距离。

变量之间的距离

变量之间的距离要考虑到变量之间的相互关系。

常用的距离如夹角余弦,相关系数等类和类之间的距离

在聚类过程中,要涉及到类和类之间的合并,因此也要考虑类间的距离。

如类间最短距离设dj是样本i和样本j之间的距离,Dpq是类Gp和类Gq之间的距离定义类间的最短距离

为Dpq=minqdij

类似的可以定义类间的最长距离,平均距离等。

第二节系统聚类法

系统聚类方法是非常容易在计算机上实现的一种聚类方法,其聚类步骤为:

将空间各点各自视为一类,计算每类间的距离矩阵,将距离最小者归为一类。

对与新的类重新计算类与类间的距离矩阵,再将距离最小者归为一类。

这一过程一直进行下去,直到所有的点归为一类为止。

例8.2.1:

设抽六个样,每个样本只有一个变量,即:

1,2,5,7,9,10。

定义距

离为:

两点的绝对值。

试用最小距离法对它们进行系统聚类。

1)

2)

3)

G1G2G3G4G5G6

1)

G1

G2

计算得距离矩阵D(0),为G3

G4

G5

G6

D(0)的最小距离时是1,对应元素

G1,G2并成G7;G5;

计算G7,G8与其他类道距离,得

D12=D56=1,则将G6并成G8。

D

(1)

 

 

G7G3G4G8

G7

G3

G4

G8

4)的D

(1)的最小距离是2,把G3,G4,G8合并为类Gg,

5)把G7和G9合并为G1O,聚类距离为3。

此时已将全部样本合并为一类,聚类结束。

可以按照聚类的距离,通过谱系图把聚类的过程表示出来。

If

G7

GIO

G4={号

知9}

G9

G9

1

4

 

 

最后,选择合适的阈值,确定聚类的个数。

如取阈值为2.5,则分为2类,G7和G9

第三节动态聚类法(k均值法)

k-均值法是一种划分方法。

函数kmeans把数据划分为k个互不相交的类,然后对每个观

测返回类的标号。

对于大量的数据k-均值法比系统聚类法更合适。

K-均值法寻找划分

Kmeans把数据集中的每一个数据视为占有空间中某个位置的对象。

步骤

Step1:

选择k个样品作为初始凝聚点,或者将样品分为k个初始类,然后将其重心(均

值)作为初始凝聚点

Step2:

将每个样品归入离其凝聚点最近的类(通常采用欧氏距离)。

Step3:

重新计算每个类的重心(均值);

Step4:

重复Step2,直到各类重心不再变化,类不再变化为止。

经验表明,聚类过程的绝大多数重要变化

动态聚类的结果严重依赖初始凝聚点的选取。

均发生在第一次再分类中。

第四节MATLAB统计工具箱中的聚类分析

A系统聚类法

1.点点距离的计算命令pdist

Y=Pdist(X)

Y=pdist(X,'metric')

Y=pdist(X,distfun)

Y=pdist(X,'minkowski',p)

这里:

X:

为数据矩阵

metric:

各种距离方法

‘euclidean':

欧几里得距离Euclideandistanee(default)

‘seuclidean':

标准欧几里得距离.

‘mahalanobis':

马氏距离

':

明可夫斯基距离

cosine角度距离(对变量聚类)

':

相关系数距离.(对变量聚类)

:

Hamming距离(符号变量求距离)Jaccard系数距离(符号变量求距离):

切比雪夫距离

linkage,基本语法为;

‘cityblock':

绝对值距离

‘minkowski

‘cosine':

‘correlation

‘hamming’

‘jaccard':

‘chebychev'

2.类类距离的计算命令

Z=linkage(Y)

Z=linkage(Y,'method')

这里:

Y:

为pdist输出的结果,即点点的距离矩阵。

‘method':

为计算类类间距离的方法。

它们有:

‘single':

最短距离法(系统内定)

‘complete‘:

最长距离法。

‘average':

平均距离法。

‘weighted':

加权平均距离法。

‘centroid':

中心距离法。

‘median‘:

加权重心法。

3)聚类命令cluster,语法为:

T=cluster(Z,'cutoff,c)

T=cluster(Z,'maxclust',n)

这里:

Z:

为linkage输出的层次数据。

‘cutoff':

按某个值进行切割,值c取(0,1)之间的值。

‘maxclust':

按最大聚类数聚类,n为指定的聚类数。

4)作聚类图命令dendrogram,其语法为:

H=dendrogram(Z)

H=dendrogram(Z,p)

[H,T]=dendrogram(...)

[H,T,perm]=dendrogram(...)

[...]=dendrogram(...,'colorthreshold',t)

[...]=dendrogram(...,'orientation','orient')

[...]=dendrogram(...,'labels',S)

这里:

Z:

为linkage输出的层次数据。

p:

原始结点个数的设置,p=0显示全部点。

系统内定显示30个点。

‘colorthreshold':

颜色设置,其值t>0。

‘orientation':

聚类图的位置,内定是从上到下。

可选值为:

‘top‘:

从上到下(default)

‘bottom':

从下到上

‘left':

从左到右

‘right':

从右到左

'labels':

标号例16个地区('北京','天津','河北',山西','内蒙古','辽宁','吉林','黑龙江’,上海',江苏','浙江','安徽

','福建','江西','山东','河南)农民支出情况调查,指标为食品,衣着,燃料,住房,生活用品,文化

生活服务.

x=[190.3343.779.7360.5449.019.04;135.236.410.4744.1636.493.94;95.2122.839.322.4422.812.8;104.7825.116.49.8918.173.25;128.4127.638.9412.5823.993.27;145.6832.8317.7927.2939.093.47;159.3733.3818.3711.8125.295.22;116.2229.5713.2413.7621.756.04;221.1138.6412.53115.6550.825.89;144.9829.1211.6742.627.35.74;169.9232.7512.7247.1234.355;153.1123.0915.6223.5418.186.39;144.9221.2616.9619.5221.756.73;140.5421.517.6419.1915.974.94;115.8430.2612.233.6133.773.85;101.1823.268.4620.220.54.3];

zx=zscore(x);

y=pdist(zx);

z=linkage(y,'average')

 

3.0000

16.0000

0.9931

4.0000

18.0000

1.0711

14.0000

17.0000

1.2032

10.0000

11.0000

1.2670

5.0000

19.0000

1.2756

2.0000

15.0000

1.2833

21.0000

23.0000

1.7088

 

 

6.0000

7.0000

1.8245

 

8.0000

20.0000

1.8799

24.0000

25.0000

2.3302

26.0000

27.0000

2.6476

22.0000

28.0000

2.9664

 

 

1.0000

9.0000

3.1788

 

29.0000

30.0000

5.2728

 

 

s={'北京','天津

河北','山西','内蒙古','辽宁','吉林','黑龙江','上海','

江苏','浙江','安徽','福建','江西','山东','河南'}

dendrogram(z,'onentation','right','labels',s)

T=cluster(z,5)

T=

4

2

3

3

2

3

find(T==1)

ans=

8

上海

北京

内蒙古

山西

辽宁

山东

天津

福建

安徽

浙江

江苏

黑龙江

江西

河南

河北

吉林

 

1213

14

find(T==2)

ans=

10

11

15

find(T==3)

ans=

16

find(T==4)

ans=

1

find(T==5)

ans=

或者:

T

clusterdata(zx,'distance','euclid','linkage','average','maxclust'

5)

T=

 

它与前面的cluster(z,5)

相等

 

 

BK均值法函数kmeans把数据划分为k个互不相交的类,然后对每个观测返回类的标号。

Kmeans把数据集中的每一个数据视为占有空间中某个位置的对象。

K-均值法寻找划分使得

每一类内部的数据足够近而类之间的数据足够远。

函数提供了5种距离的测量。

为每个点的类标号。

IDX=kmeans(X,k)将n个点分为k类,返回的idx[IDX,C]=kmeans(X,k)返回的c为每个类的中心。

[IDX,C,sumd]=kmeans(X,k)

Sumd返回类内的距离。

[IDX,C,sumd,D]=kmeans(X,k)

 

[…]=kmeans(...,param1,val1,param2,val2,...)

paraml…为参数名,val1…为参数值。

这些参数用来控制迭代算法。

继续上例,采用K均值法

分类的结果为:

IDX=

1

3

4

4

2

1

3

3

3

4

分类的结果为:

IDX=kmeans(x,5)%分为5类

IDX=

2

3

5

5

3

4

5

5

3

2

分类的结果为:

轮廓图

可以利用轮廓图作为评价分类结果的一种标准。

Silhouette函数可以用来根据cluster,clusterdata,kmeans的聚类结果绘制轮廓图。

从图上可以

看每个点的分类是否合理。

轮廓图上第i点的轮廓值定义为

S(i)=min(b)a,i1...nmax[a,min(b)]

其中,a是第i个点与同类其它点的平均距离。

b是向量,其元素表示第i个点与不同类的

类内各点的平均距离。

s(i)<0是说明该点分类

S(i)的取值范围[-1,1],此值越大,说明该点的分类越合理。

特别当不合理。

此命令只返回轮廓值,不画轮廓图

silhouette(X,clust)

s=silhouette(X,clust)%

[s,h]=silhouette(X,clust)

[...]=silhouette(X,clust,metric)

[...]=silhouette(X,clust,distfun,p1,p2,...)

上例分为4类的情况

[s,h]=silhouette(x,IDX)

」zs_n_一0

上例分为

5类的情况

[s,h]=silhouette(x,IDX)

0.7623

0.0555

0.8037

比较两图

,此例使用k均值法分四类要更合适

第五节模糊聚类

聚类分析是一种无监督的学习方法。

很多的分类问题中,分类对象往往没有明确的界限。

用传统的聚类方法,把样本点严格的分到某个类中,可能存在一定的不合理性。

借助于模糊

数学的思想,可以有模糊聚类的方法。

使用模糊聚类将n个样品划分为c类,记V(Vi,V2,...Vc)为c个类的聚类中心。

在模糊

聚类中每个样品不是严格的划分到某一类,而是按照一定的隶属度属于某一类。

c

设Uik表示第k个样品属于第i类的隶属度,取值[0,1],且Uik1。

i1

所以该目标函数表示各类中样品到聚类中心的加权的距离平方和。

模糊C均值聚类法的准则是求U,V使J(U,V)得到最小值。

具体步骤:

(1)确定类的个数C,幕指数m(>1)和初始隶属度矩阵U(0)。

通常的做法是取[0,1]上的

均匀分布随机数来确定初始隶属度矩阵。

令1=1表示第一步迭代。

(2)通过下式计算第I步的聚类中心:

n

(Uik(l1))mXk

Vi⑴

k1—i12c

n

(Uikl

k1

其中

(4)对于迭代算法,给定隶属度终止容限U0(或目标函数终止容限j0,或给定最大迭代

类。

否显示中间迭代过程。

取值为0,则不显示。

列元素的取值判定元素的归属。

obj_fcn是目标函数值向量,其第

代的目标函数值,它包含的元素总个数就是实际迭代的总步数。

继续前面的例子

x=[190.3343.779.7360.5449.019.04;135.236.410.4744.1636.49

3.94;95.2122.83

9.3

22.44

22.812.8;104.7825.116.4

9.89

18.17

3.25;128.41

27.63

8.94

12.58

23.99

3.27;145.68

32.83

17.79

27.29

39.09

3.47;159.37

33.38

18.37

11.81

25.29

5.22;116.22

29.57

13.24

13.76

21.75

6.04;221.11

38.64

12.53

115.65

50.82

5.89;144.98

29.1211.6742.6

27.3

5.74;169.92

32.75

12.72

47.12

34.35

5;153.11

23.09

15.62

23.54

18.18

6.39;144.92

21.26

16.96

19.52

21.75

6.73;140.54

21.5

17.64

19.19

15.97

4.94;115.8430.2612.233.6133.773.85;101.1823.268.4620.220.54.3];

>>[center,U,obj_fcn]=fcm(x,4)

主要的结果:

U=

Columns1through7

 

所以把它归到第三类。

同属第三类

从聚类结果看出,样品1(北京)在第三类的隶属度最大

的还有样品11(浙江)。

这一类是经济发达地区。

同样的,可按隶属度对其他的各个样品进行分类。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2