
1、分类
俗语说,物以类聚、人以群分。
当有一个分类指标时,分类比较容易。
但是当有多个指标,要进行分类就不是很容易了。
比如,要想把中国的县分成若干类,可以按照自然条件来分:考虑降水、土地、日照、湿度等各方面;也可以考虑收入、教育水准、医疗条件、基础设施等指标。
2、聚类分析概述
由于不同的指标项对重要程度或依赖关系是相互不同的,所以也不能用平均的方法,因为这样会忽视相对重要程度的问题。
所以需要进行多元分类,即聚类分析。
最早的聚类分析是由考古学家在对考古分类中研究中发展起来的,同时又应用于昆虫的分类中,此后又广泛地应用在天气、生物等方面。
对于一个数据,人们既可以对变量(指标)进行分类(相当于对数据中的列分类),也可以对观测值(事件,样品)来分类(相当于对数据中的行分类)。
对变量的聚类称为R型聚类,而对观测值聚类称为Q型聚类。这两种聚类在数学上是对称的,没有什么不同。
3、聚类中选择变量的要求
1.和聚类分析的目标密切相关
2.反映了要分类对象的特征
3.变量之间不应该高度相关。
4、如何聚类?
聚类分析就是要找出具有相近程度的点或类聚为一类;
如何衡量这个“相近程度”?就是要根据“距离”来确定。
这里的距离含义很广,凡是满足4个条件(后面讲)的都是距离,如欧氏距离、马氏距离…,相似系数也可看作为距离。
第一节 距离和相似系数
1、距离
什么是距离?
首先我们看样本数据:一般满足以下四个条件时,就称为聚类:
1.常用距离——明氏距离
Minkowski距离:
当q=1时:
当q=2时:
当q=∞时:
2.明氏距离的缺点
距离的大小与各指标的观测单位有关,具有一定的人为性。
例如:对体重和身高进行测量,采用不同单位,其距离测量的结果不同。以欧氏距离为例。
当长度=cm时:
当长度=mm时:
改进的方法:对数据进行标准化,然后再计算距离。
另一个缺点:它没有考虑到指标之间的相关性。
改进的方法是:采用马氏距离
马氏距离是1936年由印度数学家:马哈拉比斯由协方差矩阵计算构造的距离。
2、相似系数
夹角余弦—cosine
尽管图中AB和CD长度不一样,但形状相似。当长度不是主要矛盾时,就可利用夹角余弦这样的相似系数。
相关系数
也可用相关系数来刻画样品之间的相似关系。
把两两样品的相关系数都计算出来,可形成样品相关系数矩阵。
3、关联测度
主要用来度量聚类变量为分类变量的研究对象的相似性。
简单匹配系数:是测度二分类变量的,是度量两个案例在所有的聚类变量上答案相同的情况出现的频率。
雅科比系数:是在简单匹配系数基础上进行的改进,也是度量二分类变量的。
第二节 系统聚类法
1、系统聚类法的步骤
2、系统聚类法
1.最短距离法——Nearest Neighbor
2.最长距离法——Furthest Neighbor
3.重心法——Centroid Clustering
4.类平均法——Between-groups Linkage
5.离差平方和法——Word’s Method
它的思想来源于方差分析
此外,还有中间距离法、类内平均法等。
第三节 SPSS中的聚类分析与过程
例1饮料数据(drink.sav)
16种饮料的热量、咖啡因、钠及价格四种变量
1、SPSS中的聚类分析
SPSS中的聚类功能常用的有两种:
快速聚类(迭代过程):K-Means Cluster
分层聚类:Hierarchical
1.K-Means Cluster快速聚类
(1)K-Means Cluster原理
首先,选择n个数值型变量参与聚类分析,最后要求的聚类数为k个;
其次,由系统选择k个(聚类的类数)观测量(也可由用户指定)作为聚类的种子。
第三,按照距离这些类中心的距离最小的原则把所有观测量(样品)分派到各类重心所在的类中去。
第四,这样每类中可能由若干个样品,计算每个类中各个变量的均值,以此作为第二次迭代的中心;
第五,然后根据这个中心重复第三、第四步,直到中心的迭代标准达到要求时,聚类过程结束。
(2)K-Means Cluster聚类过程
由Analyze —— Classify —— K-Means Cluster
将各变量放入Variable;输入最后聚类的个数;
2.Hierarchical Cluster聚类
分层聚类由两种方法:分解法和凝聚法。
分层聚类的功能:即可进行样品的聚类,也可进行变量的聚类。
分层聚类的原理:即我们前面介绍过的系统聚类方法的原理和过程。
分层聚类的中要进行以下的选择:
数据的标准化
测度方法的选择:距离方法的选择或相似性、关联程度的选择。
聚类方法的选择:即以什么方法聚类,SPSS中提供了7中方法可进行选择。
输出图形的选择:树形图或冰柱图。
欧氏平方距离、类平均法聚类 快速聚类法聚类
欧氏平方距离、最短距离法聚类 欧氏平方距离、最长距离法聚类
欧氏平方距离、重心法聚类 欧氏平方距离、Word’s法聚类
2、聚类方法的优缺点
类平均法比较好
因为与类平均法相比,最短和重心法是“空间浓缩”,即并类的距离范围小,区别类的灵敏度差;
与类平均法相比,其他方法是“空间扩张”,即并类距离范围大,区别类的灵敏度强。
最短距离比最长距离法好
聚类结果中,如果孤类点太多,则说明该种聚类方法不好。
如果从减少孤类来看,一般情况下用Word’s方法最好。
3、快速聚类法与层次聚类法应用区别
层次聚类法的聚类过程是单方向的,一旦某个样品(case)进入某一类,就不可能从该类出来,再归入其他的类。
而快速聚类法受奇异值、相似测度和不合使得聚类变量的影响较小,对于不合适的初始分类可以进行反复调整。
在聚类分析发展的早期,层次聚类法应用普遍,其中尤以组间类平均法和离差平方和法应用最广。
后来快速聚类方法逐步被人们接受,应用日益增多。现在是两者相结合,取长补短。
首先使用层次聚类法确定分类数,检查是否有奇异值,去除奇异值后,对剩下的案例重新进行分类,把用层次聚类法得到的各个类的重心,作为迭代法的初始分类中心,对样本进行重新调整。
判别分析
一、为什么判别?
有一些昆虫的性别很难看出,只有通过解剖才能够判别;
但是雄性和雌性昆虫在若干体表度量上有些综合的差异。于是统计学家就根据已知雌雄的昆虫体表度量(这些用作度量的变量亦称为预测变量)得到一个标准,并且利用这个标准来判别其他未知性别的昆虫。
这样的判别虽然不能保证百分之百准确,但至少大部分判别都是对的,而且用不着杀死昆虫来进行判别了。
二、判别分析
这就是要讲的是判别分析(discriminant analysis)。
判别分析和前面的聚类分析有什么不同呢?
主要不同点就是,在聚类分析中一般人们事先并不知道或一定要明确应该分成几类,完全根据数据来确定。
而在判别分析中,至少有一个已经明确知道类别的“训练样本”,利用这个数据,就可以建立判别准则,并通过预测变量来为未知类别的观测值进行判别了。
三、判别分析例子
例1 数据disc.sav:企图用一套打分体系来描绘企业的状况。该体系对每个企业的一些指标(变量)进行评分。
这些指标包括:
企业规模(is)、服务(se)、雇员工资比例(sa)、利润增长(prr)、市场份额(ms)、市场份额增长(msr)、流动资金比例(cp)、资金周转速度(cs)等等。
另外,有一些企业已经被某杂志划分为上升企业、稳定企业和下降企业。
我们希望根据这些企业的上述变量的打分和它们已知的类别(三个类别之一:group-1代表上升,group-2代表稳定,group-3代表下降)找出一个分类标准,以对没有被该刊物分类的企业进行分类。
该数据有90个企业(90个观测值),其中30个属于上升型,30个属于稳定型,30个属于下降型。这个数据就是一个“训练样本”。
四、判别分析的基本思路
设有G1、G2、…GK个总体
从不同的总体中抽出不同的样本
根据样本→建立判别法则→判别新的样品属于哪一个总体
当然,根据不同的方法,建立的判别法则也是不同的。
常用的判别方法有:距离判别、Fisher判别、Bayes判别
五、距离判别法(不用投影)
Disc.sav数据有8个用来建立判别标准(或判别函数)的(预测)变量,另一个(group)是类别。
因此每一个企业的打分在这8个变量所构成的8维空间中是一个点。这个数据有90个点,
由于已经知道所有点的类别了,所以可以求得每个类型的中心。这样只要定义了如何计算距离,就可以得到任何给定的点(企业)到这三个中心的三个距离。
显然,最简单的办法就是离哪个中心距离最近,就属于哪一类。通常使用的距离是所谓的马氏(Mahalanobis)距离。
用来比较到各个中心距离的数学函数称为判别函数(discriminant function).这种根据远近判别的方法,原理简单,直观易懂。
假设有两个总体G1和G2, 如果能够定义点x到它们的距离D(x,G1)和D(x,G2), 则
如果D(x,G1) < D(x,G2),则 x∈G1
如果D(x,G2) < D(x,G1),则 x∈G2
如果D(x,G1) = D(x,G2),则待判
六、Fisher判别法(先进行投影)
所谓Fisher判别法,就是一种先投影的方法。借用了方差分析的思想。
考虑只有两个(预测)变量的判别分析问题。
假定这里只有两类。数据中的每个观测值是二维空间的一个点。见图。
这里只有两种已知类型的训练样本。其中一类有38个点(用“o”表示),另一类有44个点(用“*”表示)。按照原来的变量(横坐标和纵坐标),很难将这两种点分开。
于是就寻找一个方向,也就是图上的虚线方向,沿着这个方向朝和这个虚线垂直的一条直线进行投影会使得这两类分得最清楚。可以看出,如果向其他方向投影,判别效果不会比这个好。
有了投影之后,再用前面讲到的距离远近的方法来得到判别准则。这种首先进行投影的判别方法就是Fisher判别法。
1.判别分析的基本模型
判别分析的基本模型是判别函数:
其中:y是判别值;xi为各判别变量;bi为相应的判别系数,它表示个判别变量对于判别函数值的影响
在判别分析时,判别变量较多时,判别函数也往往有多个。
2.模型估计过程的简略描述
首先在判别变量表示的k维空间中寻找某个角度使各分组平均值的差别尽可能大,然后将其作为判别的第一维度(即投影)。
在这一维度上可以代表或解释原始变量组间方差中最大的部分。上述判别函数就表达了原始数量值转换至这一维度的系数方程式。
对应第一维度的判别函数称为第一判别函数。
然后按照同一原则寻找第二维度,并建立第二判别函数。
如此下去,直至推导出所有的判别函数。
建立后续判别函数的条件是:判别函数之间完全。
实际上这样推导出的函数有:
3.判别分析的假设条件
分组类型在两种及以上,即:
各判别变量必须是定量变量,并且要求观察值数量(case≥k+2)。
每一个判别变量不能是其他判别变量的线性组合。
各组案例的协方差阵相等。
各判别变量之间具有多元正态分布。
4.SPSS判别分析过程
SPSS选项:Analyze —— Classify —— Discriminant
以例1来说明
(1)各组均值相等的检验
(2)各组协方差阵相等的检验
(3)非标准化判别系数
(4)非标准化判别函数
通过它可以计算各判别值,并且可用来作图,表示在判别空间中各案例点的位置。
(5)分组的重心:描述在判别空间每一组的中心位置
(6)标准化判别系数
通过标准化判别系数,可以了解每个变量对判别值的相对作用。
但是,标准化判别系数值是说明了判别变量与判别值之间的相对重要程度,但不能说明相应的判别变量对于整个判别函数判别力的作用程度。
因为,如果判别系数实际上拟合效果很不好,那么即使它对判别值有很大作用,但是在判别准确性方面仍会存在问题。
所以,还要看结构系数。
(7)结构系数
(8)判别力指数
(9)残余判别力
残余判别力的含义是:在以前计算的函数已经提取过原始信息之后,残余的变量信息对于判别分组的能力。
统计量Wilk’s Lambda是一个反面度量,值越小表示越高的判别力。
(10)Fisher线性判别系数
(11)分类结果
5.误判和正确判别率
从这个表来看,我们的分类能够100%地把训练数据的每一个观测值分到其本来的类。
该表分成两部分;上面一半(Original)是用从全部数据得到的判别函数来判断每一个点的结果(前面三行为判断结果的数目,而后三行为相应的百分比)。
下面一半(Cross validated)是对每一个观测值,都用缺少该观测的全部数据得到的判别函数来判断的结果。
七、逐步判别法
有时,一些变量对于判别并没有什么作用,为了得到对判别最合适的变量,可以使用逐步判别。
1.逐步判别法的基本思路:
采用“有进有出”的方法。即在判别过程中,没有一个变量进入判别分析中,先对各变量进行计算、检验,从中挑选最主要的变量进入判别中。
然后再考虑较早引入判别式的某些变量,如果由于新变量的引入而原变量变为不重要了,则剔除判别式中,直到所有的重要变量都引入判别式中,所有的非重要变量都剔除判别式中为止。
2.如何判别那个变量重要呢?
已知变量之间在各组中的差异越大越好,即为重要变量。
变量在各组间的差异可用多元的方差分析,即利用:
组间差异越大→变量在各组间的差异越大→据此可建立假设检验
可检验的方法很多,但都可用F分布来近似检验,既可用F检验来判断变量的重要性。
3.逐步判别法的步骤
对所有变量进行计算,得出F临界值
↓
挑选F值最大(F≥F进)的变量进入判别式中
↓
对进入判别式中的所有变量再计算F值
对于小于规定标准(F≤F出)的变量剔除判别式中
↓
当剩余变量的F值都小于规定的临界值时,筛选变量结束
↓
利用判别式中的变量(重要变量),进行判别分析
利用SPSS软件的逐步判别法淘汰了不显著的流动资金比例(cp),还剩下七个变量。
当然,各种判别系数也发生了变化,但是判别的结果没有变。
八、Bayes判别法
当每个分类的观察值个数不同时,最好用贝叶斯Bayes判别。
因为每个分类的观察值个数不同时,每类出现的机会是不同的,而Fisher判别法忽视了这个问题。
1.Bayes判别法的基本思路
是假定对所研究的对象一有一定的认识,常用先验概率来描述这种认识,然后根据这个先验概率,计算后验概率来判别样品属于哪一类。
先验概率:即对每一个样品可能属于某个总体(类型)的可能估计值,一般表示为:
先验概率的大小可以从经验中给出,也可按每组样品占全部样品的百分比来估计。
即:
条件概率:P(D/Gi)——判别分值D的条件概率
说明样品属于Gi总体计算出的判别分数
值D可能发生的概率。
后验概率:说明一个样品根据计算的判别分数而判为Gi类的概率。
具体方法是:对每一个样品线计算出判别分数D,然后根据先验概率和D的条件概率,计算出该样品被判为每一类的后验概率,那个类的后验概率最大,则判为哪一类。
如:有一样品,计算出分别属于3类的后验概率为:
若其中P(G1/D)最大,则该样品判为第一类。
九、判别分析要注意什么?
样本中必须有所有要判别的类型,分类必须清楚,不能有混杂。
要选择好可能用于判别的预测变量。这是最重要的一步。当然,在应用中,选择的余地不见得有多大。
要注意数据是否有不寻常的点或者模式存在。还要看预测变量中是否有些不适宜的;这可以用单变量方差分析(ANOVA)和相关分析来验证。
判别分析是为了正确地分类,但同时也要注意使用尽可能少的预测变量来达到这个目的。使用较少的变量意味着节省资源和易于对结果进行解释。
对于多个判别函数,要弄清各自的重要性。
注意训练样本的正确和错误分类率。研究被误分类的观测值,看是否可以找出原因。
主成分与因子分析
1、汇报什么?
假定你是一个公司的财务经理,掌握了公司的所有数据,比如固定资产、流动资金、每一笔借贷的数额和期限、各种税费、工资支出、原料消耗、产值、利润、折旧、职工人数、职工的分工和教育程度等等。
如果让你向上面介绍公司状况,你能够把这些指标和数字都原封不动地摆出去吗? 当然不能!
你必须要把各个方面做出高度概括,用一两个指标简单明了地把情况说清楚。
2、主成分分析
每个人都会遇到有很多变量的数据。
比如全国或各个地区的带有许多经济和社会变量的数据;各个学校的研究、教学等各种变量的数据等等。
这些数据的共同特点是变量很多,在如此多的变量之中,有很多是相关的。人们希望能够找出它们的少数“代表”来对它们进行描述。
3、主成分分析和因子分析
本章就介绍两种把变量维数降低以便于描述、理解和分析的方法:主成分分析(principal component analysis)和因子分析(factor analysis)。实际上主成分分析可以说是因子分析的一个特例。在引进主成分分析之前,先看下面的例子。
成绩数据 ( student.sav )
100个学生的数学、物理、化学、语文、历史、英语的成绩如下表(部分)。
4、从本例可能提出的问题
目前的问题是,能不能把这个数据的6个变量用一两个综合变量来表示呢?
这一两个综合变量包含有多少原来的信息呢?
能不能利用找到的综合变量来对学生排序呢?这一类数据所涉及的问题可以推广到对企业,对学校进行分析、排序、判别和分类等问题。
第一节 主成分分析
1、主成分分析
例中的数据点是六维的;也就是说,每个观测值是6维空间中的一个点。我们希望把6维空间用低维空间表示。
先假定只有二维,即只有两个变量,它们由横坐标和纵坐标所代表;因此每个观测值都有相应于这两个坐标轴的两个坐标值;如果这些数据形成一个椭圆形状的点阵(这在变量的二维正态的假定下是可能的)
那么这个椭圆有一个长轴和一个短轴。在短轴方向上,数据变化很少;在极端的情况,短轴如果退化成一点,那只有在长轴的方向才能够解释这些点的变化了;这样,由二维到一维的降维就自然完成了。
当坐标轴和椭圆的长短轴平行,那么代表长轴的变量就描述了数据的主要变化,而代表短轴的变量就描述了数据的次要变化。
但是,坐标轴通常并不和椭圆的长短轴平行。因此,需要寻找椭圆的长短轴,并进行变换,使得新变量和椭圆的长短轴平行。
如果长轴变量代表了数据包含的大部分信息,就用该变量代替原先的两个变量(舍去次要的一维),降维就完成了。
椭圆(球)的长短轴相差得越大,降维也越有道理。
对于变量的情况和二维类似,也有高维的椭球,只不过无法直观地看见罢了。
首先把高维椭球的主轴找出来,再用代表大多数数据信息的最长的几个轴作为新变量;这样,主成分分析就基本完成了。
注意,和二维情况类似,高维椭球的主轴也是互相垂直的。这些互相正交的新变量是原先变量的线性组合,叫做主成分(principal component)。
正如二维椭圆有两个主轴,三维椭球有三个主轴一样,有几个变量,就有几个主成分。
选择越少的主成分,降维就越好。什么是标准呢?那就是这些被选的主成分所代表的主轴的长度之和占了主轴长度总和的大部分。有些文献建议,所选的主轴总长度占所有主轴长度之和的大约85%即可,其实,这只是一个大体的说法;具体选几个,要看实际情况而定。
对于我们的数据,SPSS输出为:
这里的Initial Eigenvalues就是这里的六个主轴长度,又称特征值(数据相关阵的特征值)。
2、主成分分析的一般模型
这个方程且满足:
其中μij有以下原则来确定:
这时称:Y1是第一主成分;Y2是第二主成分
3、主成分的含义
有原始数据的协方差阵或相关系数据阵,可计算出矩阵的特征根:
但是,SPSS软件中没有直接给出主成分系数,而是给出的因子载荷,我们可将因子载荷系数除以相应的,即可得到主成分系数。
由Component1、2的系数除以,得到:
Y1=-0.417x1-0.349x2-0.349x3+0.462x4+0.427x5+0.433x6
Y2=0.183x1+0.275x2+0.265x3+0.158x4+0.225x5+0.220x6
这些系数表示主成分和相应的原先变量的相关系数。
相关系数(绝对值)越大,主成分对该变量的代表性也越大。
为什么SPSS中值取了两个主成分呢?
头两个成分特征值对应的方差累积占了总方差的81.142%,称为累计方差贡献率为81.142%。后面的特征值的贡献越来越少。
一般我们取累计方差贡献率达到85%左右的前k个主成分就可以了,因为它们已经代表了绝大部分的信息 。
SPSS中选取主成分的方法有两个:一是根据特征根≥1来选取; 另一种是用户直接规定主成分的个数来选取。
特征值的贡献还可以从SPSS的所谓碎石图看出
可以把第一和第二主成分的点画出一个二维图以直观地显示它们如何解释原来的变量的。
上图左面三个点是数学、物理、化学三科,右边三个点是语文、历史、外语三科。
第二节 因子分析
1、因子分析
因子分析是主成分分析的推广和发展。
为什么要进行因子分析?
由主成分分析的模型可知:
我们如果想知道每个变量与公共因子的关系,则就要进行因子分析了。因子分析模型为:
2、因子载荷
aij称为因子载荷(实际上是权数)。
因子载荷的统计意义:就是第i个变量与第j个公共因子的相关系数,即表示变量xi依赖于Fj的份量(比重),心理学家将它称为载荷。
3、公因子方差表
提取出来的公因子对每个变量的解释程度到底有多大呢?可从公因子方差表得知:
(0.744+0.736+0.718+0.0+0.870+0.880)/6=0.8113
4、因子旋转
为了对公因子F能够更好的解释,可通过因子旋转的方法得到一个好解释的公因子。
所谓对公因子更好解释,就是使每个变量仅再一个公因子上有较大的载荷,而在其余的公因子上的载荷比较小。
这种变换因子载荷的方法称为因子轴的旋转。因子旋转的方法很多,常用的为方差最大正交旋转。
这里,第一个因子主要和语文、历史、英语科有很强的正相关;而第二个因子主要和数学、物理、化学三科有很强的正相关。因此可以给第一个因子起名为“文科因子”,而给第二个因子起名为“理科因子”。从这个例子可以看出,因子分析的结果比主成分分析解释性更强。
这些系数所形成的散点图(在SPSS中也称载荷图),可以直观看出每个因子代表了一类学科 。
5、因子得分
在分析中,人们往往更愿意用公共因子反映原始变量,这样根有利于描述研究对象的特征。因而往往将公共因子表示为变量(或样品)的线性组合,即:
称上式为因子得分函数,用它可计算每个样品的公因子得分。估计因子得分的方法很多。
可以根据输出,计算出每个学生的第一个因子和第二个因子的大小,即算出每个学生的因子得分f1和f2。
人们可以根据这两个函数分别计算出每个学生的两套因子得分,对学生分别按照文科和理科排序。也可以每个因子的方差贡献率为权数,进行加权综合,计算出每个学生的总得分,以此排队。
6、主成分和因子分析的一些注意事项
可以看出,因子分析和主成分分析都依赖于原始变量,也只能反映原始变量的信息。所以原始变量的选择很重要。
另外,如果原始变量都本质上,那么降维就可能失败,这是因为很难把很多变量用少数综合的变量概括。数据越相关,降维效果就越好。
在得到分析的结果时,并不一定会都得到如我们例子那样清楚的结果。这与问题的性质,选取的原始变量以及数据的质量等都有关系
在用因子得分进行排序时要特别小心,特别是对于敏感问题。由于原始变量不同,因子的选取不同,排序可以很不一样。
7、SPSS实现因子分析
SPSS选项:Analyze - Data Reduction - Factor
用Extraction,选择提取共因子的方法(如果是主成分分析,则选Principal Components),
用Rotation,选择因子旋转方法(如果是主成分分析就选None),
用Scores计算因子得分,再选择Save as variables(因子得分就会作为变量存在数据中的附加列上)和计算因子得分的方法(比如Regression);要想输出Component Score Coefficient Matrix表,就要选择Display factor score coefficient matrix;
8、因子分析实例(略)
