Scikit Learn 中的普通最小二乘法和 Ridge 回归方差

17 Mar 2025 | 6 分钟阅读

Scikit-learn 的 linear_model 模块实现了普通最小二乘法 (OLS) 和岭回归。通过模型的属性,您可以在使用 OLS 或岭回归拟合线性回归模型时获取估计的系数和方差。

Scikit-learn 的 LinearRegression 类可用于 OLS。模型拟合后,coef_ 属性允许您获取估计的系数。但是,Scikit-learn 不直接提供 OLS 的方差估计。它必须使用统计技术或其他库工具独立计算。

普通最小二乘法 (OLS): 普通最小二乘法 (OLS) 是一种用于计算线性回归模型参数的方法。目标是找到观测数据点与线性模型的预测值之间的最佳拟合线,同时最小化残差平方和。

岭回归: 岭回归是线性回归中用于处理过拟合问题的一种方法。通过向损失函数添加一个正则化项来将系数推向零,从而实现这一点。这降低了模型的方差,从而提高了其预测未来的能力。

正则化: 正则化是一种用于防止机器学习模型过拟合的方法。它通过在损失函数中包含一个惩罚项来实现,以防止模型拟合数据噪声。根据具体问题,可以使用 L1 正则化(套索)、L2 正则化(岭)或弹性网络等技术来实现正则化。

均方误差 (MSE): 均方误差 (MSE) 是用于评估回归模型性能的统计量。它衡量了预测值与实际值之间平方差异的平均值。较低的 MSE 表明模型与数据的匹配度更好。

R 方: R 方 (R-Squared) 是用于评估回归模型拟合优度的统计量。它计算了自变量可以解释的因变量变异的百分比。较高的值表明模型与数据的拟合度更好,R 方的值介于 0 到 1 之间。

示例

输出

Ordinary Least Squares and Ridge Regression Variance in Scikit Learn
Ordinary Least Squares and Ridge Regression Variance in Scikit Learn

该算法生成一个具有非线性关系的合成数据集。然后,使用多项式特征,它拟合了两个回归模型:岭回归和普通最小二乘法 (OLS)。在数据集上进行训练后,模型会预测测试数据点的结果。使用均方误差 (MSE) 评估模型在训练数据集上的性能。代码提供了两张图表来可视化 OLS 和岭回归模型的数据和回归线。图表带有图例,其中包含每种模型的 MSE 值,以显示数据点和相关的回归线。此代码演示了多项式特征、OLS、岭回归以及使用 matplotlib 进行可视化的技术。

普通最小二乘法和岭回归的方差

假设我们有一个数据集,其中包含一个预测变量 X 和 n 个预测变量,例如 x1、x2、x3 等,以及一个响应变量 Y。在这种情况下,我们想构建一个线性回归模型来预测 Y 基于预测变量 X。在这里,我们将比较 OLS 和岭回归方法。

普通最小二乘法 (OLS): OLS 旨在最小化残差平方和,并确定预测变量的最佳拟合系数。OLS 估计量来源于

岭回归: 为了控制系数的幅度,岭回归将一个称为正则化参数的惩罚项添加到残差平方和中。岭估计量来源于

I: 是单位矩阵,而 (lambda) 是正则化参数。

现在,让我们研究预测变量方差对 OLS 和岭回归系数的影响。

假设 x1 的方差远大于 x2。与 x2 相比,x1 的值范围更大。

OLS 使用 (XT * X) 的逆来估计系数,因此,如果一个预测变量的方差较大,它将对估计的系数产生重大影响。因此,与 x2 的系数相比,x1 的系数将具有更大的方差。

通过将单位矩阵乘以惩罚项,岭回归有助于将系数减小到零。因此,岭回归减小了高方差预测变量的影响。因此,即使 x1 的方差较大,x1 和 x2 的岭系数也将具有相似的方差。

总而言之,当预测变量之间存在方差差异时,岭回归通过将系数向零收缩来减小它们之间的方差差异。OLS 倾向于为对应于更高方差预测变量的系数提供更大的方差。

注意:这里的示例假设一个简单的情况来演示 OLS 和岭回归之间的方差差异。在实际情况中,OLS 和岭回归之间的选择会受到多种因素的影响,包括数据的性质、多重共线性以及期望的偏差与方差之间的权衡。

以下代码创建一个包含 50 个样本和 10 个特征的虚假数据集。我们将数据分成训练集和测试集,以便将 OLS 和岭回归模型拟合到训练数据。然后,为了查看两个模型的方差差异,我们计算了两个模型在测试数据集上的均方误差,并绘制了它们的系数。

输出

Ordinary Least Squares and Ridge Regression Variance in Scikit Learn

图表显示,OLS 模型的系数幅度更大,范围比岭回归模型的更广。因此,在方差和对数据噪声的敏感性方面,OLS 模型比岭回归模型表现更好。

OLS 模型: 与岭回归模型相比,OLS 模型的 MSE 较高 (0.18),表明其总方差略高。

岭回归模型: 岭回归模型的 MSE 较低 (0.21),表明其总方差低于 OLS 模型。

在岭回归中,正则化参数 (lambda) 有助于在减小残差平方和与最小化系数幅度之间进行权衡。通过引入惩罚项,岭回归可以降低模型的方差,从而减少过拟合并提高泛化性能。

岭回归模型的 MSE 较低 (0.09),表明其方差低于 OLS 模型 (0.13)。这表明岭回归模型在该数据集上的 MSE 表现优于其他模型,因为它能更好地捕捉数据中的基本模式并去除过拟合。