21. 因子分析

原始空间的基向量用 \(\vec{i}=[1,0]^T,\vec{j}=[0,1]^T\) 表示,它们的模都是 \(1\),定义为单位向量。 原始空间的向量可以用这组基底的线性组合表示,比如 \(\vec{\nu} = x\vec{i}+y\vec{j}=[x,y]^T\)

矩阵和向量相乘,可以看做是对向量的线性变换, 矩阵的列是线性变换后新的基向量在原空间的位置,

警告

  1. 这个新的基向量(矩阵的列向量)仍然是用原空间的基向量 \(\vec{i},\vec{j}\) 描述的。

  2. 变换后的向量的坐标数值(结果向量的值)也是表示原空间的坐标。

  3. 如何得到基于新基向量的坐标值呢?
    (21.1)\[A =\]

\(m\times n\) 的矩阵 \(A\)\(n\) 表示变换后的 \(n\) 个基向量, 但是这 \(n\) 个基向量本身是定义在 \(m\) 维的空间中的。

一个向量 \(\vec{\nu}\)

  • \(m=n\) 时,可以认为变换前后是同一个维度的空间,这意味这个变换仅仅是旋转和拉伸操作,维度没有变化。

  • \(m<n\) 时,变换前向量的坐标由 \(n\) 个点(维度)描述,变换后仅有 \(m\) 维度,意味着原向量会丢失一些维度,也就是降维了。

  • \(m>n\) 时,\(A\) 列空间( \(n\) 维)是在一个更高维的行空间( \(m\) 维)中, 列空间的基是用更高维的行空间描述的。列空间的原始向量 \(\vec{\nu}\) 用新的基底(\(A\) 的列向量)去

假设在原始平面空间 \(O_0\) 中的一个向量为 \(\vec{\nu}=[1,1]^T\) ,现在定义一个 \(m\)\(n\) 列的矩阵 \(A\) 对向量 \(\vec{\nu}\) 进行线性变换, 其中 \(m=3,n=2\),矩阵 \(A\) 具体为

(21.2)\[\begin{split}A = \begin{bmatrix} 2 & 0 \\ 0 & 2 \\ 1 & 1 \end{bmatrix}\end{split}\]

矩阵 \(A\) 的两列 \(A_{c0}=[2,0,1]^T,A_{c1}=[0,2,1]\) 描述了两个向量, 单独看这两个向量,它们是三维空间中的两个向量。 可以在脑海里想象出三位空间中,从原点出发的两个箭头。 现在要用这两个向量(箭头):math:A_{c0},A_{c1} 去转换平面 \(O_0\) 上的一个向量 \(\vec{\nu}\) 。可以想象如下过程,

  1. 通过平移,让 \(A_{c0},A_{c1}\) 的顶端(箭头位置)落在平面 \(O_0\) 上。 落点在平面 \(O_0\) 的位置分别是 \(A_{c0} \rightarrow [2,0]^T,A_{c1} \rightarrow [0,2]^T\)

  2. 我们用符号 \(c_0,c_1\) 分别表示这两个落点,它们在平面 \(O_0\) 上的坐标分别是 \(c_0=[2,0]^T,c_1=[0,2]^T\)。 把这两个落点分别看成是平面 \(O_0\) 上的两个新的基向量,记作 \(\vec{c_0},\vec{c_1}\)

  3. 然后

表示两个新的基向量的的坐标,因为只有两列(两个点,两个基向量),它俩张成的空间是一个平面空间。 因为用矩阵 \(A\) 对向量 \(\vec{\nu}\) 进行线下变换, 所以可以认为矩阵 \(A\) 的列所张成的空间就是 \(\vec{\nu}\) 的原始平面空间, \(A_{c0},A_{c1}\) 的前 \(2\) 行元素,\([2,0]^T,[0,2]^T\),就是新的基向量在原始平面空间的坐标。