Quesiton 2考察的是数据矩阵(Data Matrix)的基本统计性质,特别是 样本均值 (Sample Mean)、样本协方差矩阵 (Sample Covariance Matrix) 的计算,以及线性变换对它们的影响。
题目核心设定:
- $X \in \mathbb{R}^{10 \times 3}$:10个样本,3个变量。$n=10, p=3$。
- Column-centered (列中心化):每列的均值为 0。
- Column-orthogonal (列正交):$X^\top X = I_3$。
(a) Find the sample mean vector $\bar{x}$ and the sample covariance matrix $S$ of $X$.
这两个概念分别描述了矩阵列向量的**“位置性质”和“相互关系”**。它们在数据预处理(比如 PCA 主成分分析)和线性代数中非常关键。
我们把一个矩阵 $A$ 看作由若干列向量组成:$A = [c_1, c_2, ..., c_n]$。
Column Centered / Orthogonal
1. Column Centered (列中心化)
一句话解释:每一列的平均值都是 0。
直观含义(统计学视角): 想象矩阵的每一列代表一个特征(比如第一列是“身高”,第二列是“体重”)。 “列中心化”就是把这组数据的原点移到了数据的中心(均值点)。
- 原来你的身高数据可能是 $[170, 180, 160]$(均值 170)。
- 中心化后变成了 $[0, 10, -10]$(均值 0)。
- 这正是你之前学到的 $I - J$ (Centering Matrix) 矩阵所做的事情。
数学定义: 对于矩阵 $A$ 的每一列 $c_j$,其所有元素的和为 0:
$$\sum_{i=1}^m a_{ij} = 0 \quad \text{或者用向量表示} \quad \mathbf{1}^\top c_j = 0$$这意味着列向量 $c_j$ 与全 1 向量 $\mathbf{1}$ 正交。
2. Column Orthogonal (列正交)
一句话解释:任意两列之间是互相垂直的。
直观含义(几何视角): 列向量之间互不干扰,夹角为 90 度。 如果你在画图,第一列是 X 轴方向,第二列是 Y 轴方向,它们就是列正交的。
- 统计学意义: 如果数据已经“列中心化”了,那么“列正交”通常意味着这两个变量不相关 (Uncorrelated)。即知道变量 A 的变化趋势,无法预测变量 B。
数学定义: 对于矩阵 $A$ 的任意两列 $c_i$ 和 $c_j$($i \neq j$),它们的点积为 0:
$$c_i^\top c_j = 0$$写成矩阵乘法的形式就是:$A^\top A$ 是一个对角矩阵 (Diagonal Matrix)。
一个重要的区分(Orthogonal vs Orthonormal):
- Column Orthogonal:只要垂直就行,长度随意。
- Column Orthonormal(标准正交):不仅互相垂直,而且每一列的长度(模)都必须是 1。如果方阵满足这个条件,它就是传说中的正交矩阵 (Orthogonal Matrix),满足 $Q^\top Q = I$。
Centering Operator 工作原理
好的,我们用一个具体的数字例子来演示。
所谓 Centering Operator(中心化算子),通常记作 $C$。它的数学本质是 $C = I - J$。 它的工作原理非常直观:“原数据 - 平均值”。
我们设定一个 $3 \times 2$ 的矩阵 $X$。这意味着我们有 3 个样本(行),每个样本有 2 个特征(列)。
1. 设定数据矩阵 $X$
为了方便口算,我们选一组简单的整数:
$$X = \begin{bmatrix} 1 & 2 \\ 2 & 4 \\ 3 & 6 \end{bmatrix}$$- 第 1 列(特征 1):数据是 1, 2, 3。平均值是 2。
- 第 2 列(特征 2):数据是 2, 4, 6。平均值是 4。
我们的目标是:让第一列变成 $[-1, 0, 1]^\top$,第二列变成 $[-2, 0, 2]^\top$(即每一列减去它自己的均值)。
2. 构造中心化算子 $C$
因为有 3 行数据,所以 $n=3$。 中心化算子 $C$ 是一个 $3 \times 3$ 的方阵:
$$C = I - J = I - \frac{1}{3}\mathbf{1}\mathbf{1}^\top$$$$I = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}, \quad J = \begin{bmatrix} 1/3 & 1/3 & 1/3 \\ 1/3 & 1/3 & 1/3 \\ 1/3 & 1/3 & 1/3 \end{bmatrix}$$相减得到 $C$:
$$C = \begin{bmatrix} 2/3 & -1/3 & -1/3 \\ -1/3 & 2/3 & -1/3 \\ -1/3 & -1/3 & 2/3 \end{bmatrix}$$3. 见证奇迹:矩阵乘法 $CX$
现在我们用算子 $C$ 去左乘数据矩阵 $X$:
$$X_{\text{centered}} = C \cdot X$$$$= \begin{bmatrix} 2/3 & -1/3 & -1/3 \\ -1/3 & 2/3 & -1/3 \\ -1/3 & -1/3 & 2/3 \end{bmatrix} \begin{bmatrix} 1 & 2 \\ 2 & 4 \\ 3 & 6 \end{bmatrix}$$我们来算第一行第一列的元素(对应第一个样本的第一个特征):
$$(\frac{2}{3} \times 1) + (-\frac{1}{3} \times 2) + (-\frac{1}{3} \times 3) = \frac{2}{3} - \frac{2}{3} - \frac{3}{3} = -1$$(对了!原数据是 1,均值是 2,结果确实是 -1)
我们来算第二行第一列的元素:
$$(-\frac{1}{3} \times 1) + (\frac{2}{3} \times 2) + (-\frac{1}{3} \times 3) = -\frac{1}{3} + \frac{4}{3} - \frac{3}{3} = 0$$(对了!原数据是 2,均值是 2,结果确实是 0)
以此类推,最终结果是:
$$X_{\text{centered}} = \begin{bmatrix} -1 & -2 \\ 0 & 0 \\ 1 & 2 \end{bmatrix}$$4. 更直观的理解方法:分解动作
直接乘那个 $C$ 矩阵虽然严谨,但看起来很累。最聪明的理解方式是利用 $C = I - J$ 的性质将运算拆开:
$$CX = (I - J)X = \underbrace{IX}_{\text{原数据}} - \underbrace{JX}_{\text{均值矩阵}}$$我们来看看 $JX$ 是什么: $J$ 是一个“取平均”的矩阵。它作用于 $X$ 时,会算出每一列的均值,并把它填满整列。
$$JX = \begin{bmatrix} 1/3 & 1/3 & 1/3 \\ 1/3 & 1/3 & 1/3 \\ 1/3 & 1/3 & 1/3 \end{bmatrix} \begin{bmatrix} 1 & 2 \\ 2 & 4 \\ 3 & 6 \end{bmatrix} = \begin{bmatrix} 2 & 4 \\ 2 & 4 \\ 2 & 4 \end{bmatrix}$$(看,这就是每一列的均值,重复了 3 次)
最后做减法:
$$X - JX = \begin{bmatrix} 1 & 2 \\ 2 & 4 \\ 3 & 6 \end{bmatrix} - \begin{bmatrix} 2 & 4 \\ 2 & 4 \\ 2 & 4 \end{bmatrix} = \begin{bmatrix} -1 & -2 \\ 0 & 0 \\ 1 & 2 \end{bmatrix}$$总结
Centering Operator $C$ 的作用就是: 保留数据的形状 ($I$),减去数据的重心 ($J$)。
结果就是所有数据列的均值都变成了 0,实现了 Column Centered。
Outer-Product计算例,以及为什么它的rank永远是1
没问题。为了让你看清规律,这次我们不用全 1 向量,而是用两个完全不同的向量。
这就像是一个**“九九乘法表”**的扩展版。
假设我们有两个向量:
- 列向量 $u$(放在左边):$\begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix}$
- 行向量 $v^\top$(放在右边):$\begin{bmatrix} 4 & 5 & 6 \end{bmatrix}$
1. 摆好阵势
$$u v^\top = \begin{bmatrix} \mathbf{1} \\ \mathbf{2} \\ \mathbf{3} \end{bmatrix} \times \begin{bmatrix} \color{blue}4 & \color{blue}5 & \color{blue}6 \end{bmatrix}$$2. 计算步骤:各取所需
计算规则依然是:$C_{ij} = u_i \times v_j$(左边的第 $i$ 个数 $\times$ 右边的第 $j$ 个数)。
第一行(由左边的 1 负责): 它是 $v^\top$ 的 1倍。
$$1 \times [4, 5, 6] \rightarrow \begin{bmatrix} 4 & 5 & 6 \end{bmatrix}$$第二行(由左边的 2 负责): 它是 $v^\top$ 的 2倍。
$$2 \times [4, 5, 6] \rightarrow \begin{bmatrix} 8 & 10 & 12 \end{bmatrix}$$第三行(由左边的 3 负责): 它是 $v^\top$ 的 3倍。
$$3 \times [4, 5, 6] \rightarrow \begin{bmatrix} 12 & 15 & 18 \end{bmatrix}$$
3. 最终结果
$$\begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix} \begin{bmatrix} 4 & 5 & 6 \end{bmatrix} =\begin{bmatrix} 4 & 5 & 6 \\ 8 & 10 & 12 \\ 12 & 15 & 18 \end{bmatrix}$$4. 这里的核心规律(一眼看穿)
仔细看最后这个 $3\times3$ 矩阵,你会发现一个惊人的规律,这对于线性代数非常重要:
看“行” (Rows):
- 第 2 行 $(8, 10, 12)$ 刚好是第 1 行的 2倍。
- 第 3 行 $(12, 15, 18)$ 刚好是第 1 行的 3倍。
- 结论: 所有的行都是线性相关的(也就是平行的)。
看“列” (Columns):
- 第 1 列是 $\begin{bmatrix} 4 \\ 8 \\ 12 \end{bmatrix}$,它是 $\begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix}$ 的 4 倍。
- 第 2 列是 $\begin{bmatrix} 5 \\ 10 \\ 15 \end{bmatrix}$,它是 $\begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix}$ 的 5 倍。
- 结论: 所有的列,本质上都是左边那个向量 $u$ 的倍数。
这就是为什么我们常说 Outer Product 生成的矩阵,秩 (Rank) 永远是 1。因为它虽然看起来很大($3\times3$),但所有的行都长得一样(只是缩放比例不同),所有的列也都长得一样。
(b)中Y矩阵和X的具体计算表达
没问题!完全理解你的需求。
为了让你看得最清楚,我们放弃所有缩写,把这 30 个数据点(3列 × 10行)全部展开。我们定义符号 $f_{1, i}$ 表示 第 1 个变量(第1列)的第 $i$ 个观测值。
第一步:拆解原始矩阵 $X$
题目说 $X$ 有 3 列,每列 10 行。 为了不让屏幕太乱,我用 $f_{1,1}$ 代表第一列第一行的数,以此类推。
$$X = \begin{pmatrix} f_{1,1} & f_{2,1} & f_{3,1} \\ f_{1,2} & f_{2,2} & f_{3,2} \\ \vdots & \vdots & \vdots \\ f_{1,10} & f_{2,10} & f_{3,10} \end{pmatrix}$$题目给出的关键性质(正交性 $X^\top X = I$)在这个表达下意味着什么? 这意味着:
- 自己乘自己(平方和)为 1:
- 第1列的平方和:$\sum_{i=1}^{10} (f_{1,i})^2 = 1$
- 第2列的平方和:$\sum_{i=1}^{10} (f_{2,i})^2 = 1$
- 第3列的平方和:$\sum_{i=1}^{10} (f_{3,i})^2 = 1$
- 自己乘别人(交叉乘积和)为 0:
- 第1列 $\times$ 第2列:$\sum_{i=1}^{10} f_{1,i} f_{2,i} = 0$
- (其他两两组合以此类推也是 0)
第二步:写出变换后的矩阵 $Y$
题目要求:
- $f_1$ (第1列) 变成 米 $\to$ 厘米 ($\times 100$)
- $f_2$ (第2列) 保持 厘米 不变 ($\times 1$)
- $f_3$ (第3列) 变成 毫米 $\to$ 厘米 ($\times 0.1$)
所以矩阵 $Y$ 就是把 $X$ 的每一列里的每一个元素都乘上对应的系数:
$$Y = \begin{pmatrix} 100 f_{1,1} & 1 f_{2,1} & 0.1 f_{3,1} \\ 100 f_{1,2} & 1 f_{2,2} & 0.1 f_{3,2} \\ \vdots & \vdots & \vdots \\ 100 f_{1,10} & 1 f_{2,10} & 0.1 f_{3,10} \end{pmatrix}$$第三步:计算 $Y^\top Y$ (协方差的核心)
我们要求的协方差矩阵是 $S_Y = \frac{1}{10} Y^\top Y$。我们先算最复杂的 $Y^\top Y$。 $Y^\top$ 是把 $Y$ 躺倒(转置),变成 3行 × 10列:
$$Y^\top = \begin{pmatrix} 100f_{1,1} & 100f_{1,2} & \dots & 100f_{1,10} \\ 1f_{2,1} & 1f_{2,2} & \dots & 1f_{2,10} \\ 0.1f_{3,1} & 0.1f_{3,2} & \dots & 0.1f_{3,10} \end{pmatrix}$$现在进行矩阵乘法 $Y^\top \times Y$ (3行10列 $\times$ 10行3列 = 3行3列):
我们一个元素一个元素地看:
1. 计算左上角的元素 (第1行 $\times$ 第1列)
这是 $Y^\top$ 的第1行($f_1$那一行)点乘 $Y$ 的第1列($f_1$那一列)。
$$\text{Result}_{1,1} = (100 f_{1,1} \times 100 f_{1,1}) + (100 f_{1,2} \times 100 f_{1,2}) + \dots + (100 f_{1,10} \times 100 f_{1,10})$$提取公因数 $100 \times 100 = 10000$:
$$= 10000 \underbrace{(f_{1,1}^2 + f_{1,2}^2 + \dots + f_{1,10}^2)}_{\text{这是X的第1列平方和,题目已知为1}}$$$$= 10000 \times 1 = \mathbf{10000}$$2. 计算中间的元素 (第2行 $\times$ 第2列)
这是 $Y^\top$ 的第2行点乘 $Y$ 的第2列。
$$\text{Result}_{2,2} = (1 f_{2,1} \times 1 f_{2,1}) + \dots = 1 \times \underbrace{\sum f_{2,i}^2}_{1} = \mathbf{1}$$3. 计算右下角的元素 (第3行 $\times$ 第3列)
这是 $Y^\top$ 的第3行点乘 $Y$ 的第3列。
$$\text{Result}_{3,3} = (0.1 f_{3,1} \times 0.1 f_{3,1}) + \dots = 0.01 \times \underbrace{\sum f_{3,i}^2}_{1} = \mathbf{0.01}$$4. 计算非对角线元素 (比如第1行 $\times$ 第2列)
这是 $Y^\top$ 的第1行点乘 $Y$ 的第2列。
$$\text{Result}_{1,2} = (100 f_{1,1} \times 1 f_{2,1}) + (100 f_{1,2} \times 1 f_{2,2}) + \dots$$提取常数 $100 \times 1 = 100$:
$$= 100 \underbrace{(f_{1,1}f_{2,1} + f_{1,2}f_{2,2} + \dots + f_{1,10}f_{2,10})}_{\text{这是X的第1列与第2列的点积,题目已知正交为0}}$$$$= 100 \times 0 = \mathbf{0}$$(同理,所有非对角线元素,因为涉及不同列的 $f$ 相乘,结果都是 0)
第四步:汇总结果
经过上面的拆解计算,$Y^\top Y$ 的结果矩阵是:
$$Y^\top Y = \begin{pmatrix} 10000 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0.01 \end{pmatrix}$$最后,题目要求的样本协方差矩阵 $S_Y$ 是上面这个结果除以 $n=10$:
$$S_Y = \frac{1}{10} \begin{pmatrix} 10000 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0.01 \end{pmatrix} = \begin{pmatrix} 1000 & 0 & 0 \\ 0 & 0.1 & 0 \\ 0 & 0 & 0.001 \end{pmatrix}$$这样看是不是清晰多了?它的本质就是:因为原始数据互相垂直(正交),所以怎么缩放都不会产生新的相关性(非对角线还是0),只会改变自身的方差(对角线数值)。
继续解算矩阵乘法 $\mathbf{1}^\top X$
我们要计算的是 $\mathbf{1}^\top X$。
这里的 $\mathbf{1}$ 代表全 1 向量 (Vector of ones)。因为 $X$ 有 10 行(10个观测值),为了能进行矩阵乘法,$\mathbf{1}$ 必须是一个 $10 \times 1$ 的列向量。
所以 $\mathbf{1}^\top$ 就是一个 $1 \times 10$ 的行向量,里面全是 1。
第一步:把矩阵和向量写出来
$$ \mathbf{1}^\top X = \underbrace{\begin{pmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \end{pmatrix}}_{1 \times 10 \text{ 的全1行向量}} \times \underbrace{\begin{pmatrix} f_{1,1} & f_{2,1} & f_{3,1} \\ f_{1,2} & f_{2,2} & f_{3,2} \\ f_{1,3} & f_{2,3} & f_{3,3} \\ \vdots & \vdots & \vdots \\ f_{1,10} & f_{2,10} & f_{3,10} \end{pmatrix}}_{10 \times 3 \text{ 的数据矩阵 } X} $$第二步:执行矩阵乘法 (行 $\times$ 列)
结果矩阵的大小应该是 $(1 \times 10) \times (10 \times 3) = \mathbf{1 \times 3}$(一个包含3个数的行向量)。
我们要拿左边的“全1行”分别去乘右边的“每一列”。
1. 算结果的第一个数 (对应 $X$ 的第1列 $f_1$): 左边的每一个 1 分别乘以第 1 列的每一个数,然后加起来。
$$= 1 \cdot f_{1,1} + 1 \cdot f_{1,2} + 1 \cdot f_{1,3} + \dots + 1 \cdot f_{1,10}$$这实际上就是 $f_1$ 这一列所有元素的总和。
2. 算结果的第二个数 (对应 $X$ 的第2列 $f_2$):
$$= 1 \cdot f_{2,1} + 1 \cdot f_{2,2} + \dots + 1 \cdot f_{2,10}$$这实际上就是 $f_2$ 这一列所有元素的总和。
3. 算结果的第三个数 (对应 $X$ 的第3列 $f_3$):
$$= 1 \cdot f_{3,1} + \dots + 1 \cdot f_{3,10}$$这实际上就是 $f_3$ 这一列所有元素的总和。
第三步:写出中间结果
经过上面的计算,$\mathbf{1}^\top X$ 的结果是:
$$ \mathbf{1}^\top X = \begin{pmatrix} \sum_{i=1}^{10} f_{1,i} & \sum_{i=1}^{10} f_{2,i} & \sum_{i=1}^{10} f_{3,i} \end{pmatrix} $$也就是说,$\mathbf{1}^\top$ 在线性代数里有一个外号,叫 “求和器” (Summation operator)。它撞上谁,就是把谁的一列数全加起来。
第四步:代入题目条件 (Column-Centered)
现在回到题目最关键的已知条件: "$X$ is column-centered" (列中心化)。
这意味着每一列的均值 (Mean) 是 0。
$$\text{均值} = \frac{\text{总和}}{n} = 0 \quad \Rightarrow \quad \text{总和} = 0$$既然每一列的均值是 0,那么每一列的总和肯定也是 0。
所以:
- 第1列总和 $\sum f_{1,i} = 0$
- 第2列总和 $\sum f_{2,i} = 0$
- 第3列总和 $\sum f_{3,i} = 0$
第五步:最终结果
将 0 代入刚才的向量:
$$ \mathbf{1}^\top X = \begin{pmatrix} 0 & 0 & 0 \end{pmatrix} = \mathbf{0}^\top $$这就是为什么解析里直接写 $\mathbf{1}^\top X = \mathbf{0}^\top$ 的原因。这一步的物理意义是:把每一列的数据加起来,结果都是0。