MATLAB统计工具箱在聚类分析中的应用.docx

上传人:b****6 文档编号:7581067 上传时间:2023-01-25 格式:DOCX 页数:32 大小:182.35KB
下载 相关 举报
MATLAB统计工具箱在聚类分析中的应用.docx_第1页
第1页 / 共32页
MATLAB统计工具箱在聚类分析中的应用.docx_第2页
第2页 / 共32页
MATLAB统计工具箱在聚类分析中的应用.docx_第3页
第3页 / 共32页
MATLAB统计工具箱在聚类分析中的应用.docx_第4页
第4页 / 共32页
MATLAB统计工具箱在聚类分析中的应用.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

MATLAB统计工具箱在聚类分析中的应用.docx

《MATLAB统计工具箱在聚类分析中的应用.docx》由会员分享,可在线阅读,更多相关《MATLAB统计工具箱在聚类分析中的应用.docx(32页珍藏版)》请在冰豆网上搜索。

MATLAB统计工具箱在聚类分析中的应用.docx

MATLAB统计工具箱在聚类分析中的应用

MATLAB统计工具箱在聚类分析中的应用

MATLAB统计工具箱提供给人们一个强有力的统计分析工具,是目前国际上流行的科学计算软件,具有强大的矩阵计算和数据可视化能力,可实现数据计算、图形处理、自动处理和信息处理等多种功能;同时,随着经济社会的飞速发展,大数据时代已经悄然来临,海量的数据分类、处理工作显得尤为繁杂,而聚类分析在解决这一繁杂工作的过程中起着不可替代的作用。

那么采取何种办法对样本点进行聚类,才能使得大量的样本按照各自特性进行合理分类,也是一个值得探究的问题。

在MATLAB统计工具箱中提供了许多聚类分析工具,k-means聚类就是其中一种,也叫k均值聚类,本文主要探讨k-means聚类方法,并将其运用于实例分析。

1.1问题背景

聚类分析(ClusterAnalysis),是将一组研究对象分为相对同质的群组的统计分析技术,又称群分析或分类分析,通俗易懂的来说,它是根据“物以类聚”的道理,对某些指标或样品进行分类的一种多元统计分析方法。

也就是说,它们以大量的样品为讨论对象,在没有任何模式依循或可供参考的条件下,要求能够合理地按照各自的特性或属性来进行合理的分类,是在没有先验知识的情况下进行的。

也就是说聚类与分类的不同在于,聚类所要求划分的类是未知的,是将数据分类到不同的类或者簇这样的一个过程,所以在同一个簇中的对象有很大的相似性,而不同簇间的对象有很大的相异性。

从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。

当今社会正处于大数据时代,在商业方面,聚类分析是细分市场的有效工具,同时也可用于研究消费者行为,寻找新的潜在市场、选择实验的市场,并作为多元分析的预处理;在经济领域,其可以帮助市场分析人员从客户数据库中发现不同的客户群,并且用购买模式来刻画不同客户群的特征;对住宅区进行聚类,确定自动提款机ATM的安放位置;对股票市场板块分析,找出最具活力的板块龙头股;还可用于企业信用等级分类等方面。

在生物学领域,其可推到动、植物的分类;也可对基因分类,获得对种群的认识;在数据挖掘领域,其可作为其他数学算法的预处理步骤,获得数据分布状况,集中对特定的类做进一步的研究;同时在保险行业、地理及因特网等方面有着巨大的作用。

传统的统计聚类分析方法包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。

采用k-均值、k-中心点等算法的聚类分析工具已被加入到许多著名的统计分析软件包中,如SPSS、MATLAB等。

本文着重介绍MATLAB统计工具箱在聚类分析中的应用。

利用MATLAB统计工具箱中的k-means进行聚类分析,首先进行数据预处理,为衡量数据点间的相似度定义一个距离函数,再聚类或分组,评估输出。

可应用于诸多方面,为人们的生产生活带来方便。

