主成分回归简介


创建模型时最常见的问题之一是多重共线性。当数据集中的两个或多个预测变量高度相关时,就会发生这种情况。

当这种情况发生时,给定的模型可能能够很好地拟合训练数据集,但它可能在从未见过的新数据集上表现不佳,因为它与训练集过度拟合

避免过度拟合的一种方法是使用某种类型的子集选择方法,例如:

这些方法试图从模型中删除不相关的预测变量,以便只有能够预测响应变量变化的最重要的预测变量留在最终模型中。

避免过度拟合的另一种方法是使用某种类型的正则化方法,例如:

这些方法试图约束或正则化模型的系数以减少方差,从而产生能够很好地推广到新数据的模型。

处理多重共线性的一种完全不同的方法称为降维

一种常见的降维方法称为主成分回归,其工作原理如下:

1.假设给定的数据包含p 个预测变量

2.计算 Z 1 , … , Z M作为原始p预测变量的M个线性组合。

  • Z m = ΣΦ jm _
  • Z 1是预测变量的线性组合,可捕获尽可能多的方差。
  • Z 2是预测变量的下一个线性组合,它捕获最大方差,同时与 Z 1正交(即不相关)。
  • Z 3是预测变量的下一个线性组合,它在与 Z 2正交的同时捕获最大方差。
  • 等等。

3.使用最小二乘法拟合线性回归模型,并使用前M个主成分 Z 1 , …, Z M作为预测变量。

降维一词源自以下事实:该方法必须仅估计 M+1 个系数,而不是 p+1 个系数,其中 M < p。

换句话说,问题的维度从p+1降到了M+1。

在数据集中存在多重共线性的许多情况下,主成分回归能够生成比传统多元线性回归更好地推广到新数据的模型。

执行主成分回归的步骤

在实践中,使用以下步骤来执行主成分回归:

1. 标准化预测变量。

首先,我们通常对数据进行标准化,使每个预测变量的平均值为 0,标准差为 1。这可以防止一个预测变量产生太大的影响,特别是当它以不同的单位进行测量时(c 即,如果1以英寸为单位测量)。 X 2以码为单位)。

2. 计算主成分并使用主成分作为预测变量执行线性回归。

接下来,我们计算主成分,并使用最小二乘法来拟合线性回归模型,使用前M 个主成分 Z 1 , …, Z M作为预测变量。

3. 决定保留多少个主要组件。

接下来,我们使用k 折交叉验证来找到模型中保留的主成分的最佳数量。要保留的主成分的“最佳”数量通常是产生最低检验均方误差 (MSE) 的数量。

主成分回归的优点和缺点

主成分回归 (PCR) 具有以下优点

  • 当第一主成分能够捕获预测变量的大部分变化以及与响应变量的关系时,PCR 往往表现良好。
  • 即使预测变量高度相关,PCR 也能表现良好,因为它产生彼此正交(即不相关)的主成分。
  • PCR 不需要您选择要从模型中删除哪些预测变量,因为每个主成分都使用所有预测变量的线性组合。
  • 与多元线性回归不同,当预测变量多于观测值时,可以使用 PCR。

然而,PCR 有一个缺点:

  • 在决定保留或删除哪些主要成分时,PCR 不考虑响应变量。相反,它仅考虑主成分捕获的预测变量之间的方差大小。在某些情况下,差异最大的主成分可能无法很好地预测响应变量。

在实践中,我们拟合了许多不同类型的模型(PCR、Ridge、Lasso、多元线性回归等),并使用 k 折交叉验证来识别对新数据产生最低 MSE 检验的模型。

在原始数据集中存在多重共线性的情况下(通常是这种情况),PCR 往往比普通最小二乘回归表现得更好。但是,最好拟合几个不同的模型,以便您可以确定哪一个模型最能概括未见过的数据。

R 和 Python 中的主成分回归

以下教程展示了如何在 R 和 Python 中执行主成分回归:

R 中的主成分回归(逐步)
Python 中的主成分回归(逐步)

添加评论

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