散布矩阵(scatter matrix)是用于描述多元数据集合中各个变量之间关系的一种矩阵。在统计学和机器学习中,散布矩阵通常用于分析数据的方差、协方差和相关性等特征。
给定一个包含 nnn 个观测值的多元数据集合,其中每个观测值包含 ddd 个变量(或特征),则该多元数据集合的散布矩阵是一个 d×dd\times dd×d 的矩阵,其中每个元素表示相应变量之间的协方差。设 XXX 是一个 n×dn\times dn×d 的数据矩阵,其中每一行表示一个观测值,每一列表示一个变量,则该多元数据集合的散布矩阵 SSS 可以表示为:
S=1n−1∑i=1n(xi−xˉ)(xi−xˉ)TS = \frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar{x})(x_i-\bar{x})^TS=n−11i=1∑n(xi−xˉ)(xi−xˉ)T
其中,xˉ\bar{x}xˉ 是数据矩阵 XXX 每一列的均值向量,xix_ixi 是数据矩阵 XXX 的第 iii 行向量,T^TT 表示向量的转置操作。
散布矩阵可以用于计算多元数据集合的协方差矩阵和相关矩阵等统计量,进而进行数据分析和机器学习模型的建立和评估。
散布矩阵的计算
给定一个包含 nnn 个二维坐标的数据集合,其中每个坐标记为 (xi,yi)(x_i, y_i)(xi,yi),则该数据集合的散布矩阵可以按照如下步骤计算:
计算每个坐标的均值向量 xˉ=(xˉ1 xˉ2)\bar{x} = \begin{pmatrix} \bar{x}_1 \ \bar{x}_2 \end{pmatrix}xˉ=(xˉ1 xˉ2),其中 xˉ1\bar{x}_1xˉ1 和 xˉ2\bar{x}_2xˉ2 分别表示所有 xxx 坐标和所有 yyy 坐标的平均值。
构造 2×22\times 22×2 的零矩阵 S=(00 00)S = \begin{pmatrix} 0 & 0 \ 0 & 0 \end{pmatrix}S=(00 00),作为散布矩阵的初始值。
对于每个坐标 (xi,yi)(x_i, y_i)(xi