1.2本文主要工作

首先建立聚类分析模型,1)找到数据集合中变量两两之间的相似性和非相似性,用pdist函数计算变量之间的距离;2)用linkage函数定义变量之间的连接;3)用cophenetic函数评价聚类信息;4)用cluster函数创建聚类。

然后通过模型对模拟数据及实际数据进行分析、聚类,最终通过计算错误率,对模型进行评价。

2.模型综述

2.1用k-means做聚类分析的算法解释

设被聚类对象的样本总数为

样本维数为

即有可测数据样本集

,其中

,i=1,2……n

则定义数据样本

之间的欧几里得距离

为了可视化,这里使用二维空间,一组模拟数据如图2.1所示:

图2.1模拟数据散点图

从样本点的大体形状可以看出它们大致可以聚为三个类,其中两个是密集一些的,剩下的那些松散一些。

现在我们要为这些样本点分组,以便于能区分出属于不同的簇的数据,如果按照分组把它们按照不同的形状画出来,就是下图这个样子:

图2.2聚类效果图

那么如何用计算机完成这个任务呢,本文采取matlab中的k-means算法对这种m维欧氏空间中的点进行聚类。

在进行k-means的具体步骤之前,首先我们要对进行聚类的数据做一个假设:

对于每一个类,我们可以选出一个中心点,使得该类中的所有的点到该中心点的距离比到其他类的中心的距离小。

当然实际情况中得到的数据并不能总是保证能满足这样的条件约束,但这通常已经是我们所能达到的最好的结果,而那些误差通常是固有存在的或者问题本身的不可分性造成的。

例如下图所示的两个正态分布,从两个分布中随机地抽取一些数据点出来,混杂到一起,现在要让我们将这些混杂在一起的数据点按照它们被生成的那个分布分开来:

图2.3正态分布分析图

我们可以看到,这两个分布它本身就有很大一部分重叠在一起了,比如,对于数据点2.5来说,它由两个分布产生的概率都是相等的,所以我们做的只能是一个猜测;稍微好一点的情况是2,一般我们会将它归类到左边的那个分布,因为概率相对来说大一些,然而此时它由右边的分布生成的概率仍然也是比较大的,也就是说我们仍然也有不小的几率会猜错。

而整个阴影部分是我们所能达到的最小的猜错的概率,诸如此类的问题,它来自于问题本身的不可分性,无法避免。

因此,我们把k-means所依赖的这个假设看作是合理的。

基于这样一个假设,我们再来导出k-means所要优化的目标函数:

设我们一共有n个数据点需要分为K个类,k-means要做的就是最小化

上述函数,其中

在数据点n被归类到clusterk的时候为1,否则为0。

直接寻找

来最小化

并不容易,不过我们可以采取迭代的办法:

先固定

,选择最优的

,很容易看出,只要将数据点归类到离他最近的那个中心就能保证

最小。

下一步则须固定

,再求最优的

求导并令其导数为零,很容易得到

达到最小的时

应该满

足:

也就是说

的值应当是所有clusterk中的数据点的平均值。

由于每一次迭代都是取到

的最小值,因此

只会不断地减小或者不变,而不会增加,这就保证了k-means最终会到达一个极小值。

虽然k-means并不能保证总是能得到全局最优解,但是对于这样的问题,像k-means这种复杂度的算法,这样的结果已经是很不错的了。

2.2k-means算法的具体步骤

选定K个中心

的初值。

这个过程通常是针对具体问题有一些启发式的选取方法,或者在大多数情况下采用随机选取的办法。

因为前面我们说过k-means并不能保证全局最优,而能否收敛到全局最优解其实和初值的选取有很大的关系,所以有时候我们会多次选取初值运行k-means,并取其中最好的一次结果。

1)将每个数据点归类到离它最近的那个中心点所代表的cluster中;

2)用公式

计算出每个cluster的新的中心点;

3)重复第二步,一直到迭代了最大的步数或者前后的

