1. 引言
无论是科研还是生活,我们经常面临根据观察到的数据来区分对象(或样本)的问题。为了有效地区分样本,我们通常依赖于许多监测指标,因此适合在多变量分析中讨论差异分析。在判别分析中,根据样品的p维指标值
对其的组别归属进行判别,通过图形(通常为二维)方法或代数方法来记述每个样本群的差异,研究了最大限度的分离。
本文首先阐述了距离判别,贝叶斯判别和费希尔判别三种判别分析方法的基本理论,用这些模型分别对数据集建立模型,判别每个葡萄酒样品来自哪个红酒厂,并用非参数估计方法估计误判概率,比较三种非参数估计方法的好坏。
2. 研究目的和意义
使用不一样的判别分析法(距离判别,贝叶斯判别和费希尔判别)对每个样品来自哪个葡萄酒厂进行判别,并与原始数据中所属酒厂进行比较,并用三种非参数估计方法(回代法,划分样本和交叉验证法)计算估计的误判率,比较三种非参数估计方法的优劣,对其他未知产地的葡萄酒新样品判别来自三个葡萄酒厂中的哪一个提供便利。
3. 数据介绍
此数据来自意大利三个不同地区的葡萄酒厂,从三个红酒厂依次取了59,71和48个共178个样本,并对每个样本中的13种化学成分进行检测(分别为“酒精”,“灰的碱性”,“苹果酸”,“镁”,“灰”,“总酚”,“类黄酮”,“花青素”,“非黄烷类酚类”,“od280/od315稀疏葡萄酒”,“色调”,“颜色强度”)。
4. 研究方法概述
4.1. 距离判别
设有k个组
,其均值分别是
,协方差矩阵分别是
,x到总体πi的平方马氏距离为
(1-1)
判别规则为
,若
(1-2)
4.2. 贝叶斯判别
最大后验概率法
设有k个组
,且组πi的概率密度为fi(x),样品x来自组πi的先验概率为
,满足
。则x属于πi的后验概率为
(2-1)
最大后验概率法采用的判别规则如下:
,若
(2-2)
当k组都是正态的,即
,
,
。这时,组πi的概率密度为
(2-3)
其中
(2-4)
是x到πi的平方马氏距离。
当
,
时,
当
,而
不全相等时,
当
,而
不全相等时,
当
不全相等,
也不全相等时,
上述各情形的后验概率可统一表达为
(2-5)
其中,
,
(2-6)
称D2 (x, πi)为x到πi的广义平方距离。在正态性假定下,上述判别规则可表达如下:
,若
(2-7)
当
时,上述后验概率公式可简化为
(2-8)
其中
。此时,判别规则等价于
,若
(2-9)
如果我们对x来自哪一组的先验信息一无所知或难以确定,则一般可取
。这时,判别规则简化为
,若
(2-10)
4.3. 费希尔判别
4.3.1. 费希尔判别的基本思想
费希尔判别(或称典型判别)的基本思想是投影(或降维):用p维向量的少数几个线性组合(称为费希尔判别函数或典型变量)
(一般r明显小于p)来代替原始的p个变量
,以达到降维的目的,并根据这r个判别函数
对样品的归属作出判别或将各组分离。
4.3.2. 费希尔判别函数
设来自组πi的p维观测值为xij,
,
,将它们共同投影到某一p维常数向量a上,得到的投影点可分别对应线性组合
,
,
。 [1]
式中
,
,
。
费希尔判别需假定
。
yij的组间平方和及组内平方和分别为
式中
可用来反映yij的组之间分离程度的一个量是
(3-1)
在约束条件
下,寻找a,使得Δ(a)达到最大,其中
,是Σ的联合无偏估计。
设E−1H的全部非零特征值依次为
,这里s = rank(H),且有
(3-2)
相应的特征向量依次记为
(标准化为
)。
Δ(a1)的最大值λ1在a1 = t1时达到。所以,选择投影到t1上能使各组的投影点最大限度地分离,称
为费希尔第一线性判别函数,简称第一判别函数。
在很多情况下(如k或p是大的),只使用第一判别函数可能会不够,应考虑建立
,且满足
用Sp代替未知的Σ,于是在约束条件
(或
)下寻找a2,使得Δ(a2)达到最大。当a2 = t2时Δ(a2)达到最大值λ2,
称为第二判别函数。一般情况下要求第i个线性组合
与前i − 1个判别函数中的信息不重复,即
用Sp替代Σ,上式变为
(或
),
在上述约束条件下寻找ai,使得Δ(ai)达到最大。Δ(ai)达到最大值λi时取ai = ti,称
为第i判别函数,
。
表明了yi对分离各组的贡献大小,yi在所有s个判别函数中的贡献率为
(3-3)
而前r(≤s)个判别函数
的累计贡献率为
(3-4)
它表明了
的判别能力。
4.3.3. 判别规则
因为各判别函数都有单位方差并且彼此不相关,所以此时的马氏距离等同于欧氏距离。我们采用距离判别法,依据(
)值,判别新样品归属离它最近的那一组。判别规则为
,若
(3-5)
其中
,
,
。该判别规则也可表达为
,若
(3-6)
若在判别过程中只是用一种判别函数(即r = 1),则以上判别规则可简化为
,若
(3-7)
式中y和
分别是前面判别规则中的y1和
。
4.4. 误判概率的非参数估计
如果两组无法假设成正态组,可以用样本中样品的误判比例来估计P(2|1)和P(1|2),一般情况下非参数估计方法有三种:
4.4.1. 回代法
令n(2|1)为π1的样本被误判为π2的个数,n(1|2)为π1的样本被误判为π2的个数,那么P(2|1)和P(1|2)可估计为
(4-1)
4.4.2. 划分样本
将整个样本分为两部分,一部分是训练样本以构造判别函数,另一部分是验证样本以评估该判别函数。用验证样本的被误判比例来估计误判概率,其估计是无偏的。
4.4.3. 交叉验证法(或称刀切法)
从π1组中提取x1j,判别函数通过π2组的n2个观测值和π1组剩余的n1 − 1个观测值构造,然后对x1j进行判别,
。同理,从π2组中取出x2j,判别函数通过π1组的n1个观测值和π2组剩余的n2 − 1个观测值构造,再对x2j作出判别,
。
令
n*(2|1)——π1的样本被误判为π2的个数
n*(1|2)——π2的样本被误判为π1的个数
误判概率P(2|1)和P(1|2)的估计量分别为
(4-2)
它们都是接近无偏的估计量。
5. 实证分析
5.1. 各种判别分析方法的实证分析
5.1.1. 用SPSS进行数据的描述性分析

