算法大全第29章 多元分析.pdf
《算法大全第29章 多元分析.pdf》由会员分享,可在线阅读,更多相关《算法大全第29章 多元分析.pdf(88页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 -443-第二十九章第二十九章 多元分析多元分析 多元分析(multivariate analyses)是多变量的统计分析方法,是数理统计中应用广泛的一个重要分支,其内容庞杂,视角独特,方法多样,深受工程技术人员的青睐和广泛使用,并在使用中不断完善和创新。由于变量的相关性,不能简单地把每个变量的结果进行汇总,这是多变量统计分析的基本出发点。1 聚类分析 将认识对象进行分类是人类认识世界的一种重要方法,比如有关世界的时间进程的研究,就形成了历史学,也有关世界空间地域的研究,则形成了地理学。又如在生物学中,为了研究生物的演变,需要对生物进行分类,生物学家根据各种生物的特征,将它们归属于不同的界、
2、门、纲、目、科、属、种之中。事实上,分门别类地对事物进行研究,要远比在一个混杂多变的集合中更清晰、明了和细致,这是因为同一类事物会具有更多的近似特性。在企业的经营管理中,为了确定其目标市场,首先要进行市场细分。因为无论一个企业多么庞大和成功,它也无法满足整个市场的各种需求。而市场细分,可以帮助企业找到适合自己特色,并使企业具有竞争力的分市场,将其作为自己的重点开发目标。通常,人们可以凭经验和专业知识来实现分类。而聚类分析(cluster analyses)作为一种定量方法,将从数据分析的角度,给出一个更准确、细致的分类工具。1.1 相似性度量 1.1.1 样本的相似性度量 要用数量化的方法对事
3、物进行分类,就必须用数量化的方法描述事物之间的相似程度。一个事物常常需要用多个变量来刻画。如果对于一群有待分类的样本点需用p个变量描述,则每个样本点可以看成是pR空间中的一个点。因此,很自然地想到可以用距离来度量样本点间的相似程度。记是样本点集,距离),(d是+R的一个函数,满足条件:1)0),(yxd,yx,;2)0),(=yxd当且仅当yx=;3)),(),(xydyxd=,yx,;4)),(),(),(yxdzxdyxd+,zyx,。这一距离的定义是我们所熟知的,它满足正定性,对称性和三角不等式。在聚类分析中,对于定量变量,最常用的是 Minkowski 距离 -444-qpkqkkqy
4、xyxd11),(=,0q 当2,1=q或+q时,则分别得到 1)绝对值距离 =qkkkyxyxd11),(,(1)2)欧氏距离 21122),(=pkkkyxyxd,(2)3)Chebyshev 距离 kkpkyxyxd=1max),(。(3)在 Minkowski 距离中,最常用的是欧氏距离,它的主要优点是当坐标轴进行正交旋转时,欧氏距离是保持不变的。因此,如果对原坐标系进行平移和旋转变换,则变换后样本点间的距离和变换前完全相同。值得注意的是在采用 Minkowski 距离时,一定要采用相同量纲的变量。如果变量的量纲不同,测量值变异范围相差悬殊时,建议首先进行数据的标准化处理,然后再计算距
5、离。在采用 Minkowski 距离时,还应尽可能地避免变量的多重相关性(multicollinearity)。多重相关性所造成的信息重叠,会片面强调某些变量的重要性。由于 Minkowski 距离的这些缺点,一种改进的距离就是马氏距离,定义如下 4)马氏(Mahalanobis)距离 )()(),(1yxyxyxdT=(4)其中yx,为来自p维总体Z的样本观测值,为Z的协方差矩阵,实际中往往是不知道的,常常需要用样本协方差来估计。马氏距离对一切线性变换是不变的,故不受量纲的影响。此外,还可采用样本相关系数、夹角余弦和其它关联性度量作为相似性度量。近年来随着数据挖掘研究的深入,这方面的新方法层
6、出不穷。1.1.2 类与类间的相似性度量 如果有两个样本类1G和2G,我们可以用下面的一系列方法度量它们间的距离:1)最短距离法(nearest neighbor or single linkage method)-445-),(min),(2121jiGyGxyxdGGDji=,(5)它的直观意义为两个类中最近两点间的距离。2)最长距离法(farthest neighbor or complete linkage method)),(max),(2121jiGyGxyxdGGDji=,(6)它的直观意义为两个类中最远两点间的距离。3)重心法(centroid method)),(),(21y
7、xdGGD=,(7)其中yx,分别为21,GG的重心。4)类平均法(group average method)=12),(1),(2121GxGxjiijxxdnnGGD,(8)它等于21,GG中两两样本点距离的平均,式中21,nn分别为21,GG中的样本点个数。5)离差平方和法(sum of squares method)若记=1)()(111GxiTiixxxxD,=2)()(222GxjTjjxxxxD,=21)()(12GGxkTkkxxxxD,其中 =1111Gxiixnx,=2221Gxjjxnx,+=21211GGxkkxnnx 则定义 211221),(DDDGGD=(9)事实
8、上,若21,GG内部点与点距离很小,则它们能很好地各自聚为一类,并且这两类又能够充分分离(即12D很大),这时必然有2112DDDD=很大。因此,按定义可以认为,两类21,GG之间的距离很大。离差平方和法最初是由 Ward 在 1936 年提出,-446-后经 Orloci 等人 1976 年发展起来的,故又称为 Ward 方法。1.2 系统聚类法 1.2.1 系统聚类法的功能与特点 系统聚类法是聚类分析方法中最常用的一种方法。它的优点在于可以指出由粗到细的多种分类情况,典型的系统聚类结果可由一个聚类图展示出来。例如,在平面上有 7 个点721,www?(如图 1(a),可以用聚类图(如图 1
9、(b)来表示聚类结果。图 1 聚类方法示意图 记,721www?=,聚类结果如下:当距离值为5f时,分为一类 ,76543211wwwwwwwG=;距离值为4f分为两类:,3211wwwG=,,76542wwwwG=;距离值为3f分为三类:,3211wwwG=,,6542wwwG=,73wG=;距离值为2f分为四类:,3211wwwG=,,542wwG=,63wG=,74wG=距离值为1f分为六类:,541wwG=,12wG=,23wG=,34wG=,65wG=,76wG=距离小于1f分为七类,每一个点自成一类。-447-怎样才能生成这样的聚类图呢?步骤如下:设,721www?=,1)计算n个
10、样本点两两之间的距离ijd,记为矩阵nnijdD=)(;2)首先构造n个类,每一个类中只包含一个样本点,每一类的平台高度均为零;3)合并距离最近的两类为新类,并且以这两类间的距离值作为聚类图中的平台高度;4)计算新类与当前各类的距离,若类的个数已经等于 1,转入步骤 5),否则,回到步骤 3);5)画聚类图;6)决定类的个数和类。显而易见,这种系统归类过程与计算类和类之间的距离有关,采用不同的距离定义,有可能得出不同的聚类结果。1.2.2 最短距离法与最长距离法 如果使用最短距离法来测量类与类之间的距离,即称其为系统聚类法中的最短距离法(又称最近邻法),最先由 Florek 等人 1951 年
11、和 Sneath1957 年引入。下面举例说明最短距离法的计算步骤。例1 设有5个销售员54321,wwwww,他们的销售业绩由二维变量),(21vv描述,见表 1。表 1 销售员业绩表 销售员 1v(销售量)百件 2v(回收款项)万元 1w 1 0 2w 1 1 3w 3 2 4w 4 3 5w 2 5 记销售员)5,4,3,2,1(=iwi的销售业绩为),(21iivv。如果使用绝对值距离来测量点与点之间的距离,使用最短距离法来测量类与类之间的距离,即=21),(kjkikjivvwwd,),(min),(jiGwGwqpwwdGGDqjpi=-448-由距离公式),(d,可以算出距离矩阵
12、。440420553066410 5432154321wwwwwwwwww 第一步,所有的元素自成一类,543211wwwwwH=。每一个类的平台高度为零,即)5,4,3,2,1(0)(=iwfi。显然,这时),(),(qpqpwwdGGD=。第二步,取新类的平台高度为 1,把21,ww合成一个新类6h,此时的分类情况是 ,54362wwwhH=第三步,取新类的平台高度为 2,把43,ww合成一个新类7h,此时的分类情况是 ,5763whhH=第四步,取新类的平台高度为 3,把76,hh合成一个新类8h,此时的分类情况是 ,584whH=第五步,取新类的平台高度为 4,把8h和5w合成一个新类
13、9h,此时的分类情况是 95hH=图 2 最短距离法 这样,9h已把所有的样本点聚为一类,因此,可以转到画聚类图步骤。画出聚类 -449-图(如图 2(a)。这是一颗二叉树,如图 2(b)。有了聚类图,就可以按要求进行分类。可以看出,在这五个推销员中5w的工作成绩最佳,43,ww的工作成绩最好,而21,ww的工作成绩较差。完全类似于以上步骤,但以最长距离法来计算类间距离,就称为系统聚类法中的最长距离法。计算的 MATLAB 程序如下:clc,clear a=1,0;1,1;3,2;4,3;2,5;m,n=size(a);d=zeros(m,m);for i=1:m for j=i+1:m d(
14、i,j)=mandist(a(i,:),a(j,:);end end d nd=nonzeros(d);nd=union(nd,nd)for i=1:m-1 nd_min=min(nd);row,col=find(d=nd_min);tm=union(row,col);tm=reshape(tm,1,length(tm);s(i)=char(第,int2str(i),次合成,平台高度为,num2str(nd_min),时的分类结果为:,int2str(tm);%上面大括号代表建立数组 nd(find(nd=nd_min)=;if length(nd)=0 break end end s(:)或
15、者使用MATLAB统计工具箱的相关命令,编写如下程序:clc,clear a=1,0;1,1;3,2;4,3;2,5;y=pdist(a,cityblock);yc=squareform(y)z=linkage(y)h,t=dendrogram(z)-450-MATLAB中相关命令的使用说明如下:1)pdist Y=pdist(X)计算nm矩阵X(被看作m个大小为n的向量)中两两对象间的欧氏距离。对于有m个对象组成的数据集,共有2/)1(mm个两两对象组合。输出Y是包含距离信息的长度为2/)1(mm的向量。可用squareform函数将此向量转换为方阵,这样可使矩阵中的元素(i,j)对应原始数
16、据集中对象i和j间的距离。Y=pdist(X,metric)中用metric指定的方法计算矩阵X中对象间的距离。metric可取表2中特征字符串值。表2 metric取值及含义 字符串 含 义 Euclid 欧氏距离(缺省)SEuclid 标准欧氏距离 Mahal 马氏距离(Mahalanobis距离)CityBlock 绝对值距离 Minkowski 闵氏距离(Minkowski距离)Y=pdist(X,minkowski,p)用闵氏距离计算矩阵X中对象间的距离。P为闵氏距离计算用到的指数值,缺省为2。2)linkage Z=linkage(Y)使用最短距离算法生成具层次结构的聚类树。输入矩
17、阵Y为pdist函数输出的2/)1(mm维距离行向量。Z=linkage(Y,method)使用由method指定的算法计算生成聚类树。method可取表3中特征字符串值。表3 method取值及含义 字符串 含 义 single 最短距离(缺省)complete 最大距离 average 平均距离 centroid 重心距离 ward 离差平方和方法(Ward方法)输出Z为包含聚类树信息的3)1(m矩阵。聚类树上的叶节点为原始数据集中的对象,由1到m。它们是单元素的类,级别更高的类都由它们生成。对应于Z中行j每个新生成的类,其索引为jm+,其中m为初始叶节点的数量。-451-第1列和第2列,
18、即Z(i,1:2)包含了被两两连接生成一个新类的所有对象的索引。生成的新类索引为jm+。共有1m个级别更高的类,它们对应于聚类树中的内部节点。第三列,Z(i,3)包含了相应的在类中的两两对象间的连接距离。3)cluster T=cluster(Z,cutoff)从连接输出(linkage)中创建聚类。cutoff为定义cluster函数如何生成聚类的阈值,其不同的值含义如表4所示。表4 cutoff取值及含义 cutoff取值 含 义 0cutoff2 cutoff作为不一致系数的阈值。不一致系数对聚类树中对象间的差异进行了量化。如果一个连接的不一致系数大于阈值,则cluster函数将其作为聚
19、类分组的边界。2=cutoff cutoff作为包含在聚类树中的最大分类数 T=cluster(Z,cutoff,depth,flag)从连接输出(linkage)中创建聚类。参数depth指定了聚类数中的层数,进行不一致系数计算时要用到。不一致系数将聚类树中两对象的连接与相邻的连接进行比较。详细说明见函数inconsistent。当参数depth被指定时,cutoff通常作为不一致系数阈值。参数flag重载参数cutoff的缺省含义。如flag为inconsistent,则cutoff作为不一致系数的阈值。如flag为cluster,则cutoff作为分类的最大数目。输出T为大小为m的向量,
20、它用数字对每个对象所属的类进行标识。为了找到包含在类i中的来自原始数据集的对象,可用find(T=i)。4)zsore(X)对数据矩阵进行标准化处理,处理方式为 jjijijsxxx=其中矩阵nmijxX=)(看作是m个大小为n的向量,jjsx,是每一列的均值和标准差。5)Hdendrogram(Z,P)由linkage产生的数据矩阵Z画聚类树状图。P是结点数,默认值是30。6)T=clusterdata(X,cutoff)将矩阵X的数据分类。X为nm矩阵,被看作m个大小为n的向量。它与以下几个命令等价:Y=pdist(X,euclid)Z=linkage(Y,single)T=cluster
21、(Z,cutoff)7)squareform 将pdist的输出转换为方阵。-452-8)cophenet c=cophenet(Z,Y)计算相干系数,它是将Z中的距离信息(由linkage()函数产生)和Y中的距离信息(由pdist())函数产生进行比较。Z为3)1(m矩阵,距离信息包含在第三列。Y是2/)1(mm维的行向量。例如,给定距离为Y的一组对象,2,1m?,函数linkage()生成聚类树。cophenet()函数用来度量这种分类的失真程度,即由分类所确定的结构与数据间的拟合程度。输出值c为相干系数。对于要求很高的解,该值的幅度应非常接近1。它也可用来比较两种由不同算法所生成的分类
22、解。Z(:,3)和Y之间的相干系数定义为 =jiijjiijjiijijzzyyzzyyc22)()()(其中ijy为Y中对象i和j间的距离;ijz为Z(:,3)中对象i和j间的距离;y和z分别为Y和Z(:,3)的平均距离。1.3 变量聚类法 在实际工作中,变量聚类法的应用也是十分重要的。在系统分析或评估过程中,为避免遗漏某些重要因素,往往在一开始选取指标时,尽可能多地考虑所有的相关因素。而这样做的结果,则是变量过多,变量间的相关度高,给系统分析与建模带来很大的不便。因此,人们常常希望能研究变量间的相似关系,按照变量的相似关系把它们聚合成若干类,进而找出影响系统的主要因素。1.3.1 变量相似
23、性度量 在对变量进行聚类分析时,首先要确定变量的相似性度量,常用的变量相似性度量有两种。1)相关系数 记变量jx的取值),2,1(),(21mjRxxxnTnjjj?=。则可以用两变量jx与kx的样本相关系数作为它们的相似性度量 2111221)()()(=ninikikjijnikikjijjkxxxxxxxxr,(10)在对变量进行聚类分析时,利用相关系数矩阵是最多的。-453-2)夹角余弦 也可以直接利用两变量jx与kx的夹角余弦jkr来定义它们的相似性度量,有 2112121=niikniijniikijjkxxxxr (11)各种定义的相似度量均应具有以下两个性质:a)1jkr,对于
24、一切kj,;b)kjjkrr=,对于一切kj,。jkr越接近1,jx与kx越相关或越相似。jkr越接近零,jx与kx的相似性越弱。1.3.2 变量聚类法 类似于样本集合聚类分析中最常用的最短距离法、最长距离法等,变量聚类法采用了与系统聚类法相同的思路和过程。在变量聚类问题中,常用的有最大系数法、最小系数法等。1)最大系数法 在最大系数法中,定义两类变量的距离为 max),(2121jkGxGxrGGRkj=,(12)这时,),(21GGR等于两类中最相似的两变量间的相似性度量值。2)最小系数法 在最小系数法中,定义两类变量的距离为 min),(2121jkGxGxrGGRkj=,(13)这时,
25、),(21GGR等于两类中相似性最小的两个变量间的相似性度量值。例2 服装标准制定中的变量聚类法。在服装标准制定中,对某地成年女子的各部位尺寸进行了统计,通过14个部位的测量资料,获得各因素之间的相关系数表(见表2)。表5 成年女子各部位相关系数 1x 2x 3x 4x 5x 6x 7x 8x 9x 10 x11x 12x 13x 14x -454-1x 1 2x 0.366 1 3x 0.242 0.233 1 4x 0.28 0.194 0.59 1 5x 0.36 0.324 0.476 0.435 1 6x 0.282 0.262 0.483 0.47 0.4521 7x 0.245
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法大全第29章 多元分析 算法 大全 29 多元 分析
限制150内