ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:182.35KB ,
资源ID:7581067      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7581067.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB统计工具箱在聚类分析中的应用.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、MATLAB统计工具箱在聚类分析中的应用MATLAB统计工具箱在聚类分析中的应用MATLAB统计工具箱提供给人们一个强有力的统计分析工具,是目前国际上流行的科学计算软件,具有强大的矩阵计算和数据可视化能力,可实现数据计算、图形处理、自动处理和信息处理等多种功能;同时,随着经济社会的飞速发展,大数据时代已经悄然来临,海量的数据分类、处理工作显得尤为繁杂,而聚类分析在解决这一繁杂工作的过程中起着不可替代的作用。那么采取何种办法对样本点进行聚类,才能使得大量的样本按照各自特性进行合理分类,也是一个值得探究的问题。在MATLAB统计工具箱中提供了许多聚类分析工具,k-means聚类就是其中一种,也叫k

2、均值聚类,本文主要探讨k-means聚类方法,并将其运用于实例分析。 1.1 问题背景聚类分析(Cluster Analysis),是将一组研究对象分为相对同质的群组的统计分析技术,又称群分析或分类分析,通俗易懂的来说,它是根据“物以类聚”的道理,对某些指标或样品进行分类的一种多元统计分析方法。也就是说,它们以大量的样品为讨论对象,在没有任何模式依循或可供参考的条件下,要求能够合理地按照各自的特性或属性来进行合理的分类,是在没有先验知识的情况下进行的。也就是说聚类与分类的不同在于,聚类所要求划分的类是未知的,是将数据分类到不同的类或者簇这样的一个过程,所以在同一个簇中的对象有很大的相似性,而不

3、同簇间的对象有很大的相异性。从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。当今社会正处于大数据时代,在商业方面,聚类分析是细分市场的有效工具,同时也可用于研究消费者行为,寻找新的潜在市场、选择实验的市场,并作为多元分析的预处理;在经济领域,其可以帮助市场分析人员从客户数据库中发现不同的客户群,并且用购买模式来刻画不同客户群的特征;对住宅区进行聚类,确定自动提款机ATM的安放位置;对股票市场板块分析,找出最具活力的板块龙头股;还可用于企业信用等级分类等方面。在生物学领域,其可推到动、植物的分类;也可对基因分类,获得对种群的认识;在数据挖掘领域,其可作为其他数学算法的预处理步骤,获得

4、数据分布状况,集中对特定的类做进一步的研究;同时在保险行业、地理及因特网等方面有着巨大的作用。传统的统计聚类分析方法包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。采用k-均值、k-中心点等算法的聚类分析工具已被加入到许多著名的统计分析软件包中,如SPSS、MATLAB等。本文着重介绍MATLAB统计工具箱在聚类分析中的应用。利用MATLAB统计工具箱中的k-means进行聚类分析,首先进行数据预处理,为衡量数据点间的相似度定义一个距离函数,再聚类或分组,评估输出。可应用于诸多方面,为人们的生产生活带来方便。 1.2本文主要工作首先建立聚类分析模型,1)找到数

5、据集合中变量两两之间的相似性和非相似性,用pdist函数计算变量之间的距离;2)用linkage函数定义变量之间的连接;3)用cophenetic函数评价聚类信息;4)用cluster函数创建聚类。然后通过模型对模拟数据及实际数据进行分析、聚类,最终通过计算错误率,对模型进行评价。2.模型综述2.1 用k-means做聚类分析的算法解释设被聚类对象的样本总数为,样本维数为,即有可测数据样本集,其中 ,i=1,2n 则定义数据样本 和 之间的欧几里得距离 )为了可视化,这里使用二维空间,一组模拟数据如图2.1所示: 图2.1 模拟数据散点图从样本点的大体形状可以看出它们大致可以聚为三个类,其中两

6、个是密集一些的,剩下的那些松散一些。现在我们要为这些样本点分组,以便于能区分出属于不同的簇的数据,如果按照分组把它们按照不同的形状画出来,就是下图这个样子: 图2.2 聚类效果图 那么如何用计算机完成这个任务呢,本文采取matlab中的k-means算法对这种m维欧氏空间中的点进行聚类。在进行k-means的具体步骤之前,首先我们要对进行聚类的数据做一个假设:对于每一个类,我们可以选出一个中心点,使得该类中的所有的点到该中心点的距离比到其他类的中心的距离小。当然实际情况中得到的数据并不能总是保证能满足这样的条件约束,但这通常已经是我们所能达到的最好的结果,而那些误差通常是固有存在的或者问题本身

