您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 理学 > 重庆工商大学数学建模算法讲义第29章 多元分析
-443-第二十九章多元分析多元分析(multivariateanalyses)是多变量的统计分析方法,是数理统计中应用广泛的一个重要分支,其内容庞杂,视角独特,方法多样,深受工程技术人员的青睐和广泛使用,并在使用中不断完善和创新。由于变量的相关性,不能简单地把每个变量的结果进行汇总,这是多变量统计分析的基本出发点。§1聚类分析将认识对象进行分类是人类认识世界的一种重要方法,比如有关世界的时间进程的研究,就形成了历史学,也有关世界空间地域的研究,则形成了地理学。又如在生物学中,为了研究生物的演变,需要对生物进行分类,生物学家根据各种生物的特征,将它们归属于不同的界、门、纲、目、科、属、种之中。事实上,分门别类地对事物进行研究,要远比在一个混杂多变的集合中更清晰、明了和细致,这是因为同一类事物会具有更多的近似特性。在企业的经营管理中,为了确定其目标市场,首先要进行市场细分。因为无论一个企业多么庞大和成功,它也无法满足整个市场的各种需求。而市场细分,可以帮助企业找到适合自己特色,并使企业具有竞争力的分市场,将其作为自己的重点开发目标。通常,人们可以凭经验和专业知识来实现分类。而聚类分析(clusteranalyses)作为一种定量方法,将从数据分析的角度,给出一个更准确、细致的分类工具。1.1相似性度量1.1.1样本的相似性度量要用数量化的方法对事物进行分类,就必须用数量化的方法描述事物之间的相似程度。一个事物常常需要用多个变量来刻画。如果对于一群有待分类的样本点需用p个变量描述,则每个样本点可以看成是pR空间中的一个点。因此,很自然地想到可以用距离来度量样本点间的相似程度。记Ω是样本点集,距离),(⋅⋅d是+→Ω×ΩR的一个函数,满足条件:1)0),(≥yxd,Ω∈yx,;2)0),(=yxd当且仅当yx=;3)),(),(xydyxd=,Ω∈yx,;4)),(),(),(yxdzxdyxd+≤,Ω∈zyx,,。这一距离的定义是我们所熟知的,它满足正定性,对称性和三角不等式。在聚类分析中,对于定量变量,昀常用的是Minkowski距离-444-qpkqkkqyxyxd11),(⎥⎦⎤⎢⎣⎡−=∑=,0q当2,1=q或+∞→q时,则分别得到1)绝对值距离∑=−=qkkkyxyxd11),(,(1)2)欧氏距离21122),(⎥⎦⎤⎢⎣⎡−=∑=pkkkyxyxd,(2)3)Chebyshev距离kkpkyxyxd−=≤≤∞1max),(。(3)在Minkowski距离中,昀常用的是欧氏距离,它的主要优点是当坐标轴进行正交旋转时,欧氏距离是保持不变的。因此,如果对原坐标系进行平移和旋转变换,则变换后样本点间的距离和变换前完全相同。值得注意的是在采用Minkowski距离时,一定要采用相同量纲的变量。如果变量的量纲不同,测量值变异范围相差悬殊时,建议首先进行数据的标准化处理,然后再计算距离。在采用Minkowski距离时,还应尽可能地避免变量的多重相关性(multicollinearity)。多重相关性所造成的信息重叠,会片面强调某些变量的重要性。由于Minkowski距离的这些缺点,一种改进的距离就是马氏距离,定义如下4)马氏(Mahalanobis)距离)()(),(1yxyxyxdT−Σ−=−(4)其中yx,为来自p维总体Z的样本观测值,Σ为Z的协方差矩阵,实际中Σ往往是不知道的,常常需要用样本协方差来估计。马氏距离对一切线性变换是不变的,故不受量纲的影响。此外,还可采用样本相关系数、夹角余弦和其它关联性度量作为相似性度量。近年来随着数据挖掘研究的深入,这方面的新方法层出不穷。1.1.2类与类间的相似性度量如果有两个样本类1G和2G,我们可以用下面的一系列方法度量它们间的距离:1)昀短距离法(nearestneighbororsinglelinkagemethod)-445-)},({min),(2121jiGyGxyxdGGDji∈∈=,(5)它的直观意义为两个类中昀近两点间的距离。2)昀长距离法(farthestneighbororcompletelinkagemethod))},({max),(2121jiGyGxyxdGGDji∈∈=,(6)它的直观意义为两个类中昀远两点间的距离。3)重心法(centroidmethod)),(),(21yxdGGD=,(7)其中yx,分别为21,GG的重心。4)类平均法(groupaveragemethod)∑∑∈∈=12),(1),(2121GxGxjiijxxdnnGGD,(8)它等于21,GG中两两样本点距离的平均,式中21,nn分别为21,GG中的样本点个数。5)离差平方和法(sumofsquaresmethod)若记∑∈−−=1)()(111GxiTiixxxxD,∑∈−−=2)()(222GxjTjjxxxxD,∑∈−−=21)()(12GGxkTkkxxxxD∪,其中∑∈=1111Gxiixnx,∑∈=2221Gxjjxnx,∑∈+=21211GGxkkxnnx∪则定义211221),(DDDGGD−−=(9)事实上,若21,GG内部点与点距离很小,则它们能很好地各自聚为一类,并且这两类又能够充分分离(即12D很大),这时必然有2112DDDD−−=很大。因此,按定义可以认为,两类21,GG之间的距离很大。离差平方和法昀初是由Ward在1936年提出,-446-后经Orloci等人1976年发展起来的,故又称为Ward方法。1.2系统聚类法1.2.1系统聚类法的功能与特点系统聚类法是聚类分析方法中昀常用的一种方法。它的优点在于可以指出由粗到细的多种分类情况,典型的系统聚类结果可由一个聚类图展示出来。例如,在平面上有7个点721,,,(如图1(a)),可以用聚类图(如图1(b))来表示聚类结果。图1聚类方法示意图记},,,{721=Ω,聚类结果如下:当距离值为5f时,分为一类},,,,,,{76543211=;距离值为4f分为两类:},,{3211=,},,,{76542=;距离值为3f分为三类:},,{3211=,},,{6542=,}{73wG=;距离值为2f分为四类:},,{3211=,},{542wwG=,}{63wG=,}{74wG=距离值为1f分为六类:},{541wwG=,}{12wG=,}{23wG=,}{34wG=,}{65wG=,}{76wG=距离小于1f分为七类,每一个点自成一类。-447-怎样才能生成这样的聚类图呢?步骤如下:设},,,{721=Ω,1)计算n个样本点两两之间的距离}{ijd,记为矩阵nnijdD×=)(;2)首先构造n个类,每一个类中只包含一个样本点,每一类的平台高度均为零;3)合并距离昀近的两类为新类,并且以这两类间的距离值作为聚类图中的平台高度;4)计算新类与当前各类的距离,若类的个数已经等于1,转入步骤5),否则,回到步骤3);5)画聚类图;6)决定类的个数和类。显而易见,这种系统归类过程与计算类和类之间的距离有关,采用不同的距离定义,有可能得出不同的聚类结果。1.2.2昀短距离法与昀长距离法如果使用昀短距离法来测量类与类之间的距离,即称其为系统聚类法中的昀短距离法(又称昀近邻法),昀先由Florek等人1951年和Sneath1957年引入。下面举例说明昀短距离法的计算步骤。例1设有5个销售员54321,,,,,他们的销售业绩由二维变量),(21vv描述,见表1。表1销售员业绩表销售员1v(销售量)百件2v(回收款项)万元1w102w113w324w435w25记销售员)5,4,3,2,1(=iwi的销售业绩为),(21iivv。如果使用绝对值距离来测量点与点之间的距离,使用昀短距离法来测量类与类之间的距离,即∑=−=21),(kjkikjivvwwd,)},({min),(jiGwGwqpwwdGGDqjpi∈∈=-448-由距离公式),(⋅⋅d,可以算出距离矩阵。⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡4404205530664105432154321第一步,所有的元素自成一类},,,,{543211=。每一个类的平台高度为零,即)5,4,3,2,1(0)(==iwfi。显然,这时),(),(qpqpwwdGGD=。第二步,取新类的平台高度为1,把21,ww合成一个新类6h,此时的分类情况是},,,{54362=第三步,取新类的平台高度为2,把43,ww合成一个新类7h,此时的分类情况是},,{5763whhH=第四步,取新类的平台高度为3,把76,hh合成一个新类8h,此时的分类情况是},{584whH=第五步,取新类的平台高度为4,把8h和5w合成一个新类9h,此时的分类情况是}{95hH=图2昀短距离法这样,9h已把所有的样本点聚为一类,因此,可以转到画聚类图步骤。画出聚类-449-图(如图2(a))。这是一颗二叉树,如图2(b)。有了聚类图,就可以按要求进行分类。可以看出,在这五个推销员中5w的工作成绩昀佳,43,ww的工作成绩昀好,而21,ww的工作成绩较差。完全类似于以上步骤,但以昀长距离法来计算类间距离,就称为系统聚类法中的昀长距离法。计算的MATLAB程序如下:clc,cleara=[1,0;1,1;3,2;4,3;2,5];[m,n]=size(a);d=zeros(m,m);fori=1:mforj=i+1:md(i,j)=mandist(a(i,:),a(j,:)');endenddnd=nonzeros(d);nd=union(nd,nd)fori=1:m-1nd_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))=[];iflength(nd)==0breakendends(:)或者使用MATLAB统计工具箱的相关命令,编写如下程序: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)pdistY=pdist(X)计算nm×矩阵X(被看作m个大小为n的向量)中两两对象间的欧氏距离。对于有m个对象组成的数据集,共有2/)1(mm⋅−个两两对象组合。输出Y是包含距离信息的长度为2/)1(mm⋅−的向量。可用squareform函数将此向量转换为方阵,这样可使矩阵中的元素(i,j)对应原始数据集中对象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)linkageZ=linkage(Y)使用昀短距离算法生成具层次结构的聚类树。输入矩阵Y为pdist函数输出的2/)1(mm⋅−维距离行向量。Z=linkage(Y,’method’)使用由’method’指定的算法计算生成聚类树。’method’可取表3中特征字符串值。表3’method’取值及含义字符串含义’s
本文标题:重庆工商大学数学建模算法讲义第29章 多元分析
链接地址:https://www.777doc.com/doc-10667371 .html