的值相差小于一个阈值为止。

3、数值模拟分析

3.1模拟数据

用matlab产生一组随机数,共300个,非别是完全可分离数据、重叠度较低数据和重叠度较高数据,并画出图形。

[程序1]rngdefault;%Forreproducibility

X1=randn(100,2)+[0*ones(100,1),m*ones(100,1)];

X2=randn(100,2)+[0*ones(100,1),n*ones(100,1)];

X3=randn(100,2)+[0*ones(100,1),p*ones(100,1)];

DataX=[X1;X2;X3];

opts=statset('Display','final');

[idx,C]=kmeans(X,3,'Distance','cityblock','Replicates',5,'Options',opts);

figure;

holdon

plot(X1(:

1),X1(:

2),'r.');

plot(X2(:

1),X2(:

2),'bo');

plot(X3(:

1),X3(:

2),'r*');

title'RandomlyGeneratedData';

3.1.1完全可分离数据

取m=15,n=8,p=1,此时做散点图如图3.1:

图3.1完全可分离数据散点图

3.1.2重叠度较低的数据

调用程序1,取m=15,n=10,p=5,如图3.2

图3.2重叠度较低的数据散点图

3.1.3重叠度较高的数据

调用【程序1】,取m=15,n=12,p=9,散点图如图3.3所示。

图3.3重叠度较高的数据散点图

3.2聚类分析

3.2.1完全可分离数据

[程序2]rngdefault;%Forreproducibility

X1=randn(100,2)+[0*ones(100,1),m*ones(100,1)];

X2=randn(100,2)+[0*ones(100,1),n*ones(100,1)];

X3=randn(100,2)+[0*ones(100,1),p*ones(100,1)];

DataX=[X1;X2;X3];

opts=statset('Display','final');

[idx,C]=kmeans(X,3,'Distance','cityblock','Replicates',5,'Options',opts);

figure;

plot(X(:

1),X(:

2),'.');

title'RandomlyGeneratedData';

P=idx;

a=0;b=0;c=0;

fori=1:

1:

300

ifP(i)==1

a=a+1;

elseifP(i)==2;

b=b+1;

elsec=c+1;

end

end

a

b

c

figure;

plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)

holdon

plot(X(idx==2,1),X(idx==2,2),'bo','MarkerSize',12)

holdon

plot(X(idx==3,1),X(idx==3,2),'r*','MarkerSize',12)

plot(C(:

1),C(:

2),'kx',...

'MarkerSize',15,'LineWidth',3)

legend('Cluster1','Cluster2','Cluster3','Centroids',...

'Location','NW')

title'ClusterAssignmentsandCentroids'

holdoff

取m=15,n=8,p=1;聚类效果图如图3.4所示:

 

 

图3.4完全可分离数据聚类效果图

Cluster1=100Cluster2=100Cluster3=100

 

3.2.2重叠度较低的数据

调用【程序2】,取m=15,n=10,p=5;聚类效果图如图3.5所示:

图3.5重叠度较低数据聚类效果图

Cluster1=99Cluster2=100Cluster3=101

3.2.3重叠度较高的数据

调用【程序2】,取m=12,n=10,p=8;聚类效果图如图3.6所示:

图3.6重叠度较高数据聚类效果图

Cluster1=95Cluster2=101Cluster3=104

3.3模型评价

3.3.1错误率计算方法

若聚类正确,则记

若聚类错误,则记

则,聚类的错误率

3.3.2模拟数据错误率分析

表3.1完全可分离数据错误率分析

类数

点数

聚类前

聚类后

错误率

Cluster1

100

100

0.00

Cluster2

100

100

0.00

Cluster3

100

100

0.00

表3.2重叠度较低数据错误率分析

类数

点数

聚类前

聚类后

错误率

Cluster1

100

99

0.01

Cluster2

100

100

0.00

Cluster3

100

101

0.01

表3.2重叠度较高数据错误率分析

