我对数据矩阵执行了奇异值分解 (SVD)。每列的平均值为零。可以衡量的分数之一是每种模式解释的总变化的百分比。
评估每列中每种模式解释的变化量的正确方法是什么?
理想情况下,我也想对新数据集使用此度量,即评估这些模式在“未见”数据中解释了多少变化,类似于执行 SVD 的数据。
我对数据矩阵执行了奇异值分解 (SVD)。每列的平均值为零。可以衡量的分数之一是每种模式解释的总变化的百分比。
评估每列中每种模式解释的变化量的正确方法是什么?
理想情况下,我也想对新数据集使用此度量,即评估这些模式在“未见”数据中解释了多少变化,类似于执行 SVD 的数据。
如果你的奇异值分解是那么由第 i 对 SVD 向量(第 i 个 SVD“模式”)解释的总体方差量R 2,其中是奇异值(的对角线)。这也可以计算为 rank-1 重构的范数与原始数据矩阵的范数之比:其中和是列并且
如果您对第k列中由模式i解释的方差量感兴趣,那么您可以使用相同的方法并将其定义为 rank-1 重建中的范数或该列与原始数据,即R^2 = \frac{\|\mathbf u_i s_i v_{ik}\|^2}{\|\mathbf x_k\|^2}=\frac{ s_i^2 v_{ik}^2 }{\|\mathbf x_k\|^2},其中\mathbf x_k是\mathbf X的第k列(所以是第k个特征,而不是第k个数据点)。