7、的不可分性造成的。例如下图所示的两个正态分布,从两个分布中随机地抽取一些数据点出来,混杂到一起,现在要让我们将这些混杂在一起的数据点按照它们被生成的那个分布分开来: 图2.3 正态分布分析图 我们可以看到,这两个分布它本身就有很大一部分重叠在一起了,比如,对于数据点 2.5 来说,它由两个分布产生的概率都是相等的,所以我们做的只能是一个猜测;稍微好一点的情况是 2 ,一般我们会将它归类到左边的那个分布,因为概率相对来说大一些,然而此时它由右边的分布生成的概率仍然也是比较大的,也就是说我们仍然也有不小的几率会猜错。而整个阴影部分是我们所能达到的最小的猜错的概率,诸如此类的问题,它来自于问题本身的

8、不可分性,无法避免。因此,我们把k-means 所依赖的这个假设看作是合理的。基于这样一个假设,我们再来导出 k-means 所要优化的目标函数:设我们一共有 n个数据点需要分为 K 个类,k-means 要做的就是最小化 上述函数,其中 在数据点 n 被归类到 cluster k 的时候为 1 ,否则为 0 。直接寻找和来最小化并不容易,不过我们可以采取迭代的办法:先固定,选择最优的,很容易看出,只要将数据点归类到离他最近的那个中心就能保证最小。下一步则须固定,再求最优的。将对求导并令其导数为零,很容易得到 达到最小的时 应该满 足: 也就是说的值应当是所有cluster k中的数据点的平均

9、值。由于每一次迭代都是取到的最小值,因此只会不断地减小或者不变,而不会增加,这就保证了 k-means 最终会到达一个极小值。虽然 k-means 并不能保证总是能得到全局最优解,但是对于这样的问题,像 k-means 这种复杂度的算法,这样的结果已经是很不错的了。2.2 k-means 算法的具体步骤 选定 K个中心 的初值。这个过程通常是针对具体问题有一些启发式的选取方法,或者在大多数情况下采用随机选取的办法。因为前面我们说过 k-means 并不能保证全局最优,而能否收敛到全局最优解其实和初值的选取有很大的关系,所以有时候我们会多次选取初值运行 k-means ,并取其中最好的一次结果。

