判别分析概述
判别分析(Discriminant Analysis)是多元统计分析中一种重要的分类方法,其核心思想是根据已知类别的训练样本建立判别准则,然后将未知类别的新样本按照该准则归入某一类别。判别分析广泛应用于医学诊断、金融风控、模式识别等领域。
基本概念
总体与类别
在判别分析中,总体(Population)是指研究对象的全体,每个总体对应一个类别。
设有 \( k \) 个总体 \( G_1, G_2, \ldots, G_k \),每个总体 \( G_i \) 具有 \( p \) 维特征向量:
\[ \mathbf{x} = (x_1, x_2, \ldots, x_p)^T \]
每个总体 \( G_i \) 的分布可以用概率密度函数 \( f_i(\mathbf{x}) \) 来描述,其均值向量和协方差矩阵分别为:
\[ \boldsymbol{\mu}_i = E(\mathbf{x} | \mathbf{x} \in G_i), \quad \boldsymbol{\Sigma}_i = \text{Cov}(\mathbf{x} | \mathbf{x} \in G_i) \]
在实际问题中,总体的分布参数通常是未知的,需要通过训练样本来估计。
训练样本
训练样本(Training Sample)是已知类别归属的观测数据,用于建立判别规则。
假设从第 \( i \) 个总体 \( G_i \) 中抽取了 \( n_i \) 个样本,记为:
\[ \mathbf{x}{i1}, \mathbf{x}{i2}, \ldots, \mathbf{x}_{in_i}, \quad i = 1, 2, \ldots, k \]
总样本量为 \( n = \sum_{i=1}^{k} n_i \)。训练样本的质量直接影响判别规则的优劣,要求:
- 训练样本应具有代表性,能反映总体的真实分布特征
- 各类别的样本量应适当,一般要求 \( n_i \geq p + 1 \)
- 训练样本的类别标记必须准确无误
利用训练样本可以计算各类别的样本均值向量和样本协方差矩阵:
\[ \bar{\mathbf{x}}i = \frac{1}{n_i} \sum{j=1}^{n_i} \mathbf{x}_{ij} \]
\[ \mathbf{S}i = \frac{1}{n_i - 1} \sum{j=1}^{n_i} (\mathbf{x}_{ij} - \bar{\mathbf{x}}i)(\mathbf{x}{ij} - \bar{\mathbf{x}}_i)^T \]
判别规则
判别规则(Discriminant Rule)是将样本空间划分为若干互不相交区域的准则,每个区域对应一个类别。
形式化地,判别规则是一个映射 \( d: \mathbb{R}^p \to {1, 2, \ldots, k} \),将 \( p \) 维观测向量 \( \mathbf{x} \) 映射到类别标号。判别规则将样本空间 \( \mathbb{R}^p \) 划分为 \( k \) 个互不相交的区域:
\[ R_1, R_2, \ldots, R_k, \quad \bigcup_{i=1}^{k} R_i = \mathbb{R}^p, \quad R_i \cap R_j = \emptyset ; (i \neq j) \]
当新样本 \( \mathbf{x}_0 \) 落入区域 \( R_i \) 时,就判定 \( \mathbf{x}_0 \) 属于第 \( i \) 个总体 \( G_i \)。
一个好的判别规则应满足:
- 误判概率尽可能小
- 具有良好的稳健性
- 计算简便,易于实施
判别分析的主要方法
距离判别法
距离判别法(Distance Discriminant)的基本思想是将新样本判归距离最近的类别,即“近朱者赤“的原则。
距离判别法通常采用马氏距离(Mahalanobis Distance)作为度量标准。样本 \( \mathbf{x} \) 到第 \( i \) 个总体 \( G_i \) 的马氏距离定义为:
\[ D_i^2(\mathbf{x}) = (\mathbf{x} - \boldsymbol{\mu}_i)^T \boldsymbol{\Sigma}_i^{-1} (\mathbf{x} - \boldsymbol{\mu}_i) \]
马氏距离相比欧氏距离的优势在于消除了各变量量纲的影响、考虑了变量之间的相关性,并且对坐标的线性变换具有不变性。
当 \( k = 2 \) 且两总体协方差矩阵相等(\( \boldsymbol{\Sigma}_1 = \boldsymbol{\Sigma}_2 = \boldsymbol{\Sigma} \))时,判别函数为:
\[ W(\mathbf{x}) = (\boldsymbol{\mu}_1 - \boldsymbol{\mu}_2)^T \boldsymbol{\Sigma}^{-1} \mathbf{x} - \frac{1}{2}(\boldsymbol{\mu}_1 - \boldsymbol{\mu}_2)^T \boldsymbol{\Sigma}^{-1} (\boldsymbol{\mu}_1 + \boldsymbol{\mu}_2) \]
当 \( W(\mathbf{x}) \geq 0 \) 时判入 \( G_1 \),否则判入 \( G_2 \)。对于多总体情形,判别规则推广为:
\[ d(\mathbf{x}) = i \quad \text{若} \quad D_i^2(\mathbf{x}) = \min_{1 \leq j \leq k} D_j^2(\mathbf{x}) \]
实际应用中总体参数用样本统计量代替,合并协方差矩阵为:
\[ \mathbf{S}p = \frac{1}{n - k} \sum{i=1}^{k} (n_i - 1) \mathbf{S}_i \]
Fisher 判别法
Fisher 判别法的核心思想是投影降维:寻找一个最优的投影方向,使得投影后各类别之间的区分度最大。
Fisher 判别通过寻找线性组合 \( y = \mathbf{a}^T \mathbf{x} \) 将 \( p \) 维数据投影到低维空间,选择投影方向 \( \mathbf{a} \) 使得 Fisher 准则函数最大化:
\[ J(\mathbf{a}) = \frac{\mathbf{a}^T \mathbf{B} \mathbf{a}}{\mathbf{a}^T \mathbf{W} \mathbf{a}} \]
其中组间离差矩阵和组内离差矩阵分别为:
\[ \mathbf{B} = \sum_{i=1}^{k} n_i (\bar{\mathbf{x}}_i - \bar{\mathbf{x}})(\bar{\mathbf{x}}_i - \bar{\mathbf{x}})^T \]
\[ \mathbf{W} = \sum_{i=1}^{k} \sum_{j=1}^{n_i} (\mathbf{x}_{ij} - \bar{\mathbf{x}}i)(\mathbf{x}{ij} - \bar{\mathbf{x}}_i)^T \]
最大化 Fisher 准则等价于求解广义特征值问题 \( \mathbf{B} \mathbf{a} = \lambda \mathbf{W} \mathbf{a} \)。对于两总体情形,最优投影方向为:
\[ \mathbf{a}^* = \mathbf{W}^{-1}(\bar{\mathbf{x}}_1 - \bar{\mathbf{x}}_2) \]
当类别数 \( k > 2 \) 时,\( \mathbf{W}^{-1}\mathbf{B} \) 的非零特征值个数最多为 \( \min(k-1, p) \),对应的特征向量构成判别空间的基:
\[ y_l = \mathbf{a}_l^T \mathbf{x}, \quad l = 1, 2, \ldots, \min(k-1, p) \]
Bayes 判别法
Bayes 判别法在距离判别的基础上引入了先验概率和误判损失,使判别规则在总期望损失最小的意义下达到最优。
设各总体的先验概率为 \( \pi_i = P(G_i) \),误判损失为 \( C(j|i) \),则总期望损失为:
\[ \text{ECM} = \sum_{i=1}^{k} \sum_{j \neq i} C(j|i) \pi_i P(j|i) \]
根据 Bayes 定理,后验概率为:
\[ P(G_i | \mathbf{x}) = \frac{\pi_i f_i(\mathbf{x})}{\sum_{l=1}^{k} \pi_l f_l(\mathbf{x})} \]
当误判损失相等时,Bayes 判别简化为最大后验概率准则:
\[ d(\mathbf{x}) = \arg\max_{i} \pi_i f_i(\mathbf{x}) \]
当各总体服从多元正态分布且协方差矩阵相等时,判别函数为线性判别函数:
\[ \delta_i(\mathbf{x}) = \boldsymbol{\mu}_i^T \boldsymbol{\Sigma}^{-1} \mathbf{x} - \frac{1}{2} \boldsymbol{\mu}_i^T \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_i + \ln \pi_i \]
当协方差矩阵不等时,判别函数为二次判别函数:
\[ \delta_i(\mathbf{x}) = -\frac{1}{2} \ln |\boldsymbol{\Sigma}_i| - \frac{1}{2}(\mathbf{x} - \boldsymbol{\mu}_i)^T \boldsymbol{\Sigma}_i^{-1}(\mathbf{x} - \boldsymbol{\mu}_i) + \ln \pi_i \]
先验概率的确定方法包括:根据经验主观设定、以样本比例估计 \( \hat{\pi}_i = n_i / n \)、或采用等先验假设 \( \pi_i = 1/k \)。
逐步判别法
逐步判别法(Stepwise Discriminant Analysis)通过变量选择,从众多指标中筛选出对分类贡献显著的变量子集,建立简洁有效的判别函数。
包含过多无关变量可能导致判别效果下降(维数灾难)、模型过于复杂、计算量增大。逐步判别法采用以下策略:
- 前进法:从空模型出发,每步加入一个使判别能力提升最大的变量
- 后退法:从全模型出发,每步剔除一个对判别贡献最小的变量
- 逐步法:结合前进和后退,每步加入变量后检查是否有变量需要剔除
常用的变量选择统计量为 Wilks’ Lambda:
\[ \Lambda = \frac{|\mathbf{W}|}{|\mathbf{T}|} = \frac{|\mathbf{W}|}{|\mathbf{B} + \mathbf{W}|} \]
\( \Lambda \) 值越小表示组间差异越大。偏 F 统计量用于评估变量的额外判别贡献:
\[ F_{\text{partial}} = \frac{\Lambda_{\text{without}} - \Lambda_{\text{with}}}{\Lambda_{\text{with}}} \cdot \frac{n - k - p}{k - 1} \]
当偏 F 值大于进入阈值 \( F_{\text{in}} \) 时选入变量,小于剔除阈值 \( F_{\text{out}} \) 时剔除变量。
判别效果评价
建立判别规则后,必须对其分类性能进行评价,以确定模型的可靠性和实用性。
回判率
回判(Resubstitution)是将训练样本重新代入判别函数进行分类,统计正确分类的比例。
回判正确率定义为:
\[ \hat{P}{\text{correct}} = \frac{\sum{i=1}^{k} n_{ii}}{n} \]
其中 \( n_{ii} \) 为第 \( i \) 类样本中被正确判别的个数。回判率的局限性在于:训练数据同时参与了模型建立和评价,回判率往往过于乐观,不能作为模型泛化能力的可靠估计。
交叉验证
交叉验证(Cross-Validation)通过反复划分训练集和验证集来评估模型的泛化性能。
留一法交叉验证(LOOCV):每次留出一个样本作为验证样本,用剩余 \( n - 1 \) 个样本建立判别规则,重复 \( n \) 次:
\[ \hat{P}{\text{CV}} = \frac{1}{n} \sum{j=1}^{n} I(d_{-j}(\mathbf{x}_j) = y_j) \]
其中 \( d_{-j} \) 表示去掉第 \( j \) 个样本后建立的判别规则,\( I(\cdot) \) 为示性函数。
K 折交叉验证:将样本随机分为 \( K \) 个子集,常用 \( K = 5 \) 或 \( K = 10 \),在计算效率和估计偏差之间取得平衡。
混淆矩阵
混淆矩阵(Confusion Matrix)是评价分类性能的核心工具,详细展示了各类别之间的分类结果。
对于 \( k \) 类问题,混淆矩阵为 \( k \times k \) 的矩阵 \( \mathbf{C} = (c_{ij}) \),其中 \( c_{ij} \) 表示实际属于第 \( i \) 类而被判为第 \( j \) 类的样本数。
二分类混淆矩阵
| 预测为正类 | 预测为负类 | |
|---|---|---|
| 实际正类 | TP(真正例) | FN(假负例) |
| 实际负类 | FP(假正例) | TN(真负例) |
常用评价指标
总体正确率:
\[ \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} \]
灵敏度/召回率:
\[ \text{Sensitivity} = \frac{TP}{TP + FN} \]
特异度:
\[ \text{Specificity} = \frac{TN}{TN + FP} \]
精确率:
\[ \text{Precision} = \frac{TP}{TP + FP} \]
F1 分数:
\[ F_1 = \frac{2 \times \text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} \]
Kappa 系数
Cohen’s Kappa 系数衡量判别结果与随机分类之间的一致性改善程度:
\[ \kappa = \frac{P_o - P_e}{1 - P_e} \]
其中 \( P_o \) 为观察一致率,\( P_e \) 为期望一致率。Kappa 系数的解释标准:
- \( \kappa < 0.20 \):一致性较差
- \( 0.20 \leq \kappa < 0.40 \):一致性一般
- \( 0.40 \leq \kappa < 0.60 \):一致性中等
- \( 0.60 \leq \kappa < 0.80 \):一致性较好
- \( \kappa \geq 0.80 \):一致性很好
ROC 曲线与 AUC
对于二分类问题,ROC 曲线以假正率为横轴、真正率为纵轴绘制:
\[ \text{AUC} = \int_0^1 \text{TPR}(t) , d\text{FPR}(t) \]
AUC 值越接近 1,判别效果越好;AUC = 0.5 相当于随机猜测。对于多分类问题,可采用 One-vs-Rest 策略分别计算各类别的 AUC 值。
各方法的比较与选择
| 方法 | 适用条件 | 优点 | 局限性 |
|---|---|---|---|
| 距离判别 | 各类协方差相等 | 直观简单、计算方便 | 未考虑先验信息 |
| Fisher 判别 | 不要求正态性 | 降维效果好、几何意义清晰 | 仅适用于线性可分 |
| Bayes 判别 | 已知或可估计分布 | 理论最优、可融入先验 | 依赖分布假设 |
| 逐步判别 | 变量较多 | 自动选变量、模型简洁 | 可能遗漏重要交互 |
选择方法时应考虑:
- 数据是否满足正态性假设
- 各类协方差矩阵是否相等(Box’s M 检验)
- 样本量与变量数的比例
- 先验概率和误判损失是否已知
- 对模型可解释性的要求
应用领域
医学诊断
判别分析在医学领域的应用历史悠久,是辅助临床诊断的重要统计工具。
典型应用包括:
- 根据生化指标(血糖、血脂、肝功能等)判别疾病类型
- 基于影像特征进行肿瘤良恶性判别
- 利用基因表达数据进行疾病亚型分类
- 心电图特征的心律失常类型判别
金融风控
在金融领域,判别分析被广泛用于信用评估和风险分类。
主要应用场景:
- 信用评分:根据借款人的收入、负债比、信用历史等指标判别信用风险等级
- 企业财务预警:基于财务比率判别企业是否面临破产风险(如 Altman Z-score 模型)
- 欺诈检测:通过交易行为特征判别正常交易与欺诈交易
- 保险核保:根据投保人特征判别风险类别
生态与环境科学
- 根据形态特征对物种进行分类鉴定
- 基于环境因子判别生态系统类型
- 水质评价:利用理化指标判别水质等级
- 土壤分类:根据土壤性状判别土壤类型
模式识别与机器学习
- 文字识别:根据笔画特征判别字符类别
- 语音识别:利用声学特征进行说话人识别
- 遥感图像分类:基于光谱特征判别地物类型
- 人脸识别:Fisher 判别(Fisherface)在人脸识别中的经典应用
考古学与质量控制
- 根据骨骼测量数据判别性别、年龄组或种族
- 基于陶器的化学成分判别产地
- 根据产品检测指标判别合格品与不合格品
- 故障诊断:根据设备运行参数判别故障类型
判别分析的实施步骤
完整的判别分析流程包括数据准备、模型建立、效果评价和实际应用四个阶段。
- 问题定义:明确分类目标和类别数
- 数据收集:获取训练样本,确保样本代表性和标记准确性
- 数据预处理:检验正态性、协方差齐性,处理缺失值和异常值
- 变量筛选:通过逐步判别或其他方法选择有效变量
- 建立判别规则:选择合适的判别方法,估计参数
- 效果评价:计算回判率、交叉验证正确率,分析混淆矩阵
- 模型应用:对新样本进行分类预测
注意事项与局限性
假设检验
在使用参数判别方法前,应验证以下假设:
- 多元正态性:各总体是否近似服从多元正态分布
- 协方差齐性:各总体的协方差矩阵是否相等
- 多重共线性:变量之间是否存在严重共线性
样本量要求
- 每类样本量至少为变量数的 3-5 倍
- 总样本量应满足 \( n \geq 3(p + k) \)
- 各类样本量不应过于悬殊,否则判别规则偏向大样本类
与其他分类方法的关系
- 当协方差相等时,线性判别分析(LDA)等价于具有特定正则化的逻辑回归
- Fisher 判别可视为有监督降维方法,与主成分分析(PCA)互补
- Bayes 判别是朴素贝叶斯分类器在非独立假设下的推广
- 二次判别分析(QDA)可视为支持向量机(SVM)在特定核函数下的特例
小结
判别分析是一类成熟而强大的分类方法,其理论基础深厚、应用范围广泛。在实际建模中,应根据数据特点和问题需求选择合适的判别方法,并通过严格的效果评价确保模型的可靠性。随着计算技术的发展,判别分析与现代机器学习方法的融合日益深入,在高维数据分析中展现出新的活力。