二次判别分析简介


当我们有一组预测变量并且想要将响应变量分类为两类之一时,我们通常使用逻辑回归

然而,当一个响应变量有两个以上可能的类别时,我们通常使用 线性判别分析,通常称为LDA。

LDA 假设(1)每个类别中的观测值呈正态分布,并且(2)每个类别中的观测值共享相同的协方差矩阵。使用这些假设,LDA 然后找到以下值:

  • μ k :第k类所有训练观察值的平均值。
  • σ 2k个类别中每个类别的样本方差的加权平均值。
  • π k :属于第k类的训练观察的比例。

然后,LDA 将这些数字代入以下公式,并将每个观测值 X = x 分配给该公式产生最大值的类:

d k (x) = x * (μ k2 ) – (μ k 2 /2σ 2 ) + log(π k )

LDA 的名字中含有“线性” ,因为上述函数产生的值来自于 x 的线性函数的结果。

线性判别分析的扩展是二次判别分析,通常称为 QDA。

该方法与LDA类似,也假设每个类的观测值呈正态分布,但不假设每个类共享相同的协方差矩阵。相反,QDA 假设每个类都有自己的协方差矩阵。

换句话说,假设k 类的观测值的形式为 X ~ N(μ k , Σ k )。

使用这个假设,QDA 然后找到以下值:

  • μ k第 k类所有训练观察值的平均值。
  • Σ k第 k类的协方差矩阵。
  • π k :属于第k类的训练观察的比例。

然后,QDA 将这些数字代入以下公式,并将每个观测值 X = x 分配给该公式产生最大值的类:

D k (x) = -1/2*(x-μ k ) T Σ k -1 (x-μ k ) – 1/2*log|Σ k | + log( πk )

请注意,QDA 的名称中有二次函数,因为上述函数产生的值来自 x 的二次函数的结果。

LDA 与 QDA:何时使用其中之一

LDA 和 QDA 之间的主要区别在于,LDA 假设每个类共享一个协方差矩阵,这使其成为比 QDA 更不灵活的分类器。

这本质上意味着它具有低方差,即它将在不同的训练数据集上执行相同的操作。缺点是,如果K类具有相同协方差的假设是错误的,那么 LDA 可能会遭受 高偏差

在以下情况下,QDA 通常优于 LDA:

(1)训练集大。

(2) K个类别不太可能共享共同的协方差矩阵。

当满足这些条件时,QDA 往往会表现得更好,因为它更灵活并且能够更好地适应数据。

如何为 QDA 准备数据

在应用 QDA 模型之前,请确保您的数据满足以下要求:

1. 响应变量是分类变量。 QDA 模型设计用于分类问题,即可以将响应变量放入类或类别中。

2. 每个班级的观察结果服从正态分布。首先,检查每个类中值的分布是否近似正态分布。如果不是,您可以选择 先对数据进行变换,使分布更加正态。

3. 考虑极端异常值。在应用 LDA 之前,请务必检查数据集中是否存在极端异常值。通常,您只需使用箱线图或散点图即可直观地检查异常值。

R 和 Python 中的 QDA

以下教程提供了有关如何在 R 和 Python 中执行二次判别分析的分步示例:

R 中的二次判别分析(一步一步)
Python 中的二次判别分析(一步一步)

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注