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$ 矩阵,你会发现一个惊人的规律,这对于线性代数非常重要:

  1. 看“行” (Rows):

    • 第 2 行 $(8, 10, 12)$ 刚好是第 1 行的 2倍
    • 第 3 行 $(12, 15, 18)$ 刚好是第 1 行的 3倍
    • 结论: 所有的行都是线性相关的(也就是平行的)。
  2. 看“列” (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
    • 第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$
  2. 自己乘别人(交叉乘积和)为 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。