为什么 PCA 假设高斯分布?

数据挖掘 主成分分析 高斯
2021-09-15 13:30:03

来自 Jon Shlens 的主成分分析教程 - 第 1 版,第 7 页,第 4.5 节,II:

充分统计的形式主义抓住了均值和方差完全描述概率分布的概念。唯一完全由方差描述的零均值概率分布是高斯分布。为了使这个假设成立,概率分布xi必须是高斯的。

(xi表示一个随机变量 - 的值ith原始特征。
即引用似乎声称要使假设成立,每个原始特征都必须是正态分布的。)

为什么高斯假设以及如果数据不是高斯分布的,为什么PCA会失败?

编辑:为了提供更多信息,在第 12 页的教程中,作者给出了一个导致 PCA 失败的非高斯分布式数据的示例。

3个回答

TL;博士

  • PCA确实假设特征的正态分布参见 p.55 SAS book 1或 Rummel, 1970 2或 Mardia, 1979 3
  • 如果您期望 PC 是独立的,那么 PCA 可能无法满足您的期望。
  • 假设数据集是高斯分布的,将保证 PC 是独立的。

长答案

PCA 不假设数据集是高斯分布的

我发现的大多数来源(例如wikipedia)都没有将高斯分布列为 PCA 的要求。
此外,似乎 Shlens 本人不再相信这一点:
我发现了 Shlens 教程的另外 2 个版本:版本 2版本 3.02后者似乎是当前版本(因为Shlens 的网页链接到它),所以我将在我的回答中仅提及版本 3.02。

在 3.02 版中,您引用的段落已从“假设摘要”部分中删除,因此目前该部分仅列出以下假设:

  • 线性度
  • 大方差具有重要的结构。
  • 主成分是正交的。

PCA 何时可能无法达到我们的(错误)期望?

在第 10 页中,Shlens 举例说明了何时可能将 PCA 的结果视为失败,然后解释了为什么 PCA 并未真正失败:

这个悖论的解决方案在于我们为分析选择的目标。分析的目标是去相关数据,或者换句话说,目标是消除数据中的二阶依赖性。在图 6 的数据集中,变量之间存在高阶依赖关系。因此,去除二阶依赖性不足以揭示数据中的所有结构。

图 6 - 可能认为 PCA 失败的示例
即 PC 被保证是不相关的,所以这正是我们所期望的。但是,如果我们期望 PC 是独立的,那么当 PC 不独立时,我们会认为 PCA 会失败(例如图 6 中的示例)。
(有关本段的另一种解释,请参见此答案。)

高斯分布的假设如何有助于我们的(错误)期望?

如果我们假设原始数据集是高斯分布的(即特征是联合正态分布的),那么根据定义,原始特征的每个线性组合都是正态分布的。
PCA 给出的每个 PC 都是原始特征的线性组合。因此,PC 的每个线性组合也是原始特征的线性组合,因此 PC 的每个线性组合都是正态分布的。
因此,根据定义,PC 是联合正态分布的。PCA 保证 PC 不相关,因此它们也是独立的。

(请注意,在问题中引用的原始段落中,Shlens 似乎声称每个原始特征都应该是正态分布的。但是,我认为这是一个错误,他实际上的意思是原始特征应该是联合正态分布的(我推断这就是他主要从版本 3.02中第 10 页的脚注 7 的意思。这个答案解释了为什么这些条件在 2D 情况下不等价。同样,它们对于任何维度都不等价>1.)

因此,在原始数据集是高斯分布的假设下,PCA 保证 PC 是独立的。

如果我错了,请有人纠正我,但 PCA 流程本身并不假设您的数据分布。PCA 算法很简单——

  1. 找到数据中最大方差的方向
  2. 写下指向该方向的向量的方向,并将沿该方向的数据除以其在该方向上的方差,因此该方向上的结果方差为 1。这为您提供了一个特征向量(方向)和相关的特征值(规模)。
  3. 重复步骤 1-2,可能与您的维度一样多次,但限制是下一个向量必须与之前的所有向量正交(也就是直角)。

结果将是正交向量(特征向量)和尺度(特征值)的有序列表。这组向量/值可以被视为数据的摘要,特别是如果您只关心数据的方差。

我认为有一个隐含的假设,即正交性意味着结果向量的独立性,据我所知,如果数据是高斯的,那是正确的,但通常不一定正确。因此,我想您的数据是否可以建模为高斯可能会或可能不会重要,具体取决于您的用例。

在我看来,以下信息可以被视为 PCA 的隐含假设:

  1. 数据来自恒定的多元正态分布。
  2. 主成分是正交的。
  3. 更多的变体具有重要的结构。