自己出的问题还是自己来答吧,大部分已经搞懂了,但不知道理解有没有错
理论与spss结果对应的说明:
①Bayes判别/最小期望错分代价(代价相同)
对应Spss中的fisher结果数值:
例如:x1=[-2 5;0 3;-1 1]; x2=[0 6; 2 4; 1 2]; x3=[1 -2; 0 0; -1 -4];
待判样本:x0=[-2 -1]';
Spss结果:
分类函数系数
VAR00003
1.00 2.00 3.00
x1 -.771 1.371 -.171
x2 .686 1.114 -.514
(常量) -2.513 -4.013 -1.613
Fisher 的线性判别式函数
将待判样本代入得到:d1=-1.657 d2=-7.869 d3=-0.757
Matlab结果(M文件zhengtaiduoleibudengfangchapanbie)
d1 = -0.5571
d2 = -6.7714
d3 =0.3429
注:两者之间的关系spss(di) =matlab(di) +ln(pi).
②Fisher判别/线性判别
Spss结果
特征值
函数 特征值 方差的 % 累积 % 正则相关性
1 2.867a 76.0 76.0 .861
2 .904a 24.0 100.0 .689
a. 分析中使用了前 2 个典型判别式函数。
典型判别式函数系数
函数
1 2
x1 .386 .938
x2 .495 -.112
(常量) -.824 .187
非标准化系数
Matlab结果:(M文件fisherduoleipanbie)
可以分步计算出各个系数。
Lamid1=0.301452485798179 Lamid2=0.955690371344678
通过解方程求出两个系数:[0.938,-0.112] [-0.386,0.495]
注意求出的特征值和spss的有差别,差一个倍数。而且spss求出的结果中有一个常数项。将matlab求出的结果中心化以后就是spss求出的结果。(注意matlab中求出的特征向量*sp^-1/2和通过方程解出来的不一样,书上说是一样的,不知道为什么)。
综上所述,我们书中所说的Fisher判别就是spss所谓的典型判别的。因为二者的思想是相同,都是寻找线性函数将两个总体尽可能的分离,spss中只不多是降维的做法,书中是求极大的思想。
|