1 绪 论
1.1课题背景
随着社会经济不断发展,科学技术的不断进步,人们已经进入了信息时代,要在大量的信息中获得有科学价值的结果,从而统计方法越来越成为人们必不可少的工具和手段。多元统计分析是近年来发展迅速的统计分析方法之一,应用于自然科学和社会各个领域,成为探索多元世界强有力的工具。
判别分析是统计分析中的典型代表,判别分析的主要目的是识别一个个体所属类别的情况下有着广泛的应用。潜在的应用包括预测一个公司是否成功;决定一个学生是否录取;在医疗诊断中,根据病人的多种检查指标判断此病人是否有某种疾病等等。它是在已知观测对象的分类结果和若干表明观测对象特征的变量值的情况下,建立一定的判别准则,使得利用判别准则对新的观测对象的类别进行判断时,出错的概率很小。而Fisher判别方法是多元统计分析中判别分析方法的常用方法之一,能在各领域得到应用。通常用来判别某观测量是属于哪种类型。在方法的具体实现上,采用国内广泛使用的统计软件SPSS
(Statistical Product and Service Solutions),它也是美国SPSS公司在20世纪80年代初开发的国际上最流行的视窗统计软件包之一 1.2 Fisher判别法的概述
根据判别标准不同,可以分为距离判别、Fisher判别、Bayes判别法等。Fisher判别法是判别分析中的一种,其思想是投影,Fisher判别的基本思路就是投影,针对P维空间中的某点x=(x1,x2,x3,„,xp)寻找一个能使它降为一维数值的线性函数y(x): yxCjxj
然后应用这个线性函数把P维空间中的已知类别总体以及求知类别归属的样本都变换为一维数据,再根据其间的亲疏程度把未知归属的样本点判定其归属。这个线性函数应该能够在把P维空间中的所有点转化为一维数值之后,既能最大限度地缩小同类中各个样本点之间的差异,又能最大限度地扩大不同类别中各个样本点之间的差异,这样才可能获得较高的判别效率。在这里借用了一元方差分析的思想,即依据组间均方差与组内均方差之比最大的原则来进行判别。
1.3 算法优缺点分析
优点:(1)一般对于线性可分的样本,总能找到一个投影方向,使得降维后样本仍然线性可分,而且可分性更好即不同类别的样本之间的距离尽可能远,同一类别的样本尽可能集中分布。
(2)Fisher方法可直接求解权向量w*;
(3)Fisher的线性判别式不仅适用于确定性模式分类器的训练,而且对于随机模式也是适用的,Fisher还可以进一步推广到多类问题中去
缺点:
(1)如果M1M2,w*0,则样本线性不可分; M1M2,未必线性可分; w不可逆,未必不可分。
(2)对线性不可分的情况,Fisher方法无法确定分类
2 实验原理
2.1 线性投影与Fisher准则函数
各类在d维特征空间里的样本均值向量:
1Mi
ni
1mi
ni
xkXi
x
k
,i1,2 (2.5-2)
通过变换w映射到一维特征空间后,各类的平均值为:
ykYi
y
k,i1,2 (2.5-3)
映射后,各类样本“类内离散度”定义为:
Si2
ykYi
2
(ym)ki,i1,2 (2.5-4)
显然,我们希望在映射之后,两类的平均值之间的距离越大越好,而各类的样本类内离散度越小越好。因此,
|m1m2|2
JF(w)2
s1s22
(2.5-5)
使JF最大的解w*就是最佳解向量,也就是Fisher的线性判别式。 2.2 求解w*
从JF(w)的表达式可知,它并非w的显函数,必须进一步变换。 已知:mi
1ni
ykYi
y
k
,i1,2, 依次代入(2.5-1)和(2.5-2),有:
mi
1ni
xkXi
wTxkwT(
1ni
xkXi
x)wM,i1,2 (2.5-6)
T
k
i
所以:|m1m2|2||wTM1wTM2||2||wT(M1M2)||2
w
T
(M1M2)(M1M2)TwwTb (2.5-7)
其中:b(M1M2)(M1M2)T (2.5-8)
Sb是原d维特征空间里的样本类内离散度矩阵,表示两类均值向量之间的离散度大小,因此,Sb越大越容易区分。
1Mi将(2.5-6)mwM和(2.5-2)ni
T
i
i
xkXi
x
k代入(2.5-4)S2式中:
i
Si2
xkXi
TT2
(wxwM)kiT
w
xkXi
(x
k
Mi)(xkMi)Tw
wTSiw (2.5-9)
其中:
(2.5-10)
Si
xkXi
(x
k
Mi)(xkMi)
T
,i
1,2
2
因此:S12S2wT(12)wwTww (2.5-11)
显然:SwS1S2 (2.5-12)
i称为原d维特征空间里,样本“类内离散度”矩阵。 w是样本“类内总离散度”矩阵。
为了便于分类,显然i越小越好,也就是w越小越好。 将上述的所有推导结果代入JF(w)表达式: 可以得到:
w*
1
Sw(M1M2)
其中,
是一个比例因子,不影响w*的方向,可以删除,从而得到最后解:
1
w*Sw(M1M2) (2.5-18)
w*就使JF(w)取得最大值,w*可使样本由d维空间向一维空间映射,其投影
方向最好。ww(M1M2)是一个Fisher线性判断式。
*
1
这个向量指出了相对于Fisher准则函数最好的投影线方向。
2.3 Fisher算法步骤
由Fisher线性判别式w*w(M1M2)求解向量w*的步骤: ① 把来自两类w1/w2的训练样本集X分成w1和w2两个子集X1和X2。 ② 由Mi③ 由Si
1
1ni
xkXi
x
k
k
,i
1,2,计算Mi。
,i
xkXi
(x
Mi)(xkMi)T计算各类的类内离散度矩阵Si
1,2。
④ 计算类内总离散度矩阵SwS1S2。 ⑤ 计算w的逆矩阵Sw
1
1
。
⑥ 由w*Sw(M1M2)求解w*。
3 实验目的
应用统计方法解决模式识别问题的困难之一是维数问题,在低维空间行得通的方法,在高维空间往往行不通。因此,降低维数就成为解决实际问题的关键。Fisher的方法,实际上涉及维数压缩。
如果要把模式样本在高维的特征向量空间里投影到一条直线上,实际上就是把特征空间压缩到一维,这在数学上容易办到。问题的关键是投影之后原来线性可分的样本可能变得混杂在一起而无法区分。在一般情况下,总可以找到某个最好的方向,使样本投影到这个方向的直线上是最容易分得开的。如何找到最好的直线方向,如何实现向最好方向投影的变换,是Fisher法要解决的基本问题。这个投影变换就是我们寻求的解向量w*
本实验通过编制程序体会Fisher线性判别的基本思路,理解线性判别的基本思想,掌握Fisher线性判别问题的实质。
4 实验实例
例题:根据我国东部沿海11个省市城镇居民家庭平均每人全年家庭收入的5个指标(工薪收入、经营净收入、财产性收入和转移性收入)数据将各省市城镇居民家庭分为高收入组和次高收入组,建立判别函数进而判定未分组省市的类别。 4.1数据录入
通过国家统计局网站得到我国东部沿海11省市的城镇居民家庭平均每人全年家庭收入的5个指标(工薪收入、经营净收入、财产性收入和转移性收入)数据得到excel表格,并将11个省份划分为高收入组(代号为1)和次高收入组(代号为2),分类如图2-1组别,将其导入spss得到如图4-1所示
:
4-1
4.2进行Fisher判别分析
在SPSS中进行如下操作:
步骤一 在analyze菜单中的classify子菜单中选择discriminant命令如4-2
图所示。
4-2
步骤二 在如图4-3所示的discriminant analyze对话框中,从左侧变量的变量列表中选择“工薪收入”、“经营净收入”、“财产性收入”和“转移性收入”变量,使之添加到independents框中
4-3
步骤三 选择“组别”变量使之添加到group ariable框中。这时group ariable框下的define range按钮变为可用,单击,弹出discriminant analyze:difine
对话框如图4-4所示,并在minium中输入1,在maximum中输入
2.
4-4
步骤四 在discriminant analyze对话框中单击statistics按钮,弹出
discriminant analyze:statistics对话框,如图4-5
所示。
4-5
步骤五 在discriminant analyze对话框中单击classify按钮弹出discriminant analyze:classification对话框,如图4-6所示
4-6
步骤六 单击图4-3所示的discriminant analysis对话框中的ok键,完成操作。
4.3得到分析结果
如表4-1所示可知只有一个判别函数:
D1=2.94*城镇居民家庭总收入-1.892*工资性收入+0.943*经营性收入-1.322*财产性收入-1.112*转移性收入
由分析结果表4-2可知高收入组的Fisher线性
判别函数为:
F1=0.025*城镇居民家庭总收入-0.018*工资性收入+0.014*经营性收入-0.064*财产性收入-0.009*转移性收入-105.381
次高收入组的Fisher判别函数为:F2=0.021*城镇居民家庭总收入-0.015*工资性收入+0.009*经营性收入-0.05*财产性收入-0.009*转移性收入-55.554。
将初始数据代入判别函数可得到表4-3,可知判别函数对初始分组案例100%的进行了正确分类。
4.4应用Fisher判别方程对未分组省份进行分组 由分析可知判别函数
D2.94*X11.892*X20.943*X31.322*X41.112*X5
(其中X1X2X3
X4X5分别代表城镇居民家庭总收入、工资性收入、经营性收入、
财产性收入、转移性收入) 又有高收入组各项指标的均值
X
1)
= (24632.8,18453.4,1826.2 ,703.4 ,6592.4) = (16178.16667,11553.66667 ,1480.333333,489.5,
1)
次高收入组各项指标的均值
X
2)
4210.666667) 代入判别函数可得Y
Y
2)
=30968.06 ,
=21770.85
进而可得Yc1,2=25951.4
表4-4
根据表4-4判别函数值列与临界值25951.4比较可知:剩余未分类的省份都
属于次高收入组。只有北京、上海、天津、广东、浙江属于高收入组,判别结果与我国东部沿海地区省市的城镇居民家庭收入较中西部高国情基本吻合。
但是,由于先验组的收入水平普遍比较高,因此临界值偏高,由此导致了内陆地区都划入次高收入组。
从得到的判别函数可以看出城镇居民家庭人均可支配总收入是判别的最主要的因素,同时相对于其他的因素,财产性收入比重最小。因此要提高居民的家庭收入,首先要提高可支配收入,另外还要提高财产性收入,使其与其它因素的比重达到相近水平。
D2.94*X11.892*X20.943*X31.322*X41.112*X5
1 绪 论
1.1课题背景
随着社会经济不断发展,科学技术的不断进步,人们已经进入了信息时代,要在大量的信息中获得有科学价值的结果,从而统计方法越来越成为人们必不可少的工具和手段。多元统计分析是近年来发展迅速的统计分析方法之一,应用于自然科学和社会各个领域,成为探索多元世界强有力的工具。
判别分析是统计分析中的典型代表,判别分析的主要目的是识别一个个体所属类别的情况下有着广泛的应用。潜在的应用包括预测一个公司是否成功;决定一个学生是否录取;在医疗诊断中,根据病人的多种检查指标判断此病人是否有某种疾病等等。它是在已知观测对象的分类结果和若干表明观测对象特征的变量值的情况下,建立一定的判别准则,使得利用判别准则对新的观测对象的类别进行判断时,出错的概率很小。而Fisher判别方法是多元统计分析中判别分析方法的常用方法之一,能在各领域得到应用。通常用来判别某观测量是属于哪种类型。在方法的具体实现上,采用国内广泛使用的统计软件SPSS
(Statistical Product and Service Solutions),它也是美国SPSS公司在20世纪80年代初开发的国际上最流行的视窗统计软件包之一 1.2 Fisher判别法的概述
根据判别标准不同,可以分为距离判别、Fisher判别、Bayes判别法等。Fisher判别法是判别分析中的一种,其思想是投影,Fisher判别的基本思路就是投影,针对P维空间中的某点x=(x1,x2,x3,„,xp)寻找一个能使它降为一维数值的线性函数y(x): yxCjxj
然后应用这个线性函数把P维空间中的已知类别总体以及求知类别归属的样本都变换为一维数据,再根据其间的亲疏程度把未知归属的样本点判定其归属。这个线性函数应该能够在把P维空间中的所有点转化为一维数值之后,既能最大限度地缩小同类中各个样本点之间的差异,又能最大限度地扩大不同类别中各个样本点之间的差异,这样才可能获得较高的判别效率。在这里借用了一元方差分析的思想,即依据组间均方差与组内均方差之比最大的原则来进行判别。
1.3 算法优缺点分析
优点:(1)一般对于线性可分的样本,总能找到一个投影方向,使得降维后样本仍然线性可分,而且可分性更好即不同类别的样本之间的距离尽可能远,同一类别的样本尽可能集中分布。
(2)Fisher方法可直接求解权向量w*;
(3)Fisher的线性判别式不仅适用于确定性模式分类器的训练,而且对于随机模式也是适用的,Fisher还可以进一步推广到多类问题中去
缺点:
(1)如果M1M2,w*0,则样本线性不可分; M1M2,未必线性可分; w不可逆,未必不可分。
(2)对线性不可分的情况,Fisher方法无法确定分类
2 实验原理
2.1 线性投影与Fisher准则函数
各类在d维特征空间里的样本均值向量:
1Mi
ni
1mi
ni
xkXi
x
k
,i1,2 (2.5-2)
通过变换w映射到一维特征空间后,各类的平均值为:
ykYi
y
k,i1,2 (2.5-3)
映射后,各类样本“类内离散度”定义为:
Si2
ykYi
2
(ym)ki,i1,2 (2.5-4)
显然,我们希望在映射之后,两类的平均值之间的距离越大越好,而各类的样本类内离散度越小越好。因此,
|m1m2|2
JF(w)2
s1s22
(2.5-5)
使JF最大的解w*就是最佳解向量,也就是Fisher的线性判别式。 2.2 求解w*
从JF(w)的表达式可知,它并非w的显函数,必须进一步变换。 已知:mi
1ni
ykYi
y
k
,i1,2, 依次代入(2.5-1)和(2.5-2),有:
mi
1ni
xkXi
wTxkwT(
1ni
xkXi
x)wM,i1,2 (2.5-6)
T
k
i
所以:|m1m2|2||wTM1wTM2||2||wT(M1M2)||2
w
T
(M1M2)(M1M2)TwwTb (2.5-7)
其中:b(M1M2)(M1M2)T (2.5-8)
Sb是原d维特征空间里的样本类内离散度矩阵,表示两类均值向量之间的离散度大小,因此,Sb越大越容易区分。
1Mi将(2.5-6)mwM和(2.5-2)ni
T
i
i
xkXi
x
k代入(2.5-4)S2式中:
i
Si2
xkXi
TT2
(wxwM)kiT
w
xkXi
(x
k
Mi)(xkMi)Tw
wTSiw (2.5-9)
其中:
(2.5-10)
Si
xkXi
(x
k
Mi)(xkMi)
T
,i
1,2
2
因此:S12S2wT(12)wwTww (2.5-11)
显然:SwS1S2 (2.5-12)
i称为原d维特征空间里,样本“类内离散度”矩阵。 w是样本“类内总离散度”矩阵。
为了便于分类,显然i越小越好,也就是w越小越好。 将上述的所有推导结果代入JF(w)表达式: 可以得到:
w*
1
Sw(M1M2)
其中,
是一个比例因子,不影响w*的方向,可以删除,从而得到最后解:
1
w*Sw(M1M2) (2.5-18)
w*就使JF(w)取得最大值,w*可使样本由d维空间向一维空间映射,其投影
方向最好。ww(M1M2)是一个Fisher线性判断式。
*
1
这个向量指出了相对于Fisher准则函数最好的投影线方向。
2.3 Fisher算法步骤
由Fisher线性判别式w*w(M1M2)求解向量w*的步骤: ① 把来自两类w1/w2的训练样本集X分成w1和w2两个子集X1和X2。 ② 由Mi③ 由Si
1
1ni
xkXi
x
k
k
,i
1,2,计算Mi。
,i
xkXi
(x
Mi)(xkMi)T计算各类的类内离散度矩阵Si
1,2。
④ 计算类内总离散度矩阵SwS1S2。 ⑤ 计算w的逆矩阵Sw
1
1
。
⑥ 由w*Sw(M1M2)求解w*。
3 实验目的
应用统计方法解决模式识别问题的困难之一是维数问题,在低维空间行得通的方法,在高维空间往往行不通。因此,降低维数就成为解决实际问题的关键。Fisher的方法,实际上涉及维数压缩。
如果要把模式样本在高维的特征向量空间里投影到一条直线上,实际上就是把特征空间压缩到一维,这在数学上容易办到。问题的关键是投影之后原来线性可分的样本可能变得混杂在一起而无法区分。在一般情况下,总可以找到某个最好的方向,使样本投影到这个方向的直线上是最容易分得开的。如何找到最好的直线方向,如何实现向最好方向投影的变换,是Fisher法要解决的基本问题。这个投影变换就是我们寻求的解向量w*
本实验通过编制程序体会Fisher线性判别的基本思路,理解线性判别的基本思想,掌握Fisher线性判别问题的实质。
4 实验实例
例题:根据我国东部沿海11个省市城镇居民家庭平均每人全年家庭收入的5个指标(工薪收入、经营净收入、财产性收入和转移性收入)数据将各省市城镇居民家庭分为高收入组和次高收入组,建立判别函数进而判定未分组省市的类别。 4.1数据录入
通过国家统计局网站得到我国东部沿海11省市的城镇居民家庭平均每人全年家庭收入的5个指标(工薪收入、经营净收入、财产性收入和转移性收入)数据得到excel表格,并将11个省份划分为高收入组(代号为1)和次高收入组(代号为2),分类如图2-1组别,将其导入spss得到如图4-1所示
:
4-1
4.2进行Fisher判别分析
在SPSS中进行如下操作:
步骤一 在analyze菜单中的classify子菜单中选择discriminant命令如4-2
图所示。
4-2
步骤二 在如图4-3所示的discriminant analyze对话框中,从左侧变量的变量列表中选择“工薪收入”、“经营净收入”、“财产性收入”和“转移性收入”变量,使之添加到independents框中
4-3
步骤三 选择“组别”变量使之添加到group ariable框中。这时group ariable框下的define range按钮变为可用,单击,弹出discriminant analyze:difine
对话框如图4-4所示,并在minium中输入1,在maximum中输入
2.
4-4
步骤四 在discriminant analyze对话框中单击statistics按钮,弹出
discriminant analyze:statistics对话框,如图4-5
所示。
4-5
步骤五 在discriminant analyze对话框中单击classify按钮弹出discriminant analyze:classification对话框,如图4-6所示
4-6
步骤六 单击图4-3所示的discriminant analysis对话框中的ok键,完成操作。
4.3得到分析结果
如表4-1所示可知只有一个判别函数:
D1=2.94*城镇居民家庭总收入-1.892*工资性收入+0.943*经营性收入-1.322*财产性收入-1.112*转移性收入
由分析结果表4-2可知高收入组的Fisher线性
判别函数为:
F1=0.025*城镇居民家庭总收入-0.018*工资性收入+0.014*经营性收入-0.064*财产性收入-0.009*转移性收入-105.381
次高收入组的Fisher判别函数为:F2=0.021*城镇居民家庭总收入-0.015*工资性收入+0.009*经营性收入-0.05*财产性收入-0.009*转移性收入-55.554。
将初始数据代入判别函数可得到表4-3,可知判别函数对初始分组案例100%的进行了正确分类。
4.4应用Fisher判别方程对未分组省份进行分组 由分析可知判别函数
D2.94*X11.892*X20.943*X31.322*X41.112*X5
(其中X1X2X3
X4X5分别代表城镇居民家庭总收入、工资性收入、经营性收入、
财产性收入、转移性收入) 又有高收入组各项指标的均值
X
1)
= (24632.8,18453.4,1826.2 ,703.4 ,6592.4) = (16178.16667,11553.66667 ,1480.333333,489.5,
1)
次高收入组各项指标的均值
X
2)
4210.666667) 代入判别函数可得Y
Y
2)
=30968.06 ,
=21770.85
进而可得Yc1,2=25951.4
表4-4
根据表4-4判别函数值列与临界值25951.4比较可知:剩余未分类的省份都
属于次高收入组。只有北京、上海、天津、广东、浙江属于高收入组,判别结果与我国东部沿海地区省市的城镇居民家庭收入较中西部高国情基本吻合。
但是,由于先验组的收入水平普遍比较高,因此临界值偏高,由此导致了内陆地区都划入次高收入组。
从得到的判别函数可以看出城镇居民家庭人均可支配总收入是判别的最主要的因素,同时相对于其他的因素,财产性收入比重最小。因此要提高居民的家庭收入,首先要提高可支配收入,另外还要提高财产性收入,使其与其它因素的比重达到相近水平。
D2.94*X11.892*X20.943*X31.322*X41.112*X5