返回首页

线性回归:OLS 方法和梯度下降

本文从基本方程详解线性回归到高级技术:OLS、梯度下降、正则化、异常值处理。提供了 Python 代码和质量指标,用于实际实施。

从零构建线性回归:代码和指标
Advertisement 728x90

线性回归:从数据到优化模型

线性回归模型描述了预测变量与目标变量之间的线性关系。对于简单线性回归,其方程为 y = b₀ + b₁ × x,其中 x 是预测变量,y 是响应变量,b₀ 是截距,b₁ 是斜率。系数决定了直线在平面上的位置。

以表格形式呈现的特征和响应数据是建模的基础。例如:公寓价格与房间数量之间的关系。模型质量取决于样本的代表性——“垃圾进,垃圾出”的原则决定了最终结果。

模型可用于预测和识别模式。将表格数据转化为分析表达式,可以对新观测值进行外推。

Google AdInline article slot

普通最小二乘法

OLS(普通最小二乘法)最小化残差平方和:∑(y_i - ŷ_i)²。解析解为:b₁ = Cov(x, y) / Var(x)b₀ = ȳ - b₁ × x̄

# 示例系数计算
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])
b1 = np.cov(x, y)[0,1] / np.var(x)
b0 = np.mean(y) - b1 * np.mean(x)
print(f'b0: {b0:.2f}, b1: {b1:.2f}')

这种方法适用于非退化数据,但在多元情况下需要矩阵求逆 (XᵀX)⁻¹。

模型质量评估

可视化方法:预测值与实际值的散点图、残差图。指标包括:

Google AdInline article slot
  • (决定系数):解释方差的比例,范围0–1。
  • RMSE:√(MSE),以响应变量单位表示。
  • MAE:平均绝对误差。
  • MAPE/SMAPE:百分比误差。

残差图可揭示异方差性或非线性。

数据分割与验证

训练/测试分割(80/20)可防止过拟合。交叉验证(k折)对各折的指标取平均值。

def train_test_split(X, y, test_size=0.2):
    indices = np.arange(len(X))
    np.random.shuffle(indices)
    split = int(len(X) * (1 - test_size))
    return X[indices[:split]], X[indices[split:]], y[indices[:split]], y[indices[split:]]

多元回归

扩展到 y = b₀ + b₁x₁ + ... + bₙxₙ。矩阵形式:ŷ = Xβ,解为 β = (XᵀX)⁻¹Xᵀy。预处理步骤:

Google AdInline article slot
  • 归一化:(x - 最小值)/(最大值 - 最小值)。
  • 标准化:(x - μ)/σ。
  • 分类特征的独热编码。

概率解释

模型假设误差服从正态分布:ε ~ N(0, σ²)。预测区间:*ŷ ± t SE √(1 + 1/n + (x - x̄)² / SXX)*。最大似然估计(MLE)优化对数似然函数。

异常值处理

检测方法:

  • 马氏距离:多元空间中的广义距离。
  • 库克距离:观测值对系数的影响。
  • LOF(局部异常因子):局部密度。
  • RANSAC:随机子集的共识。

处理方法:移除或使用稳健回归器(如Huber损失)。

梯度下降与正则化

对于大数据:迭代优化 θ := θ - α ∇J(θ),其中J是成本函数。

  • L1(Lasso):|β|,产生稀疏性。
  • L2(Ridge):β²,产生收缩。

超参数λ通过交叉验证调整。

def gradient_descent(X, y, lr=0.01, epochs=1000):
    theta = np.zeros(X.shape[1])
    for _ in range(epochs):
        pred = X @ theta
        grad = X.T @ (pred - y) / len(y)
        theta -= lr * grad
    return theta

关键要点

  • 线性回归是处理线性关系的基础工具,可扩展到多元任务。
  • OLS提供解析解;梯度下降适用于大型数据集。
  • R²和RMSE等指标评估质量;残差图诊断问题。
  • 正则化(L1/L2)对抗过拟合和多重共线性。
  • 预处理(缩放、异常值移除)对稳定性至关重要。

— Editorial Team

Advertisement 728x90

继续阅读