第二十九章多元分析 多元分析( multivariate analyses)是多变量的统计分析方法,是数理统计中应用广 泛的一个重要分支,其内容庞杂,视角独特,方法多样,深受工程技术人员的青睐和广 泛使用,并在使用中不断完善和创新。由于变量的相关性,不能简单地把每个变量的结 果进行汇总,这是多变量统计分析的基本出发点。 §1聚类分析 将认识对象进行分类是人类认识世界的一种重要方法,比如有关世界的时间进程 的研究,就形成了历史学,也有关世界空间地域的研究,则形成了地理学。又如在生物 学中,为了研究生物的演变,需要对生物进行分类,生物学家根据各种生物的特征,将 它们归属于不同的界、门、纲、目、科、属、种之中。事实上,分门别类地对事物进行 研究,要远比在一个混杂多变的集合中更清晰、明了和细致,这是因为同一类事物会具 有更多的近似特性。在企业的经营管理中,为了确定其目标市场,首先要进行市场细分。 因为无论一个企业多么庞大和成功,它也无法满足整个市场的各种需求。而市场细分, 可以帮助企业找到适合自己特色,并使企业具有竞争力的分市场,将其作为自己的重点 开发目标 通常,人们可以凭经验和专业知识来实现分类。而聚类分析( cluster analyses)作 为一种定量方法,将从数据分析的角度,给出一个更准确、细致的分类工具。 1.1相似性度量 1.1样本的相似性度量 要用数量化的方法对事物进行分类,就必须用数量化的方法描述事物之间的相似 程度。一个事物常常需要用多个变量来刻画。如果对于一群有待分类的样本点需用P个 变量描述,则每个样本点可以看成是RP空间中的一个点。因此,很自然地想到可以用 距离来度量样本点间的相似程度 记Ω是样本点集,距离d(;)是Ω×Ω→R的一个函数,满足条件 1)d(x,y)≥0,x,y∈Ω; 2)d(x,y)=0当且仅当x= 3)d(,y)=d(, x), x,yEQ 4)d(x,y)≤d(x,)+d(x,y),x,y,z∈Ω。 这一距离的定义是我们所熟知的,它满足正定性,对称性和三角不等式。在聚类 分析中,对于定量变量,最常用的是 Minkowski距离 443
-443- 第二十九章 多元分析 多元分析(multivariate analyses)是多变量的统计分析方法,是数理统计中应用广 泛的一个重要分支,其内容庞杂,视角独特,方法多样,深受工程技术人员的青睐和广 泛使用,并在使用中不断完善和创新。由于变量的相关性,不能简单地把每个变量的结 果进行汇总,这是多变量统计分析的基本出发点。 §1 聚类分析 将认识对象进行分类是人类认识世界的一种重要方法,比如有关世界的时间进程 的研究,就形成了历史学,也有关世界空间地域的研究,则形成了地理学。又如在生物 学中,为了研究生物的演变,需要对生物进行分类,生物学家根据各种生物的特征,将 它们归属于不同的界、门、纲、目、科、属、种之中。事实上,分门别类地对事物进行 研究,要远比在一个混杂多变的集合中更清晰、明了和细致,这是因为同一类事物会具 有更多的近似特性。在企业的经营管理中,为了确定其目标市场,首先要进行市场细分。 因为无论一个企业多么庞大和成功,它也无法满足整个市场的各种需求。而市场细分, 可以帮助企业找到适合自己特色,并使企业具有竞争力的分市场,将其作为自己的重点 开发目标。 通常,人们可以凭经验和专业知识来实现分类。而聚类分析(cluster analyses)作 为一种定量方法,将从数据分析的角度,给出一个更准确、细致的分类工具。 1.1 相似性度量 1.1.1 样本的相似性度量 要用数量化的方法对事物进行分类,就必须用数量化的方法描述事物之间的相似 程度。一个事物常常需要用多个变量来刻画。如果对于一群有待分类的样本点需用 p 个 变量描述,则每个样本点可以看成是 p R 空间中的一个点。因此,很自然地想到可以用 距离来度量样本点间的相似程度。 记Ω 是样本点集,距离 d(⋅,⋅) 是 → + Ω×Ω R 的一个函数,满足条件: 1)d(x, y) ≥ 0 , x, y ∈Ω; 2)d(x, y) = 0当且仅当 x = y ; 3)d(x, y) = d( y, x) , x, y ∈Ω; 4)d(x, y) ≤ d(x,z) + d(x, y) , x, y,z ∈Ω 。 这一距离的定义是我们所熟知的,它满足正定性,对称性和三角不等式。在聚类 分析中,对于定量变量,最常用的是 Minkowski 距离
, (x, y)=2x-y.q 当q=1,2或q→>+∞时,则分别得到 )绝对值距离 ∑x-y 2)欧氏距离 d2(x,y)=2-yl 3) Chebyshev距离 xk-VE 在 Minkowski距离中,最常用的是欧氏距离,它的主要优点是当坐标轴进行正交 旋转时,欧氏距离是保持不变的。因此,如果对原坐标系进行平移和旋转变换,则变换 后样本点间的距离和变换前完全相同 值得注意的是在采用 Minkowski距离时,一定要采用相同量纲的变量。如果变量 的量纲不同,测量值变异范围相差悬殊时,建议首先进行数据的标准化处理,然后再计 算距离。在采用 Minkowski距离时,还应尽可能地避免变量的多重相关性 ( multicollinearity)。多重相关性所造成的信息重叠,会片面强调某些变量的重要性。 由于 Minkowski距离的这些缺点,一种改进的距离就是马氏距离,定义如下 4)马氏( Mahalanobis)距离 d(x,y) (4) 其中x,y为来自p维总体Z的样本观测值,Σ为Z的协方差矩阵,实际中Σ往往是不 知道的,常常需要用样本协方差来估计。马氏距离对一切线性变换是不变的,故不受量 纲的影响 此外,还可采用样本相关系数、夹角余弦和其它关联性度量作为相似性度量。近年 来随着数据挖掘研究的深入,这方面的新方法层出不穷。 1.1.2类与类间的相似性度量 如果有两个样本类G1和G2,我们可以用下面的一系列方法度量它们间的距离: 1)最短距离法( nearest neighbor or single linkage method) 444
-444- q p k q q k k d x y x y 1 1 ( , ) ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ∑ − = ,q > 0 当 q = 1,2或 q → +∞ 时,则分别得到 1)绝对值距离 ∑= = − q k k k d x y x y 1 1( , ) , (1) 2)欧氏距离 2 1 1 2 2 ( , ) ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = ∑ − = p k k k d x y x y , (2) 3)Chebyshev 距离 k k k p d x y = x − y ≤ ≤ ∞ 1 ( , ) max 。 (3) 在 Minkowski 距离中,最常用的是欧氏距离,它的主要优点是当坐标轴进行正交 旋转时,欧氏距离是保持不变的。因此,如果对原坐标系进行平移和旋转变换,则变换 后样本点间的距离和变换前完全相同。 值得注意的是在采用 Minkowski 距离时,一定要采用相同量纲的变量。如果变量 的量纲不同,测量值变异范围相差悬殊时,建议首先进行数据的标准化处理,然后再计 算距离。在采用 Minkowski 距离时,还应尽可能地避免变量的多重相关性 (multicollinearity)。多重相关性所造成的信息重叠,会片面强调某些变量的重要性。 由于 Minkowski 距离的这些缺点,一种改进的距离就是马氏距离,定义如下 4)马氏(Mahalanobis)距离 ( , ) ( ) ( ) 1 d x y x y x y T = − Σ − − (4) 其中 x, y 为来自 p 维总体 Z 的样本观测值,Σ 为 Z 的协方差矩阵,实际中Σ 往往是不 知道的,常常需要用样本协方差来估计。马氏距离对一切线性变换是不变的,故不受量 纲的影响。 此外,还可采用样本相关系数、夹角余弦和其它关联性度量作为相似性度量。近年 来随着数据挖掘研究的深入,这方面的新方法层出不穷。 1.1.2 类与类间的相似性度量 如果有两个样本类G1和G2 ,我们可以用下面的一系列方法度量它们间的距离: 1)最短距离法(nearest neighbor or single linkage method)
D(G,, G,=mind(x,,y)) (5) 它的直观意义为两个类中最近两点间的距离 2)最长距离法( arthest neighbor or complete linkage method) D(GL, G2) 它的直观意义为两个类中最远两点间的距离 3)重心法( centroid method) D(G1,G2)=d(x,y) 其中x,j分别为G1G2的重心 4)类平均法( group average method) D(G1G2)=∑∑d(x2,x) (8) n,n2 它等于G1,G2中两两样本点距离的平均,式中n1,m2分别为G,G2中的样本点个数 5)离差平方和法( sum of squares method 若记 D=∑(x-x)(x-x),D2=∑(x-x2)(x1-x), 其中 ∑x,x2=∑ xk 则定义 D(G1,G2)=D12 事实上,若G1,G2内部点与点距离很小,则它们能很好地各自聚为一类,并且这两类 又能够充分分离(即D2很大),这时必然有D=D2-D1-D2很大。因此,按定义可 以认为,两类G1G2之间的距离很大。离差平方和法最初是由Ward在1936年提出
-445- ( , ) min{ ( , )} 2 1 1 2 i j y G x G D G G d x y j i ∈ ∈ = , (5) 它的直观意义为两个类中最近两点间的距离。 2)最长距离法(farthest neighbor or complete linkage method) ( , ) max{ ( , )} 2 1 1 2 i j y G x G D G G d x y j i ∈ ∈ = , (6) 它的直观意义为两个类中最远两点间的距离。 3)重心法(centroid method) ( , ) ( , ) 1 2 D G G = d x y , (7) 其中 x, y 分别为 1 2 G ,G 的重心。 4)类平均法(group average method) ∑ ∑∈ ∈ = 1 2 ( , ) 1 ( , ) 1 2 1 2 x G G x i j i j d x x n n D G G , (8) 它等于 1 2 G ,G 中两两样本点距离的平均,式中 1 2 n , n 分别为 1 2 G ,G 中的样本点个数。 5)离差平方和法(sum of squares method) 若记 ∑∈ = − − 1 ( ) ( ) 1 1 1 x G i T i i D x x x x , ∑∈ = − − 2 ( ) ( ) 2 2 2 x G j T j j D x x x x , ∑∈ = − − 1 2 ( ) ( ) 12 x G G k T k k D x x x x ∪ , 其中 ∑∈ = 1 1 1 1 x G i i x n x , ∑∈ = 2 2 2 1 x G j j x n x , ∑ + ∈ = 1 2 1 2 1 x G G k k x n n x ∪ 则定义 1 2 12 1 2 D(G ,G ) = D − D − D (9) 事实上,若 1 2 G ,G 内部点与点距离很小,则它们能很好地各自聚为一类,并且这两类 又能够充分分离(即 D12 很大),这时必然有 D = D12 − D1 − D2 很大。因此,按定义可 以认为,两类 1 2 G ,G 之间的距离很大。离差平方和法最初是由 Ward 在 1936 年提出
后经 Orloci等人1976年发展起来的,故又称为ward方法。 12系统聚类法 12.1系统聚类法的功能与特点 系统聚类法是聚类分析方法中最常用的一种方法。它的优点在于可以指出由粗到细 的多种分类情况,典型的系统聚类结果可由一个聚类图展示出来。 例如,在平面上有7个点w,2…,W7(如图1(a)),可以用聚类图(如图1(b) 来表示聚类结果 oww6w34吗2n21 图1聚类方法示意图 记g={1,W2,…,W7},聚类结果如下:当距离值为f时,分为一类 G1={1,w2,w3,w4,ws,w6,wn}; 距离值为∫4分为两 G1={w1,w2,W3},G2={4,ws,w6,V7} 距离值为厂3分为三类 距离值为f2分为四类 G1={22,w3},G2={4,W3},G3={},G4={n} 距离值为f分为六类: G1={w4,W3},G2={1},G3={2},G4= 距离小于分为七类,每一个点自成一类。 446
-446- 后经 Orloci 等人 1976 年发展起来的,故又称为 Ward 方法。 1.2 系统聚类法 1.2.1 系统聚类法的功能与特点 系统聚类法是聚类分析方法中最常用的一种方法。它的优点在于可以指出由粗到细 的多种分类情况,典型的系统聚类结果可由一个聚类图展示出来。 例如,在平面上有 7 个点 1 2 7 w ,w ,",w (如图 1(a)),可以用聚类图(如图 1(b)) 来表示聚类结果。 图 1 聚类方法示意图 记 { , , , } Ω = w1 w2 " w7 ,聚类结果如下:当距离值为 5f 时,分为一类 { , , , , , , } G1 = w1 w2 w3 w4 w5 w6 w7 ; 距离值为 4f 分为两类: { , , } G1 = w1 w2 w3 , { , , , } G2 = w4 w5 w6 w7 ; 距离值为 3f 分为三类: { , , } G1 = w1 w2 w3 , { , , } G2 = w4 w5 w6 , { } G3 = w7 ; 距离值为 2f 分为四类: { , , } G1 = w1 w2 w3 , { , } G2 = w4 w5 , { } G3 = w6 , { } G4 = w7 距离值为 1f 分为六类: { , } G1 = w4 w5 , { } G2 = w1 , { } G3 = w2 , { } G4 = w3 , { } G5 = w6 , { } G6 = w7 距离小于 1f 分为七类,每一个点自成一类
怎样才能生成这样的聚类图呢?步骤如下:设g={w1,w2…,W2} 1)计算n个样本点两两之间的距离{dn},记为矩阵D=(d) 2)首先构造n个类,每一个类中只包含一个样本点,每一类的平台高度均为零 3)合并距离最近的两类为新类,并且以这两类间的距离值作为聚类图中的平台高 4)计算新类与当前各类的距离,若类的个数已经等于1,转入步骤5),否则,回 到步骤3) 5)画聚类图; 6)决定类的个数和类。 显而易见,这种系统归类过程与计算类和类之间的距离有关,采用不同的距离定 义,有可能得出不同的聚类结果。 122最短距离法与最长距离法 如果使用最短距离法来测量类与类之间的距离,即称其为系统聚类法中的最短距离 法(又称最近邻法),最先由 Florek等人1951年和 Sneath1957年引入。下面举例说明 最短距离法的计算步骤。 例1设有5个销售员w,12W32w4,w5,他们的销售业绩由二维变量(v1,v2)描述, 见表1 表1销售员业绩表 销售员 v1(销售量)百件V2(回收款项)万元 记销售员w(=1,2,34,5)的销售业绩为(vn,V2)。如果使用绝对值距离来测量点 与点之间的距离,使用最短距离法来测量类与类之间的距离,即 d(,)=∑-k,D(G,G,)=mm{d(m
-447- 怎样才能生成这样的聚类图呢?步骤如下:设 { , , , } Ω = w1 w2 " w7 , 1)计算n 个样本点两两之间的距离{ } dij ,记为矩阵 D = dij n×n ( ) ; 2)首先构造n 个类,每一个类中只包含一个样本点,每一类的平台高度均为零; 3)合并距离最近的两类为新类,并且以这两类间的距离值作为聚类图中的平台高 度; 4)计算新类与当前各类的距离,若类的个数已经等于 1,转入步骤 5),否则,回 到步骤 3); 5)画聚类图; 6)决定类的个数和类。 显而易见,这种系统归类过程与计算类和类之间的距离有关,采用不同的距离定 义,有可能得出不同的聚类结果。 1.2.2 最短距离法与最长距离法 如果使用最短距离法来测量类与类之间的距离,即称其为系统聚类法中的最短距离 法(又称最近邻法),最先由 Florek 等人 1951 年和 Sneath1957 年引入。下面举例说明 最短距离法的计算步骤。 例1 设有5个销售员 1 2 3 4 5 w ,w ,w ,w ,w ,他们的销售业绩由二维变量( , ) 1 2 v v 描述, 见表 1。 表 1 销售员业绩表 销售员 1 v (销售量)百件 2 v (回收款项)万元 w1 1 0 w2 1 1 w3 3 2 w4 4 3 w5 2 5 记销售员 w (i =1,2,3,4,5) i 的销售业绩为( , ) i1 i2 v v 。如果使用绝对值距离来测量点 与点之间的距离,使用最短距离法来测量类与类之间的距离,即 ∑= = − 2 1 ( , ) k i j ik jk d w w v v , ( , ) min{ ( , )} i j w G w G D Gp Gq d w w j q i p ∈ ∈ =
由距离公式d(;),可以算出距离矩阵。 WI w2 W3 W4 w5 1「01466 0355 04 第一步,所有的元素自成一类H1={v1,w2,W3,4,W3}。每一个类的平台高度为 零,即f()=O(=1,2,345)。显然,这时D(G2,G)=d(wp,g)。 第二步,取新类的平台高度为1,把w1"2合成一个新类h,此时的分类情况是 H2={h,W3,w4,w5 第三步,取新类的平台高度为2,把W3,4合成一个新类/,此时的分类情况是 H3={,h,w3} 第四步,取新类的平台高度为3,把h,h2合成一个新类h,此时的分类情况是 H4={h3,W3} 第五步,取新类的平台高度为4,把h3和5合成一个新类h,此时的分类情况是 H5={} 2w3 图2最短距离法 这样,h已把所有的样本点聚为一类,因此,可以转到画聚类图步骤。画出聚类
-448- 由距离公式 d(⋅,⋅) ,可以算出距离矩阵。 ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 4 0 4 0 2 4 0 3 5 5 0 1 4 6 6 5 4 3 2 1 1 2 3 4 5 w w w w w w w w w w 第一步,所有的元素自成一类 { , , , , } H1 = w1 w2 w3 w4 w5 。每一个类的平台高度为 零,即 f (w ) = 0(i = 1,2,3,4,5) i 。显然,这时 ( , ) ( , ) D Gp Gq = d wp wq 。 第二步,取新类的平台高度为 1,把 1 2 w ,w 合成一个新类 h6 ,此时的分类情况是 { , , , } H2 = h6 w3 w4 w5 第三步,取新类的平台高度为 2,把 3 4 w ,w 合成一个新类h7 ,此时的分类情况是 { , , } H3 = h6 h7 w5 第四步,取新类的平台高度为 3,把 6 7 h , h 合成一个新类 h8 ,此时的分类情况是 { , } H4 = h8 w5 第五步,取新类的平台高度为 4,把 h8 和 w5 合成一个新类 h9 ,此时的分类情况是 { } H5 = h9 图 2 最短距离法 这样, h9 已把所有的样本点聚为一类,因此,可以转到画聚类图步骤。画出聚类
图(如图2(a))。这是一颗二叉树,如图2(b)。 有了聚类图,就可以按要求进行分类。可以看出,在这五个推销员中w5的工作成 绩最佳,w3,W4的工作成绩最好,而w1,w2的工作成绩较差 完全类似于以上步骤,但以最长距离法来计算类间距离,就称为系统聚类法中的 最长距离法。 计算的 MATLAB程序如下 a=[1,0;1,1;3,2;4,3;2,5] d(i,j) d d min=min(nd) [row, col]=find(d==nd min); tm=union(row, col) s(i)={char(['第',int2str(i),·次合成,平台高度为',num2str( nd min), 时的分类结果为:',int2str(tm)])}; 号上面大括号{}代表建立数组 nd(find (nd==nd min))=[] if length(nd)==0 或者使用 MATLAB统计工具箱的相关命令,编写如下程序: y=pdist(a, ' ');yc=squareform(y) z=linkage(y)
-449- 图(如图 2(a))。这是一颗二叉树,如图 2(b)。 有了聚类图,就可以按要求进行分类。可以看出,在这五个推销员中 w5 的工作成 绩最佳, 3 4 w ,w 的工作成绩最好,而 1 2 w ,w 的工作成绩较差。 完全类似于以上步骤,但以最长距离法来计算类间距离,就称为系统聚类法中的 最长距离法。 计算的 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,:)'); 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(:) 或者使用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)
MATLAB中相关命令的使用说明如下 1) pdist Y=pdist(X)计算m×n矩阵X(被看作m个大小为n的向量)中两两对象间的欧氏 距离。对于有m个对象组成的数据集,共有(m-1)·m/2个两两对象组合。 输出Y是包含距离信息的长度为(m-1)·m/2的向量。可用 squareform函数将此向 量转换为方阵,这样可使矩阵中的元素(i,j)对应原始数据集中对象i和j的距离。 Y= pdist(X,’ metric’)中用’ metric’指定的方法计算矩阵X中对象间的距 离。’ metric’可取表2中特征字符串值。 表2’ metric’取值及含义 字符串 欧氏距离(缺省) EUclid 标准欧氏距离 Mahal 马氏距离( Mahalanobis距离) CityBlock 绝对值距离 Minkowski 闵氏距离( Minkowski距离) Y=pdist(X,’ minkowski’,p)用闵氏距离计算矩阵X中对象间的距离。P为闵氏距离 计算用到的指数值,缺省为 2) linkage Z= linkage③Y)使用最短距离算法生成具层次结构的聚类树。输入矩阵Y为 pdist函数 输出的(m-1)·m/2维距离行向量 Z= linkage(Y,’ method’)使用由’ method’指定的算法计算生成聚类 树。’ method’可取表3中特征字符串值。 表3’ method’取值及含义 字符串 single 最短距离(缺省) 最大距离 centroid 重心距离 ward' 离差平方和方法(Ward方法) 输出Z为包含聚类树信息的(m-1)×3矩阵。聚类树上的叶节点为原始数据集中的 对象,由1到m。它们是单元素的类,级别更高的类都由它们生成。对应于Z中行j每 个新生成的类,其索引为m+j,其中m为初始叶节点的数量
-450- MATLAB中相关命令的使用说明如下: 1)pdist Y=pdist(X)计算 m× n 矩阵X(被看作 m 个大小为n 的向量)中两两对象间的欧氏 距离。对于有 m 个对象组成的数据集,共有(m −1)⋅ m / 2个两两对象组合。 输出Y是包含距离信息的长度为(m −1)⋅ m / 2的向量。可用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)linkage Z=linkage(Y)使用最短距离算法生成具层次结构的聚类树。输入矩阵Y为pdist函数 输出的(m −1)⋅ m / 2维距离行向量。 Z=linkage(Y,’method’)使用由’method’指定的算法计算生成聚类 树。’method’可取表3中特征字符串值。 表3 ’method’取值及含义 字符串 含 义 ’single’ 最短距离(缺省) ’complete’ 最大距离 ’average’ 平均距离 ’centroid’ 重心距离 ’ward’ 离差平方和方法(Ward方法) 输出Z为包含聚类树信息的(m −1)×3矩阵。聚类树上的叶节点为原始数据集中的 对象,由1到m 。它们是单元素的类,级别更高的类都由它们生成。对应于Z中行 j 每 个新生成的类,其索引为 m + j ,其中 m 为初始叶节点的数量
第1列和第2列,即Z(i,1:2)包含了被两两连接生成一个新类的所有对象的索引。生 成的新类索引为m+j。共有m-1个级别更高的类,它们对应于聚类树中的内部节点。 第三列,Z(i,3)包含了相应的在类中的两两对象间的连接距离。 3) cluster T= cluster(Z, cutoff)从连接输出( linkage)中创建聚类。 cutoff为定义 cluster 函数如何生成聚类的阈值,其不同的值含义如表4所示。 表4 cutoff取值及含义 cutoff.取值 含义 utofff为不一致系数的阈值。不一致系数对聚类树中对象间的差 异进行了量化。如果一个连接的不一致系数大于阙值,则 cluster 函数将其作为聚类分组的边界。 2=cutoff cutoff作为包含在聚类树中的最大分类数 T= cluster(Z, cutoff, depth,flag)从连接输出( linkage)中创建聚类。参数 depth 指定了聚类数中的层数,进行不一致系数计算时要用到。不一致系数将聚类树中两对象 的连接与相邻的连接进行比较。详细说明见函数 inconsistent。当参数 depth被指定时 cutoff通常作为不一致系数阈值。 参数f1ag重载参数 cutoff的缺省含义。如flag为’ inconsistent’,则 cutoff作为 不一致系数的阈值。如f1ag为’ cluster’,则 cutoff作为分类的最大数目。 输出T为大小为m的向量,它用数字对每个对象所属的类进行标识。为了找到包含 在类i中的来自原始数据集的对象,可用find(T==i) 4) sore(X 对数据矩阵进行标准化处理,处理方式为 其中矩阵X=(xn)mxn看作是m个大小为n的向量,xS是每一列的均值和标准差。 5)H=dendrogram(Z, P) 由 linkage产生的数据矩阵Z画聚类树状图。P是结点数,默认值是30 6)T=clusterdata(, cutoff) 将矩阵X的数据分类。X为m×n矩阵,被看作m个大小为n的向量。它与以下几个 命令等价: Y= pdist(X,’ euclid') kage(Y,’ single’) T=cluster (Z, cutoff) 将 pdist的输出转换为方阵
-451- 第1列和第2列,即Z(i,1:2)包含了被两两连接生成一个新类的所有对象的索引。生 成的新类索引为 m + j 。共有 m −1个级别更高的类,它们对应于聚类树中的内部节点。 第三列,Z(i,3)包含了相应的在类中的两两对象间的连接距离。 3)cluster T=cluster(Z,cutoff)从连接输出(linkage)中创建聚类。cutoff为定义cluster 函数如何生成聚类的阈值,其不同的值含义如表4所示。 表4 cutoff取值及含义 cutoff取值 含 义 0<cutoff<2 cutoff作为不一致系数的阈值。不一致系数对聚类树中对象间的差 异进行了量化。如果一个连接的不一致系数大于阈值,则cluster 函数将其作为聚类分组的边界。 2<=cutoff cutoff作为包含在聚类树中的最大分类数 T=cluster(Z,cutoff,depth,flag)从连接输出(linkage)中创建聚类。参数depth 指定了聚类数中的层数,进行不一致系数计算时要用到。不一致系数将聚类树中两对象 的连接与相邻的连接进行比较。详细说明见函数inconsistent。当参数depth被指定时, cutoff通常作为不一致系数阈值。 参数flag重载参数cutoff的缺省含义。如flag为’inconsistent’,则cutoff作为 不一致系数的阈值。如flag为’cluster’,则cutoff作为分类的最大数目。 输出T为大小为 m 的向量,它用数字对每个对象所属的类进行标识。为了找到包含 在类i中的来自原始数据集的对象,可用find(T==i)。 4)zsore(X) 对数据矩阵进行标准化处理,处理方式为 j ij j ij s x x x − = ~ 其中矩阵 ij m n X x = × ( ) 看作是 m 个大小为n 的向量, j j x ,s 是每一列的均值和标准差。 5)H=dendrogram(Z,P) 由linkage产生的数据矩阵Z画聚类树状图。P是结点数,默认值是30。 6)T=clusterdata(X,cutoff) 将矩阵X的数据分类。X为 m× n 矩阵,被看作 m 个大小为n 的向量。它与以下几个 命令等价: Y=pdist(X,’euclid’) Z=linkage(Y,’single’) T=cluster(Z,cutoff) 7)squareform 将pdist的输出转换为方阵
8) cophenet c= cophenet(Z,Y)计算相干系数,它是将Z中的距离信息(由 linkage o函数产生) 和Y中的距离信息(由 pdist0)函数产生进行比较。Z为(m-1)×3矩阵,距离信息包 含在第三列。Y是(m-1)·m/2维的行向量 例如,给定距离为Y的一组对象{1,2,…,m},函数1 inkage o生成聚类树。 cophenet o 函数用来度量这种分类的失真程度,即由分类所确定的结构与数据间的拟合程度 输出值c为相干系数。对于要求很高的解,该值的幅度应非常接近1。它也可用来比 较两种由不同算法所生成的分类解。 Z(:,3)和Y之间的相干系数定义为 ∑(y-y)(=n-) (0x-y)∑(=- 其中y为Y中对象i和j间的距离;=为Z(:,3)中对象i和j间的距离;y和=分别为Y 和Z(:,3)的平均距离。 1.3变量聚类法 在实际工作中,变量聚类法的应用也是十分重要的。在系统分析或评估过程中,为 避免遗漏某些重要因素,往往在一开始选取指标时,尽可能多地考虑所有的相关因素 而这样做的结果,则是变量过多,变量间的相关度高,给系统分析与建模带来很大的不 便。因此,人们常常希望能研究变量间的相似关系,按照变量的相似关系把它们聚合成 若干类,进而找出影响系统的主要因素 1.3.1变量相似性度量 在对变量进行聚类分析时,首先要确定变量的相似性度量,常用的变量相似性度量 有两种 1)相关系数 记变量x,的取值(x,x2…xn)∈R"(=12,…,m)则可以用两变量x,与x 的样本相关系数作为它们的相似性度量 (x-xi(xik-xk 在对变量进行聚类分析时,利用相关系数矩阵是最多的
-452- 8)cophenet c=cophenet(Z,Y) 计算相干系数,它是将Z中的距离信息(由linkage()函数产生) 和Y中的距离信息(由pdist())函数产生进行比较。Z为(m −1)×3矩阵,距离信息包 含在第三列。Y是(m −1)⋅ m / 2维的行向量。 例如,给定距离为Y的一组对象{1,2,",m},函数linkage()生成聚类树。cophenet() 函数用来度量这种分类的失真程度,即由分类所确定的结构与数据间的拟合程度。 输出值c为相干系数。对于要求很高的解,该值的幅度应非常接近1。它也可用来比 较两种由不同算法所生成的分类解。 Z(:,3)和Y之间的相干系数定义为 ∑ ∑ ∑ < < < − − − − = i j ij i j ij i j ij ij y y z z y y z z c 2 2 ( ) ( ) ( )( ) 其中 ij y 为Y中对象i 和 j 间的距离; ij z 为Z(:,3)中对象i 和 j 间的距离;y 和 z 分别为Y 和Z(:,3)的平均距离。 1.3 变量聚类法 在实际工作中,变量聚类法的应用也是十分重要的。在系统分析或评估过程中,为 避免遗漏某些重要因素,往往在一开始选取指标时,尽可能多地考虑所有的相关因素。 而这样做的结果,则是变量过多,变量间的相关度高,给系统分析与建模带来很大的不 便。因此,人们常常希望能研究变量间的相似关系,按照变量的相似关系把它们聚合成 若干类,进而找出影响系统的主要因素。 1.3.1 变量相似性度量 在对变量进行聚类分析时,首先要确定变量的相似性度量,常用的变量相似性度量 有两种。 1)相关系数 记变量 j x 的取值( , , , ) ( 1,2, , ) x1 x2 x R j m T n j j " nj ∈ = " 。则可以用两变量 j x 与 k x 的样本相关系数作为它们的相似性度量 2 1 1 1 2 2 1 ( ) ( ) ( )( ) ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − − − − = ∑ ∑ ∑ = = = n i n i ij j ik k n i ij j ik k jk x x x x x x x x r , (10) 在对变量进行聚类分析时,利用相关系数矩阵是最多的