判别分析(discriminant analysis)是在分类对象的类别归属明确的情况下,根据对象的某些特征指标构造判别函数来判定其类别归属的分类方法。即根据已掌握的若干个样本的数据信息,总结出客观的样本分类的规律,建立判别公式和判别准则。再遇到新的样本的时候,根据已总结出来的判别公式,来判断样本所属的类别。
三大主流判别分析算法:
- 费希尔(Fisher)判别:线性判别分析(Linear Discriminant Analysis,LDA)和二次判别分析(Quadratic Discriminant Analysis,QDA)
- 贝叶斯(Bayes)判别:朴素贝叶斯分类算法(Naive Bayesian Classification)
- 距离判别:K最近邻(K-Nearest Neighbor,KNN)和有权重的K最近邻(Weighted K-Nearest Neighbor)
Fisher判别
判别原理
已知A、B两类观察对象,A类有 \(n_{A}\) 例,B类有 \(n_{B}\) 例,分别记录了 \(X_{1},X_{2},...X_{m}\) 个观察指标,称为判别指标或变量。Fisher判别法就是找出一个线性组合: \[ Z=C_{1}X_{1}+C_{2}X_{2}+...+C_{M}X_{M} \] 使得综合指标Z在A类的均数 \(\overline{Z}_{A}\) 与在B类的均数 \(\overline{Z}_{B}\) 的差异尽可能的大,而两类内综合指标Z的变异 \(S_{A}^{2}+S_{B}^{2}\) 尽可能小,即使 \[\lambda =\frac{|\overline{Z_{A}}-\overline{Z_{B}}|}{S_{A}^{2}+S_{B}^{2}}\] 达到最大。此时,$ Z=C_{1}X_{1}+C_{2}X_{2}+...+C_{M}X_{M} $ 称为Fisher判别函数。$ C_{1},C_{2},...,C_{M} $ 称为判别系数。
对 $\lambda $ 求导,判别系数可由下列方程组解出: \[\begin{Bmatrix} S_{11}C_{1}+S_{12}C_{2}+...+S_{1m}C_{m}=D_{1}\\ S_{21}C_{1}+S_{22}C_{2}+...+S_{2m}C_{m}=D_{2}\\ ...\\ S_{m1}C_{1}+S_{m2}C_{2}+...+S_{mm}C_{m}=D_{m} \end{Bmatrix}\] 其中, \(D_{j}=\overline{X}_{j}^{(A)}-\overline{X}_{j}^{(B)}\) 。 \(\overline{X}_{j}^{(A)},\overline{X}_{j}^{(B)}\)分别是A类和B类第j个指标的均数(j = 1,2,...,m); \(S_{ij}\) 是 \(X_{1},X_{2},...,X_{m}\) 合并协方差阵的元素。 \[ S_{ij}=\frac{\sum (X_{i}^{(A)}-\overline{X}_{i}^{(A)})(X_{j}^{(A)}-\overline{X}_{j}^{(A)})+\sum (X_{i}^{(B)}-\overline{X}_{i}^{(B)})(X_{j}^{(B)}-\overline{X}_{j}^{(B)})}{n_{A}+n_{B}-2} \] 。其中 \(\overline{X}_{i}^{(A)},\overline{X}_{i}^{(B)},\overline{X}_{j}^{(A)},\overline{X}_{j}^{(B)}\) 分别为 \(X_{i},X_{j}\) 于A类和B类的观察值。
判别规则
建立判别函数后,按Fisher判别式逐例计算判别函数值 \(Z_{i}\) ,进一步计算 \(Z_{i}\) 的两类均数 \(\overline{Z}_{A}\) 、 \(\overline{Z}_{B}\) 与总均数 \(\overline{Z}\) ,按照式子: \(\overline{Z}_{c} = \frac{\overline{Z}_{A}+\overline{Z}_{B}}{2}\) 计算判别界值。 \[Discriminant \ Rule\begin{Bmatrix} Z_{i}>\overline{Z}_{c} & Judged\ as\ A\\ Z_{i}<\overline{Z}_{c} & Judged\ as\ B\\ Z_{i}=\overline{Z}_{c} & Judged\ as\ both \end{Bmatrix}\]
例子
收集了24例妇女的两个指标:抗血友病因子( \(X_{1}\) )和类抗血友病因子抗原( \(X_{2}\) )的资料,如下表。其中正常人(A)类12例,血友病基因携带者(B)类12例
编号 | 类别 | \(X_{1}\) | \(X_{2}\) | 编号 | 类别 | \(X_{1}\) | \(X_{2}\) | |
---|---|---|---|---|---|---|---|---|
1 | A | -0.5628 | 0.3716 | 13 | B | -0.3866 | 0.1642 | |
2 | A | -0.9337 | -0.5568 | 14 | B | -0.1925 | 0.0244 | |
3 | A | -0.4016 | 0.4356 | 15 | B | -0.4557 | -0.0012 | |
4 | A | -0.4324 | 0.5779 | 16 | B | -0.1755 | -0.0903 | |
5 | A | -0.7718 | 0.2015 | 17 | B | -0.4405 | -0.4888 | |
6 | A | -0.0539 | 0.1851 | 18 | B | -0.2514 | -0.2740 | |
7 | A | -0.6083 | 0.1996 | 19 | B | -1.2130 | -1.0990 | |
8 | A | -0.2220 | 0.1223 | 20 | B | -0.1939 | -0.0571 | |
9 | A | -0.3472 | 0.2618 | 21 | B | -0.0518 | -0.1335 | |
10 | A | -0.3260 | 0.3781 | 22 | B | 0.0193 | 0.1801 | |