知经 KNOWECON · 卓越的经济金融统计数学学习平台

正规方程组

# 正规方程组 (Normal Equations)

正规方程组 (Normal Equations) 是{{{线性代数}}}和{{{统计学}}}中的一个核心概念,尤其在解决{{{最小二乘法}}} (Least Squares) 问题时扮演着关键角色。它提供了一种解析解(Closed-form Solution)的方法,用于求解{{{线性回归}}}模型中的最佳参数,其目标是最小化{{{残差平方和}}} (Sum of Squared Residuals, SSR)。

从本质上讲,正规方程组是一个将复杂的{{{最优化}}}问题转化为一个相对简单的{{{线性方程组}}}的工具。

## 理论背景:线性回归与最小二乘法

为了理解正规方程组的由来,我们首先需要建立其应用的背景——线性回归模型。一个多元线性回归模型可以表示为:

$$ y = X\beta + \epsilon $$

这里的各个组成部分代表: * $y$: 一个包含 $n$ 个观测值的 $n \times 1$ {{{向量}}},代表{{{因变量}}} (Dependent Variable)。 * $X$: 一个 $n \times (p+1)$ 的矩阵,称为{{{设计矩阵}}} (Design Matrix) 或特征矩阵。其中 $n$ 是观测样本的数量,$p$ 是特征(自变量)的数量。第一列通常是全为 1 的向量,用于表示模型的{{{截距项}}} (Intercept)。 * $\beta$: 一个 $(p+1) \times 1$ 的向量,代表我们需要估计的模型参数(或称为系数)。这是我们求解的目标。 * $\epsilon$: 一个 $n \times 1$ 的向量,代表{{{误差项}}}或{{{残差}}} (Residuals),即模型无法解释的部分。

{{{最小二乘法}}}的目标是找到一个参数估计值 $\hat{\beta}$,使得模型预测值 $\hat{y} = X\hat{\beta}$ 与真实观测值 $y$ 之间的差距最小。这个“差距”通常用残差平方和(SSR)来衡量。

目标函数 $SSR(\beta)$ 定义为:

$$ SSR(\beta) = \sum_{i=1}^{n} (y_i - x_i^T \beta)^2 $$

使用向量和矩阵表示,这个式子可以写得更简洁:

$$ SSR(\beta) = (y - X\beta)^T (y - X\beta) $$

我们的任务就是找到能使这个 $SSR(\beta)$ 最小化的 $\hat{\beta}$。

## 正规方程组的推导

求解上述最小化问题有两种主要途径:基于{{{微积分}}}的代数推导和基于{{{线性代数}}}的几何推导。两种方法都将引导我们得到相同的结果——正规方程组。

### 1. 基于微积分的推导

为了找到函数的最小值,我们通常需要计算其{{{梯度}}} (Gradient) 并将其设为零向量。梯度是导数在多维向量函数上的推广。

首先,我们将 $SSR(\beta)$ 展开:

$$ \begin{align*} SSR(\beta) &= (y^T - (X\beta)^T)(y - X\beta) \\ &= (y^T - \beta^T X^T)(y - X\beta) \\ &= y^T y - y^T X\beta - \beta^T X^T y + \beta^T X^T X\beta \end{align*} $$

注意到 $y^T X\beta$ 是一个标量,因此它的{{{转置}}} $\beta^T X^T y$ 与其自身相等。所以上式可以合并为:

$$ SSR(\beta) = y^T y - 2\beta^T X^T y + \beta^T X^T X\beta $$

现在,我们对 $SSR(\beta)$ 关于向量 $\beta$ 求偏导数(即计算梯度 $\nabla_{\beta} SSR$)。根据矩阵微积分的法则: * $\frac{\partial (a^T x)}{\partial x} = a$ * $\frac{\partial (x^T A x)}{\partial x} = (A+A^T)x$;如果 $A$ 是对称矩阵,则简化为 $2Ax$。

在我们的表达式中,$X^T X$ 是一个{{{对称矩阵}}}。因此,求导结果为:

$$ \frac{\partial SSR(\beta)}{\partial \beta} = 0 - 2X^T y + 2(X^T X)\beta $$

为了找到最小值,我们将此梯度设为零向量:

$$ -2X^T y + 2(X^T X)\beta = 0 $$

整理后即可得到 正规方程组

$$ (X^T X) \beta = X^T y $$

这个方程组的形式是经典的 $A\mathbf{x} = \mathbf{b}$,其中 $A = X^T X$,未知向量 $\mathbf{x} = \beta$,而 $\mathbf{b} = X^T y$。

### 2. 基于几何的推导

