功能主成分分析 (FPCA):它到底是什么?

机器算法验证 时间序列 主成分分析 降维 高维 功能数据分析
2022-02-06 18:26:45

功能主成分分析(FPCA)是我偶然发现但从未理解的东西。这是什么一回事呢?

参见Shang,2011 的“功能主成分分析调查”,我引用:

由于“维度灾难”(Bellman 1961),PCA 在分析功能数据时遇到了严重困难。“维度灾难”源于高维空间中的数据稀疏性。即使 PCA 的几何特性仍然有效,即使数值技术提供稳定的结果,样本协方差矩阵有时也不能很好地估计总体协方差矩阵。为了克服这个困难,FPCA 提供了一种比 PCA [...]

我只是不明白。本文描述的缺点是什么?PCA 不应该是处理“维度诅咒”等情况的终极方法吗?

4个回答

我发现“功能性 PCA”是一个不必要的混淆概念。它根本不是一个单独的东西,它是应用于时间序列的标准 PCA。

FPCA是指观察中的每一个都是在个时间点观察到的时间序列(即“函数”)的情况,因此整个数据矩阵的大小为通常,例如一个可以有时间点采样分析的重点是找到几个“特征时间序列”(长度也为),即协方差矩阵的特征向量,它们将描述观察到的时间序列的“典型”形状。ntn×ttn201000t

绝对可以在这里应用标准 PCA。显然,在您的引文中,作者担心由此产生的特征时间序列会过于嘈杂。这确实可能发生!两种明显的处理方法是(a)在 PCA 之后平滑得到的特征时间序列,或(b)在进行 PCA 之前平滑原始时间序列。

一种不太明显、更花哨但几乎等效的方法是用个基函数逼近每个原始时间序列,从而有效地将维数从降低到然后可以执行 PCA 并获得由相同基函数近似的特征时间序列。这是人们通常在 FPCA 教程中看到的内容。人们通常会使用平滑基函数(高斯或傅里叶分量),所以据我所知,这基本上等同于上面的脑死简单选项(b)。ktk

关于 FPCA 的教程通常会冗长地讨论如何将 PCA 推广到无限维的功能空间,但它的实际相关性完全超出了我的范围,因为在实践中,功能数据总是从一开始就离散化。

这是取自 Ramsay 和 Silverman 的“功能数据分析”教科书的插图,这似乎是关于“功能数据分析”权威专着,包括 FPCA:

拉姆齐和西尔弗曼,FPCA

可以看出,对“离散数据”(点)进行 PCA 分析与在傅里叶基础(线)中对相应函数进行 FPCA 分析产生的结果几乎相同。当然,可以先进行离散 PCA,然后在同一个傅里叶基中拟合一个函数;它会产生或多或少相同的结果。

PS。在这个例子的小数也许在这种情况下作者所认为的“功能性 PCA”应该导致“功能”,即“平滑曲线”,而不是 12 个单独的点。但这可以通过插值然后平滑得到的特征时间序列来轻松解决。同样,“功能性 PCA”似乎不是一个单独的东西,它只是 PCA 的一个应用。 t=12n>t

我在 FDA 与 Jim Ramsay 一起工作了几年,所以我或许可以对@amoeba 的回答做一些澄清。我认为在实践层面上,@amoeba 基本上是正确的。至少,这是我在研究了 FDA 之后最终得出的结论。然而,FDA 框架给出了一个有趣的理论见解,解释了为什么平滑特征向量不仅仅是一个杂物。事实证明,函数空间中的优化,受到包含平滑惩罚的内积的影响,给出了基样条的有限维解。FDA 使用无限维函数空间,但分析不需要无限维数。这就像高斯过程或 SVM 中的内核技巧。实际上,这很像内核技巧。

Ramsay 的原始工作处理数据中的主要故事显而易见的情况:函数或多或少是线性的,或或多或少是周期性的。标准 PCA 的主要特征向量只会反映函数的整体水平和线性趋势(或正弦函数),基本上告诉我们我们已经知道的内容。有趣的特征在于残差,现在是列表顶部的几个特征向量。并且由于每个后续的特征向量都必须与之前的特征向量正交,因此这些构造越来越依赖于分析的工件,而不是数据的相关特征。在因子分析中,倾斜因子旋转旨在解决这个问题。Ramsay 的想法不是旋转组件,而是以更好地反映分析需要的方式改变正交性的定义。这意味着如果您关心周期性分量,您将在以下基础上进行平滑处理D3D,消除正弦和余弦。如果您想消除线性趋势,您可以在的基础上进行平滑,它给出标准三次样条曲线。D2

有人可能会反对使用 OLS 消除趋势并检查该操作的残差会更简单。我从不相信 FDA 的附加值值得该方法的巨大复杂性。但从理论上讲,所涉及的问题值得考虑。我们对数据所做的一切都会把事情搞砸。OLS 的残差是相关的,即使原始数据是独立的。平滑时间序列会引入原始序列中没有的自相关。FDA 的想法是确保我们从最初的去趋势中得到的残差适合于感兴趣的分析。

您必须记住,FDA 起源于 80 年代初期,当时正在积极研究样条函数——想想 Grace Wahba 和她的团队。从那时起,出现了许多多元数据的方法——如 SEM、增长曲线分析、高斯过程、随机过程理论的进一步发展等等。我不确定 FDA 是否仍然是解决它所解决问题的最佳方法。另一方面,当我看到声称是 FDA 的申请时,我经常想知道作者是否真的了解 FDA 试图做什么。

确切地说,正如您在问题中所述以及@tdc 在他的回答中提出的那样,在极高维度的情况下,即使 PCA 的几何属性仍然有效,协方差矩阵也不再是对实际总体协方差的良好估计。


有一篇非常有趣的论文“fMRI 数据的功能主成分分析”pdf),他们使用功能 PCA 来可视化方差:

...与其他探索性技术一样,目标是提供初步评估,使数据有机会在选择合适的模型之前“为自己说话”。[...]

在论文中,他们解释了他们是如何做到的,并提供了理论推理:

这种方法的决定性优势在于可以在选择基函数集和通过拟合最小化的误差函数中指定一组假设。这些假设将弱于预先定义的血流动力学函数和 F 掩蔽中的一组事件或条件的规范,因此保留了程序的探索性特征;然而,这些假设可能仍然足够严格以克服普通 PCA 的困难。

我不确定 FPCA,但要记住的一件事是,在极高的维度中,有更多的“空间”,并且空间内的点开始看起来是均匀分布的(即一切都远离其他一切)。此时协方差矩阵将开始看起来基本一致,并且对噪声非常敏感。因此,它成为对“真实”协方差的错误估计。也许 FPCA 以某种方式解决了这个问题,但我不确定。