Table 1. Data descriptive analysis
表1. 数据描述性分析
从表1的数据描述性分析可知,所选数据无缺失判别变量。
5.1.2. K最近邻算法分析
1) 基本思想
kNN算法的核心思想是:如果一个数据在特征空间中最相邻的k个数据中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。通俗地说,对于给定的测试样本和基于某种度量距离的方式,通过最靠近的k个训练样本来预测当前样本的分类结果。 [2]
2) 实验结果分析
通过R.编程实现我们得到如下结果:见图1所示。
编程过程中使用了划分样本法,178个样品中选取1/3共60个作为测试集,其余2/3共118个作为训练集,判别60个葡萄酒测试样本所属类别,从图我们可以看出,其中有1个来自第二类误判为第一类,有2个来自第二类误判为第三类,误判率为5.0%。
5.1.3. 贝叶斯判别分析
使用SPSS进行以下分析:
1) 如表2先验概率所示,我们对x来自哪一组的先验信息一无所知或难以确定,则一般可取
。
2) 通过表3分类函数系数写出判别函数,计算每个样品分别落入3个葡萄酒类型的概率,概率最大就被归为一类。

Table 3. Classification function coefficient
表3. 分类函数系数
判别函数为
3) 从表4分类结果可以看出:
a) 使用回代法进行估计时,正确地对100.0%个原始已分组个案进行了分类,误判率为0。
b) 仅针对分析中的个案进行交叉验证。在交叉验证中,每个个案都由那些从该个案以外的所有个案派生的函数进行分类。
c) 使用交叉验证法进行估计时,正确地对98.9%个进行了交叉验证的已分组个案进行了分类,误判率为1.1%。
5.1.4. 费希尔判别分析
1) 首先,查看表5“威尔克Lambda”,是对函数判定有无价值的检验。可以看到,函数1和2的Lambda检验显著性P = 0.000 < 0.05,提示采用函数1得到的判别结果是有效的,效能很高。
2) 进一步,由表6特征值表反映了典型函数所能解释的方差变异程度,即贡献率。由函数1的方差百分比值为68.7%,说明函数1贡献率达到68.7%,解释能力较高;函数1的方差百分比值为31.3%,贡献率达到31.3%,解释能力次之。
3) 结合查看表7“典则判别函数系数(未标准化系数)”和图2“典则判别函数”,图2中给出的是利用样本数据结合函数1和函数2判别出样本数据的所属类别。
a在分析中使用了前2个典则判别函数。

Table 7. Coefficient of canonical discriminant function
表7. 典则判别函数系数
判别函数为
如图2两个判别函数得分的散点图所示,通过判别函数得分做出判别函数得分的散点图。三个类型的分离较大程度上显现在函数y1上,而在函数y2上第一类与第三类的分离效果不太理想,这与表5威尔克Lambda中的方差百分比反映了典型函数所能解释的方差变异程度一致。

Figure 2. Scatter diagram of scores of two discriminant functions
图2. 两个判别函数得分的散点图
5.2. 比较误判概率的非参数估计方法
分析表8可以发现,回代法是一种简单、直观且易于计算的方法。但不幸的是,误判率通常偏低,同一样本数据不仅用于构造判别函数,还被用于评价该判别函数,信息重复使用是不合理的,此实验中误判率为0.0%。与使用所有样本数据相比,只使用部分样本数据会丢失许多有价值的信息,其有用性自然低于后者,这表明与前者误判率通常高于后者,此实验中误判率为5.0%,而后者的误判概率才是我们真正关心的。当样本信息足够大时,回代法和划分样本这两种方法误判率的偏差可以忽略。交叉验证法较前两种方法效果较好,误判率为1.1%,一般情况下最值得推荐。
6. 结论
通过上述实验分析我们可以发现,在知道其葡萄酒新样品来自三个产地之一,却不确定来自哪一个产地时,将未知产地的葡萄酒新样品通过两个判别函数计算出两个判别函数得分,带入散点图中,通过目测散点图走势对新样品点所属类别进行主观判断,如果通过散点图走势无法判断,就采用距离判别法判别,判别新样本归属离它最近的那一组。在选择误判概率的非参数估计方法时,交叉验证方法是最推荐的方法,它不仅避免了同一样本数据不仅用于构造判别函数,还被用于评价该判别函数,从而导致不合理地重复使用信息,还在构造判别函数时几乎避免了样本信息的损失(只损失了一个样本观测)。通过分析可知,该判别方法对葡萄酒新样品所属产地的判别是快速有效的,在生产生活中,类似的实际分类判别问题很多,可以考虑使用此方法。此外,分类判别考虑多方面因素,方法之间各有优略,快速有效的方法还有很多等待我们结合实际问题去探索。