# 设计矩阵 (Design Matrix)
设计矩阵 (Design Matrix),在{{{统计学}}}和{{{计量经济学}}}中通常用大写字母 $X$ 表示,是一个将在{{{回归分析}}}和{{{实验设计}}}等统计模型中使用的{{{自变量}}}(或称预测变量、解释变量)的{{{观测值}}}排列成的一个{{{矩阵}}}。它是一个将数据与统计模型连接起来的基础工具,其结构直接反映了所构建模型的形式。
设计矩阵的每一行代表一个独立的观测单位(observation),例如一个受访者、一家公司、一个时间点等。每一列则代表一个变量(variable)。因此,一个包含 $n$ 个观测和 $p-1$ 个自变量的设计矩阵是一个维度为 $n \times p$ 的矩阵。
## 设计矩阵的结构
在一个标准的{{{线性回归模型}}}中,设计矩阵 $X$ 的结构如下:
$$ X = \begin{pmatrix} 1 & x_{11} & x_{12} & \cdots & x_{1k} \\ 1 & x_{21} & x_{22} & \cdots & x_{2k} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{n1} & x_{n2} & \cdots & x_{nk} \end{pmatrix} $$
这里的元素含义如下: * $n$ 是观测样本的数量(行数)。 * $k$ 是自变量的数量。计入常数项后,总共有 $p=k+1$ 个列。 * $x_{ij}$ 是第 $i$ 个观测中第 $j$ 个自变量的值。 * 第一列通常是全为1的{{{向量}}}。这一列对应于模型的{{{截距项}}} (intercept),也称为常数项,通常用 $\beta_0$ 表示。它代表了当所有自变量取值为0时,{{{因变量}}}的期望值。在某些特殊模型(如通过原点的回归)中,这一列可能会被省略。
## 在线性模型中的核心作用
设计矩阵是表达线性模型的基石。一个多元线性回归模型可以简洁地用矩阵形式表示:
$$ \mathbf{y} = X\mathbf{\beta} + \mathbf{\epsilon} $$
各部分代表: * $\mathbf{y}$ 是一个 $n \times 1$ 的因变量观测向量: $$ \mathbf{y} = \begin{pmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{pmatrix} $$ * $X$ 是我们前面定义的 $n \times (k+1)$ 设计矩阵。 * $\mathbf{\beta}$ 是一个 $(k+1) \times 1$ 的未知{{{系数}}}向量,这是我们需要通过数据来{{{估计}}}的参数: $$ \mathbf{\beta} = \begin{pmatrix} \beta_0 \\ \beta_1 \\ \vdots \\ \beta_k \end{pmatrix} $$ * $\mathbf{\epsilon}$ 是一个 $n \times 1$ 的{{{误差项}}}向量,代表了模型未能解释的部分: $$ \mathbf{\epsilon} = \begin{pmatrix} \epsilon_1 \\ \epsilon_2 \\ \vdots \\ \epsilon_n \end{pmatrix} $$
这种矩阵表示法极大地简化了理论推导和计算过程。例如,使用{{{普通最小二乘法}}} (Ordinary Least Squares, OLS) 求解系数向量 $\mathbf{\beta}$ 的{{{估计量}}} $\hat{\mathbf{\beta}}$ 时,其闭式解 (closed-form solution) 完全由设计矩阵 $X$ 和因变量向量 $\mathbf{y}$ 决定:
$$ \hat{\mathbf{\beta}} = (X'X)^{-1}X'\mathbf{y} $$
这里的 $X'$ 表示矩阵 $X$ 的{{{转置}}},$(X'X)^{-1}$ 表示矩阵 $X'X$ 的{{{逆矩阵}}}。这个公式清晰地显示了设计矩阵在参数估计中的核心地位。
## 构造设计矩阵:一个实例
假设我们想研究员工的薪水(Salary)与他们的工作年限(Years of Experience)和是否拥有硕士学位(Master's Degree)之间的关系。我们收集了4位员工的数据:
| 员工ID | 薪水 ($千) | 工作年限 | 拥有硕士学位 | | :---: | :---------: | :-------: | :-----------: | | 1 | 90 | 5 | 是 (1) | | 2 | 75 | 3 | 否 (0) | | 3 | 120 | 8 | 是 (1) | | 4 | 65 | 2 | 否 (0) |
我们要构建的线性模型是: $Salary = \beta_0 + \beta_1 \times Experience + \beta_2 \times Masters + \epsilon$
这里的因变量是“薪水”,自变量是“工作年限”和“拥有硕士学位”。其中,“拥有硕士学位”是一个{{{虚拟变量}}} (dummy variable)。
对应的设计矩阵 $X$ 和因变量向量 $\mathbf{y}$ 如下:
$$ X = \begin{pmatrix} 1 & 5 & 1 \\ 1 & 3 & 0 \\ 1 & 8 & 1 \\ 1 & 2 & 0 \end{pmatrix} , \quad \mathbf{y} = \begin{pmatrix} 90 \\ 75 \\ 120 \\ 65 \end{pmatrix} $$
* 第一列 (1, 1, 1, 1) 对应截距项 $\beta_0$。 * 第二列 (5, 3, 8, 2) 对应自变量“工作年限”,系数为 $\beta_1$。 * 第三列 (1, 0, 1, 0) 对应虚拟变量“拥有硕士学位”,系数为 $\beta_2$。
## 设计矩阵的关键性质:满列秩
在OLS估计中,公式 $\hat{\mathbf{\beta}} = (X'X)^{-1}X'\mathbf{y}$ 的一个关键前提是矩阵 $X'X$ 是可逆的。这等价于要求设计矩阵 $X$ 具有满列秩 (full column rank),即 $X$ 的所有列都是{{{线性无关}}}的。
当 $X$ 不满足满列秩条件时,我们称模型存在完全{{{多重共线性}}} (perfect multicollinearity)。这意味着至少有一个自变量可以被其他自变量的线性组合完美地表示出来。
例子: 如果我们同时将“工作年限(年)”和“工作月数(月)”作为自变量。因为 $工作月数 = 12 \times 工作年限$,这两个变量是完全线性相关的。此时,设计矩阵的这两列成比例,导致矩阵不是满列秩,$X'X$ 不可逆,OLS无法给出唯一的参数估计值。
## 特殊模型中的设计矩阵
设计矩阵的概念非常灵活,可以用于构建各种复杂的模型:
* {{{方差分析}}} (ANOVA): 在ANOVA模型中,设计矩阵的列由代表不同组别或处理的{{{虚拟变量}}}构成。例如,比较三组(A, B, C)的均值,设计矩阵可以构造为: $$ X = \begin{pmatrix} 1 & 0 & \dots \\ % 1 & 0 & \dots \\ % 0 & 1 & \dots \\ % 0 & 1 & \dots \\ % 0 & 0 & \dots \\ % \vdots & \vdots & \ddots \end{pmatrix} $$ (具体的编码方式有多种,如虚拟编码、效应编码等)。
* {{{多项式回归}}} (Polynomial Regression): 为了捕捉非线性关系,我们可以在设计矩阵中加入变量的幂次方。例如,模型 $y = \beta_0 + \beta_1 x + \beta_2 x^2 + \epsilon$ 的设计矩阵将包含一个全为1的列、一个包含 $x_i$ 的列和一个包含 $x_i^2$ 的列。 $$ X = \begin{pmatrix} 1 & x_1 & x_1^2 \\ 1 & x_2 & x_2^2 \\ \vdots & \vdots & \vdots \\ 1 & x_n & x_n^2 \end{pmatrix} $$
* 包含交互项的模型 (Interaction Terms): 如果我们认为两个变量的效果是相互影响的,可以加入它们的乘积项。对于模型 $y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \beta_3 (x_1 x_2) + \epsilon$,设计矩阵的一列将由 $x_1$ 和 $x_2$ 对应元素的乘积构成。
总之,设计矩阵是连接理论模型与实际数据的桥梁。通过恰当地构造设计矩阵,研究者可以灵活地运用线性模型框架来分析广泛而复杂的数据关系。