我知道特征值测量沿主成分的方差。
问题
- PCA 的特征值和方差如何相同?
- 这背后的直觉是什么?
- 这个理论背后的数学证明是什么?
我知道特征值测量沿主成分的方差。
问题
我们从数据协方差矩阵 说是和,则 注意是到的投影,这样
我想不出一种直观的方式来理解这一点,但一旦你熟悉了数学,我想你会接受这一点。
方差是与零的偏差的平方,因此向量的总方差是其平方值的总和。 https://en.wikipedia.org/wiki/Variance
特征向量是捕获构成数据集的固有模式的基向量。按照惯例,这些是单位向量,范数 = 1,因此它们是 1 的线性代数等价物。特征向量成对出现,“左”和“右”。http://mathworld.wolfram.com/Eigenvalue.html
约定(基于数据矩阵作为列矩阵的首选方向)是正确的特征向量(我将使用我熟悉的符号,在谈论 PCA 时用于各种应用领域)是基函数和是各种称为主成分、载荷、潜在因素等的东西。正确的特征向量可以投影到具有相同变量的任何数据集上,因此对于模型构建很有用。
左特征向量 ( ) 是每个样本对每个右特征向量的权重,因此可以将其视为原始矩阵线性变换的一系列函数。在实践中,这意味着是赋予每个样本以构建右特征向量的权重,这意味着根据定义,它们代表每个右特征向量在该特定样本中解释的总幅度。
对每个样本解释的个体方差求和得出数据集中解释的总方差。
特征值是一组标量,使得线性变换 S 用右特征向量缩放产生与将右特征向量本身乘以该值相同的结果
由于线性代数乘法涉及两个被乘数中行和列项的乘积的总和,因此乘以作为线性变换的总方差的标量会得到相同的结果。这意味着特征值是定义的方差。
再想一想,我意识到虽然 NIPALS(见下面的原始答案)对于理解 PCA 的计算方式更直观,但 SVD 方法对于理解特征值本身更直观。
在 SVD 中,数据被分解为两组单位向量矩阵,其间有一个诊断标度矩阵。
PCA 中的分数矩阵是并且是特征向量
奇异值与特征值相关为:
请注意,两者之间的这种关系受到https://math.stackexchange.com/questions/127500/what-is-the-difference-between-singular-value-and-eigenvalue中所述的约束
对我来说,以直观方式理解 PCA 的最佳算法是 NIPALS
https://folk.uio.no/henninri/pca_module/pca_nipals.pdf
使用 NIPALS 方法采取以下步骤
的内积得到协方差矩阵(适当缩放的相关性),其对角线是平方和
的初始向量投影到数据上(各种来源建议使用随机样本来执行此操作,我更喜欢平方和的平方根的单位向量)。我将特征向量称为
计算残差并计算其平方和。然后执行 OLS,直到平方和达到预定义的停止标准,每次计算由将更新的权重投影到数据上产生的单位向量。这个单位向量是迭代的主成分或特征向量。
在 NIPALS 中,我们从原始数据中减去最终重建的数据,然后使用残差计算 PC2,并始终在迭代后使用最终残差继续到下一个 PC。这意味着由解释的所有方差都被
最初的乘积是一个范数不等于 1 的向量,因此我们计算向量的范数并用它来将向量缩放为单位向量。
创建单位向量的原因是它们在数值上比无约束向量更稳定,并且具有在线性代数乘法和逆矩阵运算中表现相同的良好特性(基本上它们是数字 1 的线性代数等价物)。
那么这个用于缩放特征向量的规范是什么?它是向量中系数的平方和的平方根,即方差的平方根。特征值是这个值的平方,即平方和=总方差。
如果特征向量(特征向量)不是单位向量,那么特征值就不是它们的方差,但是由于我们将特征向量定义为单位向量,那么很自然地就会发现它们是数据中该向量的方差。如果我们通过将特征向量投影到数据上来计算分数(请注意,下面的公式仅适用,因为 L 由单位向量组成)
然后分数,因为它们已经乘以单位向量,所以采用每个单位向量在数据中捕获的总方差。根据定义,特征值是将矩阵的特征向量映射到矩阵上的标量,即它们缩放向量以便基于特征向量重构原始数据。
这个理论背后的数学证明是什么?
根据上述定义,它们就是这种方式