类数

点数

聚类前

聚类后

错误率

Cluster1

100

95

0.05

Cluster2

100

101

0.01

Cluster3

100

104

0.04

从聚类分析错误率的计算来看,用k-means对重叠度较高的数据进行聚类的结果并不是特别理想,但正如本文前面提到的那个正态分布的例子,在聚类的过程中,出现了部分样本点的重合,这样到底把重合的样本点分到哪一类我们只能进行猜测估计,当然我们有不小的几率会猜错,这来自于问题本身的不可分性,无法避免。

因此,我们将k-means所依赖的假设——对于每一个类,我们可以选出一个中心点,使得该类中的所有的点到该中心点的距离小于到其他类的中心的距离看作是合理的。

下面我们将从具体实例进行分析:

4、实例分析

利用matlab从Excle中导入一组有关iris(鸢尾属植物)的数据,从Sepal.length(花萼长度),Sepal.width(花萼宽度),Petal.length(花瓣长度),Petal.width(花萼宽度)四个方面用k-means进行聚类分析,程序如下:

X=data;

Y=X(1:

150,2:

5);

opts=statset('Display','final');

[idx,ctrs]=kmeans(X,2,'Distance','city','Replicates',5,'Options',opts);

表4.1iris(鸢尾属植物)聚类结果表

序号

Sepal.length

Sepal.width

Petal.length

Petal.width

Variety(前)

Variety(后)

1

5.1

3.5

1.4

0.2

Setosa

Setosa

2

4.9

3

1.4

0.2

Setosa

Setosa

3

4.7

3.2

1.3

0.2

Setosa

Setosa

4

4.6

3.1

1.5

0.2

Setosa

Setosa

5

5

3.6

1.4

0.2

Setosa

Setosa

6

5.4

3.9

1.7

0.4

Setosa

Setosa

7

4.6

3.4

1.4

0.3

Setosa

Setosa

8

5

3.4

1.5

0.2

Setosa

Setosa

9

4.4

2.9

1.4

0.2

Setosa

Setosa

10

4.9

3.1

1.5

0.1

Setosa

Setosa

11

5.4

3.7

1.5

0.2

Setosa

Setosa

12

4.8

3.4

1.6

0.2

Setosa

Setosa

13

4.8

3

1.4

0.1

Setosa

Setosa

14

4.3

3

1.1

0.1

Setosa

Setosa

15

5.8

4

1.2

0.2

Setosa

Setosa

16

5.7

4.4

1.5

0.4

Setosa

Setosa

17

5.4

3.9

1.3

0.4

Setosa

Setosa

18

5.1

3.5

1.4

0.3

Setosa

Setosa

19

5.7

3.8

1.7

0.3

Setosa

Setosa

20

5.1

3.8

1.5

0.3

Setosa

Setosa

21

5.4

3.4

1.7

0.2

Setosa

Setosa

22

5.1

3.7

1.5

0.4

Setosa

Setosa

23

4.6

3.6

1

0.2

Setosa

Setosa

24

5.1

3.3

1.7

0.5

Setosa

Setosa

25

4.8

3.4

1.9

0.2

Setosa

Setosa

26

5

3

1.6

0.2

Setosa

Setosa

27

5

3.4

1.6

0.4

Setosa

Setosa

28

5.2

3.5

1.5

0.2

Setosa

Setosa

29

5.2

3.4

1.4

0.2

Setosa

Setosa

30

4.7

3.2

1.6

0.2

Setosa

Setosa

31

4.8

3.1

1.6

0.2

Setosa

Setosa

32

5.4

3.4

1.5

0.4

Setosa

Setosa

33

5.2

4.1

1.5

0.1

Setosa

Setosa

34

5.5

4.2

1.4

0.2

Setosa

Setosa

35

4.9

3.1

1.5

0.2

Setosa

Setosa

36

5

3.2

1.2

0.2

Setosa

Setosa

37

5.5

3.5