10、1)将每个数据点归类到离它最近的那个中心点所代表的 cluster 中;2)用公式 计算出每个 cluster 的新的中心点;3)重复第二步,一直到迭代了最大的步数或者前后的的值相差小于一个阈值为止。3、数值模拟分析3.1 模拟数据用matlab产生一组随机数,共300个,非别是完全可分离数据、重叠度较低数据和重叠度较高数据,并画出图形。 程序1 rng default; % For reproducibility X1 = randn(100,2) +0*ones(100,1), m*ones(100,1); X2= randn(100,2) +0*ones(100,1), n*ones(1

11、00,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 ; hold on plot(X1(:,1),X1(:,2),r.); plot(X2(:,1),X2(:,2),bo); plot(X3(:,1),X3(:,2),r*); title Randomly Generated Data;3.1.1 完全

12、可分离数据 取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 完全可分离数据 程序2rng default; % For reproducibility X1 = randn(100,2) +0*ones(100,1), m*ones(100,1); X2= randn(100,2) +

13、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 Randomly Generated Data;P=idx;a=0;b=0;c=0;for i=1:1:300 if P(i)=1 a=a+1; el

14、seif P(i)=2; b=b+1; else c=c+1; endendabcfigure ;plot(X(idx=1,1),X(idx=1,2),r.,MarkerSize,12)hold onplot(X(idx=2,1),X(idx=2,2),bo,MarkerSize,12)hold onplot(X(idx=3,1),X(idx=3,2),r*,MarkerSize,12)plot(C(:,1),C(:,2),kx,. MarkerSize,15,LineWidth,3)legend(Cluster 1,Cluster 2,Cluster 3,Centroids,. Locati

15、on,NW)title Cluster Assignments and Centroidshold off取m=15,n=8,p=1;聚类效果图如图3.4所示: 图3.4 完全可分离数据聚类效果图 Cluster1=100 Cluster2=100 Cluster3=100 3.2.2重叠度较低的数据调用【程序2】,取m=15,n=10,p=5;聚类效果图如图3.5所示: 图3.5 重叠度较低数据聚类效果图Cluster1=99 Cluster2=100 Cluster3=1013.2.3 重叠度较高的数据调用【程序2】,取m=12,n=10,p=8;聚类效果图如图3.6所示: 图3.6 重叠

16、度较高数据聚类效果图Cluster1=95 Cluster2=101 Cluster3=1043.3 模型评价 3.3.1 错误率计算方法 若聚类正确,则记, 若聚类错误,则记, 则,聚类的错误率 3.3.2 模拟数据错误率分析表3.1 完全可分离数据错误率分析类数点数聚类前聚类后错误率Cluster11001000.00Cluster21001000.00Cluster31001000.00表3.2 重叠度较低数据错误率分析 类数点数聚类前聚类后错误率Cluster1100990.01Cluster21001000.00Cluster31001010.01表3.2 重叠度较高数据错误率分析类

17、数点数聚类前聚类后错误率Cluster1100950.05Cluster21001010.01Cluster31001040.04 从聚类分析错误率的计算来看,用k-means对重叠度较高的数据进行聚类的结果并不是特别理想,但正如本文前面提到的那个正态分布的例子,在聚类的过程中,出现了部分样本点的重合,这样到底把重合的样本点分到哪一类我们只能进行猜测估计,当然我们有不小的几率会猜错,这来自于问题本身的不可分性,无法避免。因此,我们将 k-means 所依赖的假设对于每一个类,我们可以选出一个中心点,使得该类中的所有的点到该中心点的距离小于到其他类的中心的距离看作是合理的。下面我们将从具体实例进

18、行分析: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.1 iris(鸢尾属植物)聚类结果表序号Sepal.lengthSepal.

19、widthPetal.lengthPetal.widthVariety(前)Variety(后)15.13.51.40.2SetosaSetosa24.931.40.2SetosaSetosa34.73.21.30.2SetosaSetosa44.63.11.50.2SetosaSetosa553.61.40.2SetosaSetosa65.43.91.70.4SetosaSetosa74.63.41.40.3SetosaSetosa853.41.50.2SetosaSetosa94.42.91.40.2SetosaSetosa104.93.11.50.1SetosaSetosa115.43.

20、71.50.2SetosaSetosa124.83.41.60.2SetosaSetosa134.831.40.1SetosaSetosa144.331.10.1SetosaSetosa155.841.20.2SetosaSetosa165.74.41.50.4SetosaSetosa175.43.91.30.4SetosaSetosa185.13.51.40.3SetosaSetosa195.73.81.70.3SetosaSetosa205.13.81.50.3SetosaSetosa215.43.41.70.2SetosaSetosa225.13.71.50.4SetosaSetosa2

21、34.63.610.2SetosaSetosa245.13.31.70.5SetosaSetosa254.83.41.90.2SetosaSetosa26531.60.2SetosaSetosa2753.41.60.4SetosaSetosa285.23.51.50.2SetosaSetosa295.23.41.40.2SetosaSetosa304.73.21.60.2SetosaSetosa314.83.11.60.2SetosaSetosa325.43.41.50.4SetosaSetosa335.24.11.50.1SetosaSetosa345.54.21.40.2SetosaSet

22、osa354.93.11.50.2SetosaSetosa3653.21.20.2SetosaSetosa375.53.51.30.2SetosaSetosa384.93.61.40.1SetosaSetosa394.431.30.2SetosaSetosa405.13.41.50.2SetosaSetosa4153.51.30.3SetosaSetosa424.52.31.30.3SetosaSetosa434.43.21.30.2SetosaSetosa4453.51.60.6SetosaSetosa455.13.81.90.4SetosaSetosa464.831.40.3SetosaS

23、etosa475.13.81.60.2SetosaSetosa484.63.21.40.2SetosaSetosa495.33.71.50.2SetosaSetosa5053.31.40.2SetosaSetosa5173.24.71.4VersicolorVersicolor526.43.24.51.5VersicolorVersicolor536.93.14.91.5VersicolorVersicolor545.52.341.3VersicolorVersicolor556.52.84.61.5VersicolorVersicolor565.72.84.51.3VersicolorVer

24、sicolor576.33.34.71.6VersicolorVersicolor584.92.43.31VersicolorVersicolor596.62.94.61.3VersicolorVersicolor605.22.73.91.4VersicolorVersicolor61523.51VersicolorVersicolor625.934.21.5VersicolorVersicolor6362.241VersicolorVersicolor646.12.94.71.4VersicolorVersicolor655.62.93.61.3VersicolorVersicolor666

25、.73.14.41.4VersicolorVersicolor675.634.51.5VersicolorVersicolor685.82.74.11VersicolorVersicolor696.22.24.51.5VersicolorVersicolor705.62.53.91.1VersicolorVersicolor715.93.24.81.8VersicolorVersicolor726.12.841.3VersicolorVersicolor736.32.54.91.5VersicolorVersicolor746.12.84.71.2VersicolorVersicolor756

26、.42.94.31.3VersicolorVersicolor766.634.41.4VersicolorVersicolor776.82.84.81.4VersicolorVersicolor786.7351.7VersicolorVersicolor7962.94.51.5VersicolorVersicolor805.72.63.51VersicolorVersicolor815.52.43.81.1VersicolorVersicolor825.52.43.71VersicolorVersicolor835.82.73.91.2VersicolorVersicolor8462.75.11.6VersicolorVersicolor855.434.51.5VersicolorVersicolor8663.44.51.6VersicolorVersicolor876.73.14.71.5VersicolorVersicolor886.32.34.41.3VersicolorVersicolor895.634.11.3VersicolorVersicolor905.52.541.3VersicolorVersicolor915.52.64.41.2VersicolorVersicolor

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

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