在经济学中,需要根据人均国民收入、人均工农业产值、人均消费水平等多种指标判定一个国家经济发展所属类型;在考古学中,需要根据头盖骨的高、宽等特征来判断性别;在医疗诊断中,需要根据体验指标判断是否有疾病。正是由于这些需求的存在,才在数学领域中诞生了判别分析。
1.判别分析的含义
判别分析类似于机器学习,判别分析是根据观测到的某些指标对所研究的对象进行分别的一种多元统计分析方法。判别分析技术是由费希尔与1936年提出的。
判别分析是一种有效的对个案进行分类分析的方法,和聚类分析不同的是,判别分析时组别的特征已知。
例如: 银行为了对贷款进行管理,需要预测哪些类型的客户可能不会按时归还贷款。已知过去几年中900个客户的贷款归还信誉度,据此可以将客户分成两组:可靠用户和不可靠用户。在通过收集客户的一些资料,如年龄,工资收入、教育程度、存款等,将这些资料作为自变量,建立判别函数。那么,如果有150个新的客户提交贷款申请,就可以利用已经创建好的判别函数,对客户进行分析,从而判断客户是属于可靠客户了还是属于不可靠客户类。
故判别分析就是先根据已知类别事物的性质,利用某种技术建立函数式,然后对未知类别的新事物进行判断以将之归入已知类别中。
现如今,判别分析技术已经在许多领域取得成功的应用。例如临床上常需根据就诊者的各项症状,体征,实验室检查,病理学检查及医学影像学资料对其作出是否含有某项疾病的诊断或对几种可能患有的疾病进行鉴别诊断,有时已初步诊断为某种疾病,还需要进一步作出属于该类疾病中哪一种或哪一型的判断;体育选才中根据运动员的体形,运动成绩,生理指标,心里素质指标,遗传因素判断是否能选入运动队继续培养;还有动物,植物分类,儿童心理检验,地理区划的经济差异,决策行为预测等。
在判别分析中,称分组变量为因变量,例如,是否含有某项疾病,能否进入运动队继续培养,而用于分组的其他特征变量称为判别变量或自变量。
2.判别分析的假设条件
判别分析的基本条件是:分组变量的水平必须大于或等于2,每组案例的规模必须至少在一个以上; 各判别变量的测度水平必须在间距测度等级以上,即个判别变量的数据必须为等距或等比数据;各分组的案例在各判别变量的数值上能够体现差别。
判别分析对判别变量有三个基本假设:其一是变量之间没有显著的相关性,否则将无法估计判别函数;其二是各组案例的协方差矩阵相等,在此条件下,可以使用简单的公式来计算判别函数和进行显著性检验;其三是个判别变量之间具有多元正态分布,即每个变量对于所有其他变量的固定值有正态分布。
简单来说,就是需要满足各变量之间线性无关并可测量,分组变量的类别必须大于等于2;
3.判别分析的过程
1.对已知分组属性案例的处理
此过程为判别分析的第一阶段,也是建立判别分析基本模式的阶段,即分析和解释各组指标特征之间的差异,并建立判别函数。
2.判别分析的基本模式及其估计过程
判别分析的基本模型就是判别函数,它表示为分组变量与满足假设条件的判别变量的线性函数关系,其数学表达式为 y = b 0 + b 1 x 1 + b 2 x 2 + ⋯ + b k x k y=b_{0}+b_{1}x_{1}+b_{2}x_{2}+\cdots +b_{k}x_{k} y=b0+b1x1+b2x2+⋯+bkxk,其中 y y y是判别函数值,又简称为判别值; x i x_{i} xi为个判别变量; b i b_{i} bi为相应的判别系数,表示各判别变量对于判别函数值的影响,其中 b 0 b_{0} b0为常数项。
判别模式对应的集合解释是,各判别变量代表了 k k k维空间,每个案例就其判别变量的值称为这 k k k维空间中的一个点。如果各组案例就其判别变量值有明显的不同,就意味着每一组将会在这一空间的某一部分形成明显分离的峰集点群。我们可以计算此领域的中心以概括这个组的位置,中心位置可以用这个组别中各案例在每个变量上的组的均值作为其坐标值。因为每个中心代表了所在组的基本位置,我们可以通过研究它们来取得对于这些分组之间差别的理解。
3.建立判别函数的方法
(1)全模型法
它是把用户指定的变量全部放入判别函数中,而不管变量对判别函数是否其作用,作用大小如何,当对反映研究对象特征的变量认识比较全面时可以选择此种方法,其缺点是不能剔除对判别贡献很小的变量。
(2)向前选择法
向前选择法是从模型中没有变量开始,每一步把一个对判别模型的判断能力贡献最大的变量引入模型,当模型外的变量没有一个符合进行模型的条件时,变量引入过程结束。当希望比较多的变量留在判别函数中时使用此方法。
(3)向后选择法
此方法与向前选择法相反。它从全模型开始,每一步把一个对模型的判断能力贡献最小的变量剔除出模型,直到模型中所有的变量都符合留在模型中的判据时,剔除变量工作结束。在希望较少的变量留在判别函数中时使用此方法。
(4)逐步选择法
此方法从模型中没有变量开始,每一步把模型外对模型的判别能力贡献最大的变量加入模型的同时,也考虑把已经在模型中但又不符合留在模型中的变量剔除(因为新加入的引入可能会使原来已经在模型中的变量对模型的贡献变得不显著了),直到模型内的所有变量都不符合剔除模型的判据,而模型外的变量都不复合进入模型的判据为止。
4.判别分析的常用方法
判别分析的常用方法有距离判别方法,费希尔判别方法,贝叶斯判别方法。
具体判别法: 首先根据已知分类的数据,分别计算各类的质心,计算新个体到每类的距离,确定最短的距离(欧式距离,马氏距离)。
贝叶斯判别法: 计算新给样品属于各总体的条件概率,比较概率的大小,然后将新样品判断为来自概率最大的总体。
5.用MATLAB进行判别分析
MATLAB统计工具中提供了classify函数,用来对未知类别的样品进行判别,可以进行距离判别和先验分布为正态分布的贝叶斯判别,其调用格式如下:
(1)class=classify(sample,training,group);
(2)class=classify(sample,training,group,type);
(3)class=classify(sample,training,group,type,prior);
(4)[class,error]==classify(sample,training,group,type,prior);
其中sample是代判别的样品数据矩阵,training是用于构造判别函数的已知分类结果的样本数据矩阵,它们的每一行对应一个观察,每一列对应一个变量,sample和training具有相同的列数,参数group是与training相应的分组变量,group和training具有相同的行数,group中的每一个元素指定了training相应观测值所在的组,group可以是一个分类变量,数值向量,字符串数组。
参数type用于指定判别函数的类型,常见的有linear(线性判别分析),quadratic(二次判别法分类),mahalanobis(马氏距离判别法分类);
参数prior用来指定先验概率,默认先验概率相等;
输出参数class是一个行向量,用来指定sample中各观测值所在的组别,class和group具有相同的数据类型,参数error用来返回training数据误判概率的估计值。
4.鸢尾花的分类解析
本例使用的数据是统计学家费希尔当年对鸢尾花观察的数据,其中分类变量具有三个水平,分别为1,2,3,代表刚毛鸢尾花,变色鸢尾花和弗吉尼亚鸢尾花。四个变量分别为花萼长,宽和花瓣长,宽。我们的目的就是通过这四个数值型变量,对未知的三种鸢尾花进行判别分类。已知的数据表如下所示:
序号 | 分类 | 花萼长 | 花萼宽 | 花瓣长 | 花瓣宽 |
---|---|---|---|---|---|
1 | 1 | 50 | 33 | 14 | 2 |
2 | 3 | 67 | 31 | 56 | 24 |
3 | 3 | 89 | 31 | 51 | 23 |
4 | 1 | 46 | 36 | 10 | 2 |
5 | 3 | 65 | 30 | 52 | 20 |
6 | 3 | 58 | 27 | 51 | 19 |
7 | 2 | 57 | 28 | 45 | 13 |
8 | 2 | 63 | 33 | 47 | 16 |
9 | 3 | 49 | 25 | 45 | 17 |
10 | 2 | 70 | 32 | 47 | 14 |
11 | 1 | 48 | 31 | 16 | 2 |
12 | 3 | 63 | 25 | 50 | 19 |
13 | 1 | 49 | 36 | 14 | 1 |
14 | 1 | 44 | 32 | 13 | 2 |
15 | 2 | 58 | 26 | 40 | 12 |
16 | 3 | 63 | 27 | 49 | 18 |
17 | 2 | 50 | 23 | 33 | 10 |
18 | 1 | 51 | 38 | 16 | 2 |
19 | 1 | 50 | 30 | 16 | 2 |
在某临近地区随机挑选了4个具有代表性的鸢尾花取样点,获得数据如下所示:
序号 | 花萼长 | 花萼宽 | 花瓣长 | 花瓣宽 |
---|---|---|---|---|
1 | 64 | 28 | 56 | 21 |
2 | 51 | 38 | 19 | 4 |
3 | 49 | 30 | 14 | 2 |
利用MATLAB软件包中的classify函数编程求解如下所示:
training=[
50,33,14,2;67,31,56,24;
89,31,51,23;46,36,10,2;
65,30,52,20;58,28,45,13;
57,28,45,13;63,33,47,16;
49,25,45,17;70,32,47,14;
48,31,16,2;63,25,50,19;
49,36,14,1;44,32,13,2;
58,26,40,12;63,27,49,18;
50,23,33,10;51,38,16,2;
50,30,16,2];
group=[1;3;3;1;3;3;2;2;3;2;1;3;1;1;2;3;2;1;1];
sample=[64,28,56,21;51,38,19,4;49,30,14,2];
[class,error]=classify(sample,training,group,'quadratic');
分析结果可知,样本1为分类3,即弗吉尼亚鸢尾花,样品2为分类1,即刚毛鸢尾花,样品3为分类1,即刚毛鸢尾花,犯错的概率为0.0476;