线性判别分析简介
当我们有一组预测变量并且想要将响应变量分类为两类之一时,我们通常使用逻辑回归。
例如,我们可以在以下场景中使用逻辑回归:
- 我们希望使用信用评分和银行余额来预测特定客户是否会拖欠贷款。 (响应变量=“默认”或“无默认”)
然而,当响应变量具有两个以上可能类别时,我们通常更喜欢使用线性判别分析(通常称为 LDA)的方法。
例如,我们可以在以下场景中使用LDA:
- 我们希望使用场均得分和场均篮板数来预测某个高中篮球运动员是否会被以下三所学校之一录取:Division 1、Division 2 或 Division 3。
虽然LDA和逻辑回归模型都用于分类,但事实证明,在对多个类别进行预测时,LDA比逻辑回归稳定得多,因此当响应变量可以采用两个以上时,LDA是首选算法。类。
与逻辑回归相比,LDA 在样本量较小时效果最佳,因此当您无法收集大样本时,LDA 成为首选方法。
如何创建LDA模型
LDA 对给定数据集做出以下假设:
(1)每个预测变量的值服从正态分布。也就是说,如果我们创建一个直方图来可视化给定预测变量的值分布,它大致呈“钟形”。
(2)每个预测变量具有相同的方差。在现实世界的数据中几乎从来不会出现这种情况,这就是为什么我们通常在实际拟合 LDA 模型之前缩放每个变量以具有相同的均值和方差。
一旦这些假设得到验证,LDA 就会估计以下值:
- μ k :第 k类所有训练观察值的平均值。
- σ 2 : k个类别中每个类别的样本方差的加权平均值。
- π k :属于第 k类的训练观察的比例。
然后,LDA 将这些数字代入以下公式,并将每个观测值 X = x 分配给该公式产生最大值的类:
d k (x) = x * (μ k /σ 2 ) – (μ k 2 /2σ 2 ) + log(π k )
请注意,LDA 的名称中带有“线性” ,因为上述函数产生的值来自 x 的线性函数的结果。
如何为LDA准备数据
在应用 LDA 模型之前,请确保您的数据满足以下要求:
1. 响应变量是分类变量。 LDA 模型旨在用于分类问题,即可以将响应变量放入类或类别中。
2. 预测变量服从正态分布。首先,验证每个预测变量是否近似正态分布。如果不是,您可以选择 先对数据进行变换,使分布更加正态。
3. 每个预测变量具有相同的方差。如前所述,LDA 假设每个预测变量具有相同的方差。由于这种情况在实践中很少见,因此最好对数据集中的每个变量进行缩放,使其平均值为 0,标准差为 1。
4. 考虑极端异常值。在应用 LDA 之前,请务必检查数据集中是否存在极端异常值。通常,您只需使用箱线图或散点图即可直观地检查异常值。
使用线性判别分析的示例
LDA模型在现实生活中应用广泛。这里有些例子:
1. 营销。零售公司经常使用 LDA 将购物者分为几个类别之一。例如,他们可以创建一个 LDA 模型,使用收入、年度总支出和家庭规模等预测变量来预测给定购买者是否属于低、中或高支出者。
2.医疗。医院和医学研究团队经常使用 LDA 来预测一组特定的异常细胞是否可能导致轻度、中度或重度疾病。
3.产品开发。公司可以创建LDA模型,根据各种预测变量(例如性别、年收入和类似产品的使用频率)来预测某个消费者是否会每天、每周、每月或每年使用他们的产品。
4.生态学。研究人员可以创建 LDA 模型,根据大小、年度污染和损失等各种预测变量来预测给定珊瑚礁的整体健康状况是否良好、中等、较差或濒危。年龄。
R 和 Python 中的 LDA
以下教程提供了有关如何在 R 和 Python 中执行线性判别分析的分步示例: