算法大全第29章多元分析.pdf
《算法大全第29章多元分析.pdf》由会员分享,可在线阅读,更多相关《算法大全第29章多元分析.pdf(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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-qpkqkkqyxyxd11),(?-=,0q当
4、2,1=q或+q时,则分别得到1)绝对值距离=-=qkkkyxyxd11),(,(1)2)欧氏距离21122),(?-=pkkkyxyxd,(2)3)Chebyshev 距离kkpkyxyxd-=1max),(。(3)在 Minkowski距离中,最常用的是欧氏距离,它的主要优点是当坐标轴进行正交旋转时,欧氏距离是保持不变的。因此,如果对原坐标系进行平移和旋转变换,则变换后样本点间的距离和变换前完全相同。值得注意的是在采用Minkowski距离时,一定要采用相同量纲的变量。如果变量的量纲不同,测量值变异范围相差悬殊时,建议首先进行数据的标准化处理,然后再计算 距 离。在 采 用Minkowsk
5、i距 离 时,还 应 尽 可 能 地 避 免 变 量 的 多 重 相 关 性(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(b)
9、来表示聚类结果。图 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 年和 Sneath195
11、7 年引入。下面举例说明最短距离法的计算步骤。例 1 设有 5个销售员54321,wwwww,他们的销售业绩由二维变量),(21vv描述,见表 1。表 1 销售员业绩表销售员1v(销售量)百件2v(回收款项)万元1w1 0 2w1 1 3w3 2 4w4 3 5w2 5 记销售员)5,4,3,2,1(=iwi的销售业绩为),(21iivv。如果使用绝对值距离来测量点与点之间的距离,使用最短距离法来测量类与类之间的距离,即=-=21),(kjkikjivvwwd,),(min),(jiGwGwqpwwdGGDqjpi=-448-由距离公式),(?d,可以算出距离矩阵。?4404205530664
12、105432154321wwwwwwwwww第一步,所有的元素自成一类,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合成一个新类9h,此时的分类情况是95hH=图 2 最短距
13、离法这样,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(i,j)=mandist(a(i,:),a(j,:);en
14、d 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(:)或者使用 MATLAB统计工具箱的相关命令,编写如下程序:
15、clc,cleara=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)对应原始数据集中对象i 和j 间的距离。Y=pdist
16、(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)使用最短距离算法生成具层次结构的聚类树。输入矩阵 Y为pdist 函数输
17、出的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列,即Z(
18、i,1:2)包含了被两两连接生成一个新类的所有对象的索引。生成的新类索引为jm+。共有1-m个级别更高的类,它们对应于聚类树中的内部节点。第三列,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 作为分类的最
20、大数目。输出T为大小为m的向量,它用数字对每个对象所属的类进行标识。为了找到包含在类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=link
21、age(Y,single)T=cluster(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为相干系数。对于要求很高的解,该值
22、的幅度应非常接近 1。它也可用来比较两种由不同算法所生成的分类解。Z(:,3)和Y之间的相干系数定义为-=jiijjiijjiijijzzyyzzyyc22)()()(其中ijy为Y中对象i和j间的距离;ijz为Z(:,3)中对象i和j间的距离;y和z分别为Y和Z(:,3)的平均距离。1.3 变量聚类法 在实际工作中,变量聚类法的应用也是十分重要的。在系统分析或评估过程中,为避免遗漏某些重要因素,往往在一开始选取指标时,尽可能多地考虑所有的相关因素。而这样做的结果,则是变量过多,变量间的相关度高,给系统分析与建模带来很大的不便。因此,人们常常希望能研究变量间的相似关系,按照变量的相似关系把它们
23、聚合成若干类,进而找出影响系统的主要因素。1.3.1 变量相似性度量 在对变量进行聚类分析时,首先要确定变量的相似性度量,常用的变量相似性度量有两种。1)相关系数 记变量jx的取值),2,1(),(21mjRxxxnTnjjj=。则可以用两变量jx与kx的样本相关系数作为它们的相似性度量 2111221)()()(?-=ninikikjijnikikjijjkxxxxxxxxr,(10)在对变量进行聚类分析时,利用相关系数矩阵是最多的。-453-2)夹角余弦 也可以直接利用两变量jx与kx的夹角余弦jkr来定义它们的相似性度量,有 2112121?=niikniijniikijjkxxxxr(
24、11)各种定义的相似度量均应具有以下两个性质:a)1jkr,对于一切kj,;b)kjjkrr=,对于一切kj,。jkr越接近 1,jx与kx越相关或越相似。jkr越接近零,jx与kx的相似性越弱。1.3.2 变量聚类法 类似于样本集合聚类分析中最常用的最短距离法、最长距离法等,变量聚类法采用了与系统聚类法相同的思路和过程。在变量聚类问题中,常用的有最大系数法、最小系数法等。1)最大系数法 在最大系数法中,定义两类变量的距离为 max),(2121jkGxGxrGGRkj=,(12)这时,),(21GGR等于两类中最相似的两变量间的相似性度量值。2)最小系数法 在最小系数法中,定义两类变量的距离
25、为 min),(2121jkGxGxrGGRkj=,(13)这时,),(21GGR等于两类中相似性最小的两个变量间的相似性度量值。例2 服装标准制定中的变量聚类法。在服装标准制定中,对某地成年女子的各部位尺寸进行了统计,通过14个部位的测量资料,获得各因素之间的相关系数表(见表2)。表5 成年女子各部位相关系数 1x2x3x4x5x6x7x8x9x10 x11x12x13x14x-454-1x1 2x0.366 1 3x0.242 0.233 1 4x0.28 0.194 0.59 1 5x0.36 0.324 0.476 0.435 1 6x0.282 0.262 0.483 0.47 0.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 大全 29 多元 分析
限制150内