1.3

0.2

Setosa

Setosa

38

4.9

3.6

1.4

0.1

Setosa

Setosa

39

4.4

3

1.3

0.2

Setosa

Setosa

40

5.1

3.4

1.5

0.2

Setosa

Setosa

41

5

3.5

1.3

0.3

Setosa

Setosa

42

4.5

2.3

1.3

0.3

Setosa

Setosa

43

4.4

3.2

1.3

0.2

Setosa

Setosa

44

5

3.5

1.6

0.6

Setosa

Setosa

45

5.1

3.8

1.9

0.4

Setosa

Setosa

46

4.8

3

1.4

0.3

Setosa

Setosa

47

5.1

3.8

1.6

0.2

Setosa

Setosa

48

4.6

3.2

1.4

0.2

Setosa

Setosa

49

5.3

3.7

1.5

0.2

Setosa

Setosa

50

5

3.3

1.4

0.2

Setosa

Setosa

51

7

3.2

4.7

1.4

Versicolor

Versicolor

52

6.4

3.2

4.5

1.5

Versicolor

Versicolor

53

6.9

3.1

4.9

1.5

Versicolor

Versicolor

54

5.5

2.3

4

1.3

Versicolor

Versicolor

55

6.5

2.8

4.6

1.5

Versicolor

Versicolor

56

5.7

2.8

4.5

1.3

Versicolor

Versicolor

57

6.3

3.3

4.7

1.6

Versicolor

Versicolor

58

4.9

2.4

3.3

1

Versicolor

Versicolor

59

6.6

2.9

4.6

1.3

Versicolor

Versicolor

60

5.2

2.7

3.9

1.4

Versicolor

Versicolor

61

5

2

3.5

1

Versicolor

Versicolor

62

5.9

3

4.2

1.5

Versicolor

Versicolor

63

6

2.2

4

1

Versicolor

Versicolor

64

6.1

2.9

4.7

1.4

Versicolor

Versicolor

65

5.6

2.9

3.6

1.3

Versicolor

Versicolor

66

6.7

3.1

4.4

1.4

Versicolor

Versicolor

67

5.6

3

4.5

1.5

Versicolor

Versicolor

68

5.8

2.7

4.1

1

Versicolor

Versicolor

69

6.2

2.2

4.5

1.5

Versicolor

Versicolor

70

5.6

2.5

3.9

1.1

Versicolor

Versicolor

71

5.9

3.2

4.8

1.8

Versicolor

Versicolor

72

6.1

2.8

4

1.3

Versicolor

Versicolor

73

6.3

2.5

4.9

1.5

Versicolor

Versicolor

74

6.1

2.8

4.7

1.2

Versicolor

Versicolor

75

6.4

2.9

4.3

1.3

Versicolor

Versicolor

76

6.6

3

4.4

1.4

Versicolor

Versicolor

77

6.8

2.8

4.8

1.4

Versicolor

Versicolor

78

6.7

3

5

1.7

Versicolor

Versicolor

79

6

2.9

4.5

1.5

Versicolor

Versicolor

80

5.7

2.6

3.5

1

Versicolor

Versicolor

81

5.5

2.4

3.8

1.1

Versicolor

Versicolor

82

5.5

2.4

3.7

1

Versicolor

Versicolor

83

5.8

2.7

3.9

1.2

Versicolor

Versicolor

84

6

2.7

5.1

1.6

Versicolor

Versicolor

85

5.4

3

4.5

1.5

Versicolor

Versicolor

86

6

3.4

4.5

1.6

Versicolor

Versicolor

87

6.7

3.1

4.7

1.5

Versicolor

Versicolor

88

6.3

2.3

4.4

1.3

Versicolor

Versicolor

89

5.6

3

4.1

1.3

Versicolor

Versicolor

90

5.5

2.5

4

1.3

Versicolor

Versicolor

91

5.5

2.6

4.4

1.2

Versicolor

Versicolor

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

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1