线性代数 Cheat Sheet 6-6:线性模型中的应用
将 A \boldsymbol x = \boldsymbol b 写成 X \boldsymbol \beta = \boldsymbol y,其中 X 称为设计矩阵,\boldsymbol \beta 为参数向量,\boldsymbol y 为观测向量。
Contents [show]
1. 最小二乘直线
变量 x 和变量 y 之间最简单的关系是线性方程 y = \beta_0 + \beta_1 x。从实验数据常常能得到数据点 (x_1, y_1), \cdots, (x_n, y_n),它们的图形近似接近于直线。我们希望确定参数 \beta_0 和 \beta_1,使得直线尽可能“接近”这些点。
假设 \beta_0 和 \beta_1 固定,对于直线 y = \beta_0 + \beta_1 x,对应每一个数据点 (x_j, y_j),有一个在直线上的点 (x_j, \beta_0 + \beta_1 x_j) 具有同样的 x 坐标。称 y_i 为 y 的观测值,而 \beta_0 + \beta_1 x_j 为 y 的预测值(由直线确定)。观测值 y_i 和预测值 y 之间的差称为余差。
有多种方法可以用来度量直线如何“接近”数据,最常见的选择是余差平方之和(主要原因是数字计算简单)。最小二乘直线 y = \beta_0 + \beta_1 x 是与差平方之和最小的,这条直线也称为 y 对 x 的回归直线,这是因为假设数据中的任何误差只出现在 y 坐标。直线的系数 \beta_0, \beta_1 称为(线性)回归系数。
如果数据点在直线上,则参数 \beta_0 和 \beta_1 满足方程
\begin{align} \beta_0 + \beta_1 x_1 &= y_1 \\ \beta_0 + \beta_1 x_2 &= y_2 \\ \vdots \\ \beta_0 + \beta_1 x_n &= y_n \\ \end{align}
可以将这个方程组写成
\begin{equation} X \boldsymbol \beta = \boldsymbol y \tag{1} \end{equation}
其中
\begin{equation} X = \begin{bmatrix} 1 & x_1 \\ 1 & x_2 \\ \vdots & \vdots \\ 1 & x_n \end{bmatrix}, \; \boldsymbol \beta = \begin{bmatrix} \beta_0 \\ \beta_1 \end{bmatrix}, \; \boldsymbol y = \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix} \end{equation}
在计算最小二乘直线之前,经常计算原来 x 值的平均值 \bar x,形成一个新的变量 x^* = x – \bar x。新的 x 数据称为平均偏差形式。在这种情况下,设计矩阵的两列是正交的。
2. 一般线性模型
在一些应用中,需将数据点拟合成非直线的形式。统计学家常引入余差向量 \boldsymbol \varepsilon,定义为 \boldsymbol \varepsilon = \boldsymbol y – X \boldsymbol \beta,记作
\begin{equation} \boldsymbol y = X \boldsymbol \beta + \boldsymbol \varepsilon \end{equation}
任何具有这种形式的方程称为线性模型。一旦确定 X 和 \boldsymbol y,使 \boldsymbol \varepsilon 长度达到最小化相当于找出 X \boldsymbol \beta = \boldsymbol y 的最小二乘解。在每种情形下,最小二乘解 \hat{\boldsymbol \beta} 是下面法方程的解:
\begin{equation} X^\mathsf{T} X \boldsymbol \beta = X^\mathsf{T} \boldsymbol y \end{equation}
3. 其他曲线的最小二乘拟合
当“分散画出”的数据点 *(x_1, y_1), \cdots, (x_n, y_n) 不接近任何直线时,一个合适的假定是 \boldsymbol x 和 \boldsymbol y 具有其他函数关系。如一般形式的曲线:
\begin{equation} y = \beta_0 f_0(x) + \beta_1 f_1(x) + \cdots + \beta_k f_k(x) \tag{2} \end{equation}
其中 f_0, \cdots, f_k 是已知函数,\beta_0, \cdots, \beta_k 是待定参数。对于特定的 x 值,(2) 式给出 y 的预测或“拟合”值。观测值与预测值之间的差为余差,参数 \beta_0, \cdots, \beta_k 的确定满足余差平方之和最小。
例如用下列形式的方程逼近数据:
\begin{equation} y = \beta_0 + \beta_1 x + \beta_2 x^2 \tag{3} \end{equation}
方程 (3) 给出产生数据的“最小二乘拟合”的线性模型。若实际的参数值为 \beta_0, \beta_1, \beta_2,那么第一个数据的坐标 (x_1, y_1) 满足
\begin{equation} y_1 = \beta_0 + \beta_1 x_1 + \beta_2 x_1^2 + \varepsilon_1 \end{equation}
其中 \varepsilon_1 是观测值 y_1 和预测值 y = \beta_0 + \beta_1 x_1 + \beta_2 x_1^2 之间的的余差。对每一个数据点,可以写出类似的方程:
\begin{align} y_1 &= \beta_0 + \beta_1 x_1 + \beta_2 x_1^2 + \varepsilon_1 \\ y_2 &= \beta_0 + \beta_1 x_2 + \beta_2 x_2^2 + \varepsilon_2 \\ \vdots \\ y_n &= \beta_0 + \beta_1 x_n + \beta_2 x_n^2 + \varepsilon_n \end{align}
可将上述方程组简单描述为 \boldsymbol y = X \boldsymbol \beta + \boldsymbol \varepsilon 的形式,即
\begin{equation} \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix} = \begin{bmatrix} 1 & x_1 & x_1^2 \\ 1 & x_2 & x_2^2 \\ \vdots & \vdots & \vdots \\ 1 & x_n & x_n^2 \end{bmatrix} \begin{bmatrix} \beta_0 \\ \beta_1 \\ \beta_2 \end{bmatrix} + \begin{bmatrix} \varepsilon_1 \\ \varepsilon_2 \\ \vdots \\ \varepsilon_n \end{bmatrix} \end{equation}
通过检查方程组的前面几行和观察数据形状,可以求出 X。
4. 多重回归
假若一个实验包含两个独立变量(例如 u 和 v)和一个相关变量(例如 y)。一个简单的通过 u 和 v 来预测 y 的方程有如下形式:
\begin{equation} \boldsymbol y = \beta_0 + \beta_1 u + \beta_2 v \tag{4} \end{equation}
更一般的预测方程具有下面的形式:
\begin{equation} \boldsymbol y = \beta_0 + \beta_1 u + \beta_2 v + \beta_3 u^2 + \beta_4 uv + \beta_5 v^2 \tag{5} \end{equation}
这种情形的最小二乘拟合称为趋势曲面。
方程 (4) 和 (5) 都可以推出一个线性模型,因为它们是未知参数的线性关系(尽管 u 和 v 是乘法)。一般地,一个线性模型是指 y 可由下面方程来预测:
\begin{equation} \boldsymbol y = \beta_0 f_0(u, v) + \beta_1 f_1(u, v) + \cdots + \beta_k f_k(u, v) \end{equation}
其中,f_0, \cdots, f_k 是某类已知函数,\beta_0, \cdots, \beta_k 是未知权。
假设模型由数据 (u_1, v_1, y_1), \cdots, (u_n, v_n, y_n) 来构造,基于方程 (4) 的最小二乘拟合称为最小二乘平面。我们希望数据满足下列方程:
\begin{align} y_1 &= \beta_0 + \beta_1 u_1 + \beta_2 v_1 + \varepsilon_1 \\ y_2 &= \beta_0 + \beta_1 u_2 + \beta_2 v_2 + \varepsilon_2 \\ \vdots \\ y_n &= \beta_0 + \beta_1 u_n + \beta_2 v_n + \varepsilon_n \\ \end{align}
这个方程组的矩阵形式是 \boldsymbol y = X \boldsymbol \beta + \boldsymbol \varepsilon,其中
\begin{equation} \boldsymbol y = \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix}, \; X = \begin{bmatrix} 1 & u_1 & v_1 \\ 1 & u_2 & v_2 \\ \vdots & \vdots & \vdots \\ 1 & u_n & v_n \end{bmatrix}, \; \boldsymbol \beta = \begin{bmatrix} \beta_0 \\ \beta_1 \\ \beta_2 \end{bmatrix}, \; \boldsymbol \varepsilon = \begin{bmatrix} \varepsilon_1 \\ \varepsilon_2 \\ \vdots \\ \varepsilon_n \end{bmatrix} \end{equation}
5. SS(R),SS(E),SS(T)
\hat{\boldsymbol \beta} 是 \boldsymbol y = X \boldsymbol \beta 的最小二乘解,X 是设计矩阵,将
- 回归项的平方和 \lVert X \hat{\boldsymbol \beta} \rVert^2 记为 SS(R)
- 误差项的平方和 \boldsymbol y – \lVert X \hat{\boldsymbol \beta} \rVert^2 记为 SS(E)
- 坐标 y 的平方之和的“总和” \lVert \boldsymbol y \rVert^2 记为 SS(T)
有
\begin{equation} SS(T) = SS(R) + SS(E) \end{equation}
\begin{equation} \lVert X \hat{\boldsymbol \beta} \rVert^2 = \hat{\boldsymbol \beta}^\mathsf{T} X^\mathsf{T} \boldsymbol y \end{equation}
由以上两式,得到 SS(E) 的标准公式
\begin{equation} SS(E) = \boldsymbol y^\mathsf{T} \boldsymbol y – \hat{\boldsymbol \beta}^\mathsf{T} X^\mathsf{T} \boldsymbol y \end{equation}