几何解释提供了一种更直观的视角。 * 观测向量 $y$ 存在于一个 $n$ 维空间 $\mathbb{R}^n$ 中。 * 设计矩阵 $X$ 的所有列向量张成一个 $\mathbb{R}^n$ 的子空间,称为 $X$ 的{{{列空间}}} (Column Space),记为 $C(X)$。这个子空间的维度是 $X$ 的秩。 * 模型的预测值 $\hat{y} = X\hat{\beta}$ 是 $X$ 的列向量的{{{线性组合}}},因此 $\hat{y}$ 必须位于列空间 $C(X)$ 内。 * 最小二乘法的目标是,在子空间 $C(X)$ 中找到一个向量 $\hat{y}$,使其与原始向量 $y$ 的距离最短。 * 根据{{{欧几里得几何}}},这个距离最短的向量 $\hat{y}$ 就是 $y$ 在子空间 $C(X)$ 上的{{{正交投影}}} (Orthogonal Projection)。 * 当 $\hat{y}$ 是 $y$ 的正交投影时,残差向量 $e = y - \hat{y}$ 必须与子空间 $C(X)$ 内的任何向量都{{{正交}}} (Orthogonal)。 * 这意味着残差向量 $e$ 必须与构成子空间 $C(X)$ 的所有基向量——即 $X$ 的每一列——都正交。 * 这个正交条件可以用矩阵形式表达为:

$$ X^T e = 0 $$

将 $e = y - \hat{y} = y - X\hat{\beta}$ 代入,我们得到:

$$ X^T (y - X\hat{\beta}) = 0 $$

展开此式:

$$ X^T y - X^T X \hat{\beta} = 0 $$

整理后同样得到 正规方程组

$$ (X^T X) \hat{\beta} = X^T y $$

## 求解正规方程组

一旦我们得到了方程组 $(X^T X) \hat{\beta} = X^T y$,就可以求解 $\hat{\beta}$。

如果矩阵 $(X^T X)$ 是{{{可逆的}}} (Invertible),我们可以通过左乘其{{{逆矩阵}}} $(X^T X)^{-1}$ 来得到 $\hat{\beta}$ 的唯一解:

$$ \hat{\beta} = (X^T X)^{-1} X^T y $$

这就是著名的{{{普通最小二乘法}}} (Ordinary Least Squares, OLS) 估计量的封闭解。

$(X^T X)$ 可逆的条件是 $X$ 的列向量是{{{线性无关的}}} (Linearly Independent)。如果 $X$ 的列向量线性相关,即存在{{{多重共线性}}} (Multicollinearity),那么 $(X^T X)$ 将是{{{奇异矩阵}}} (Singular Matrix),不存在唯一的逆。在这种情况下,虽然最小二乘的最小值仍然存在,但有无穷多组解 $\hat{\beta}$ 可以达到这个最小值。

## 计算考量与替代方法

虽然正规方程组提供了一个优雅的解析解,但在实际应用中,特别是处理大规模数据集时,它存在一些局限性。

* 计算复杂度:求解正规方程组的核心是计算 $(X^T X)$ 的逆。对于一个 $n \times p$ 的矩阵 $X$,计算 $X^T X$ 的复杂度为 $O(np^2)$,计算其逆的复杂度约为 $O(p^3)$。当特征数量 $p$ 非常大(例如成千上万)时,这个计算成本会变得极其高昂。

* 数值不稳定性:如果矩阵 $X$ 的列存在高度相关性(但不是完全共线性),则 $X^T X$ 会变得{{{病态}}} (Ill-conditioned)。病态矩阵的{{{条件数}}}很大,对其求逆时,微小的计算误差会被放大,导致最终得到的 $\hat{\beta}$ 解非常不稳定且不可靠。

由于这些原因,在许多现代{{{机器学习}}}应用中,会采用其他数值方法来求解最小二乘问题:

* {{{梯度下降}}} (Gradient Descent):一种{{{迭代}}}算法,它从一个初始的 $\beta$ 值开始,沿着梯度下降的方向逐步更新 $\beta$,直到收敛到最小值。它避免了矩阵求逆,对于特征数量 $p$ 极大的情况特别有效。

* {{{QR分解}}} (QR Decomposition):一种矩阵分解技术,将矩阵 $X$ 分解为一个{{{正交矩阵}}} $Q$ 和一个{{{上三角矩阵}}} $R$。这种方法在数值上比直接求逆稳定得多,是许多统计软件包中求解线性回归的默认方法。

* {{{奇异值分解}}} (Singular Value Decomposition, SVD):这是最稳健的矩阵分解方法,即使在存在多重共线性的情况下也能给出有意义的解(例如,给出范数最小的解)。它的计算成本最高,但在数值稳定性和处理秩亏矩阵方面表现最佳。

尽管存在这些替代方法,正规方程组仍然是理解线性模型和最小二乘理论的基石。它清晰地揭示了最优解的代数结构,并且在特征数量 $p$ 不太大的情况下,它依然是一种直接有效的求解方法。