TLDR: 该研究深入探讨了主成分分析(PCA)在处理高维数据时可能生成的“幽灵振荡”现象。尽管PCA是最常用的降维方法之一,作者发现平滑性和时间或空间偏移会导致虚假的振荡模式。这些幽灵振荡并不代表数据的真实结构,而是PCA的数学特性造成的虚假结果。研究通过模拟和真实数据展示了幽灵振荡的生成机制,并提供了多种策略来区分真实振荡与幽灵振荡。
https://doi.org/10.1073/pnas.2311420120
1. 主成分分析
👆主成分分析(PCA) 是一种用于将高维数据简化为低维模式的降维方法。首先,PCA 的输入是一个数据矩阵,其中每一行表示一个观测值(如神经元、脑区或实验试次),每一列则代表这些观测值的特征(如时间点或空间位置)。PCA 通过计算该数据矩阵的协方差矩阵,得到特征向量和特征值。特征向量构成了主成分的加载(Loading)向量,这些加载向量表示数据中不同特征的线性组合。此外,每个主成分还伴随有得分(score),即每个观测值在主成分方向上的投影值。得分帮助我们理解观测值如何沿主成分分布。最后,PCA 通过特征值衡量每个主成分解释的数据方差比例,从而识别出哪些主成分对数据有重要贡献。
2. 主成分分析的潜在假设
尽管PCA本身并不对数据做出假设,但对PCA的解释却有一定的前提条件。比如,我们认为PCA的加载向量或得分中的模式代表了数据中的潜在模式,但这依赖于四个假设:
数据中的每个潜在模式都是独立的,没有相互关联。
观测到的数据是这些潜在模式的线性组合。
数据主要由潜在模式和独立噪声组成,没有其他复杂结构。
所有观测值彼此独立,没有相互关联。
当假设被违反时,PCA 生成的主成分可能无法准确反映真实模式。假设1和假设2的违反已为众所周知,但对假设3&4的违反却鲜有人深入探讨。
2.1. 违反假设1
当潜在模式不是独立时,PCA 输出的主成分无法准确捕捉到数据中的相关模式,导致解释不充分👇。
2.2 违反假设2
当数据中的潜在模式是非线性时,PCA 会生成一个最佳的线性近似,而忽略了数据中的非线性结构👇。
2.3 违反假设3&4
在平滑数据中,时间上相邻的数据点值相似,这种平滑性无法通过简单的线性组合表达,从而导致PCA生成的主成分呈现出振荡模式。这种振荡并不代表真实的底层模式,而是由于数据平滑性引起的虚假结果👇。
当观测值在空间上是平滑的(例如,空间位置上相邻的点有相似值),观测值之间不再独立,导致PCA得分中也出现振荡模式。与时间上的平滑性类似,这种振荡是由数据中的空间相关性引起的虚假模式👇。
当观测值之间在时间或空间上发生小幅度偏移时,PCA无法准确捕捉到这些变化,结果往往生成局部化的振荡模式。这些振荡类似于正弦波,并不反映数据中的真实结构,而是由于观测值偏移所导致的虚假模式👇。
3. 幽灵振荡(phantom oscillations)
作者将“幽灵振荡”(phantom oscillations)定义为由PCA生成的振荡模式,这些模式并不存在于数据的真实结构中,而是由PCA的数学特性所引起。幽灵振荡在解释高维数据时容易产生误导,因为它们并不能准确反映底层数据的真实模式。
在单维数据中,幽灵振荡通常表现为类似正弦波的振荡模式。在时间序列上观察时,这些振荡常形成“U”形的模式,类似于正弦波或局部小波。
在多维数据中,幽灵振荡表现得更加复杂,往往类似于传播(propagating)波或驻(stationary)波,依赖于数据采样时的几何结构。例如,在神经成像数据中,幽灵振荡可能呈现为大脑表面上的振荡模式,类似鼓面上的震动。这些振荡会随着数据采样的空间几何形状而变化,产生模式看似与生物学相关,但实际上只是数据平滑性或偏移引起的数学现象。
幽灵振荡不仅限于时间或空间数据,还可以出现在其他连续数据结构中(continuum)。例如,在高维空间中,数据可以表示为图(graph)或流形(manifold),这些结构描述了数据的复杂关系或形态。即便在这些复杂的连续体中,PCA仍然可能生成虚假的振荡模式。
4. 由时间或空间平滑引起的幽灵振荡
图2👇总结了幽灵振荡的来源,表明无论是在时间维度还是空间维度上,平滑性都会导致PCA生成虚假的振荡模式。这些振荡看似真实,但实际上是PCA计算时捕捉到的平滑特性,而非数据中的实际模式。时间平滑性会在PCA中生成振荡模式,即使数据本身没有真实的振荡。而空间平滑性则会导致PCA得分中出现振荡模式,这些模式反映了空间结构的平滑性,而非数据中的真实生物学信号。
图2A(上)展示了使用低通滤波器处理过的白噪声生成的平滑时间序列,随后通过PCA分析生成了振荡模式。PCA的加载向量类似于正弦波,这说明即使数据本身没有真实的振荡模式,PCA也可能会由于时间平滑性生成虚假的振荡模式。这种现象同样在真实的fMRI数据中得到了验证(图2A下),作者从Cam-CAN数据库中选取了随机大脑区域和受试者的数据片段,并通过PCA生成了类似的正弦波振荡(图2B下)。这些主成分解释了比独立的白噪声数据更多的方差(图2C)。
图2C展示了PCA主成分解释方差的对比。图中的实线表示平滑时间序列和fMRI数据生成的PCs解释的方差,而虚线表示独立的白噪声数据生成的PCs解释的方差。可以看到,平滑数据生成的主成分解释了更多的方差,说明平滑性大大影响了PCA的结果。这一现象在独立的数据集上重复得到了相似的结果,表明幽灵振荡并非由于过拟合引起,传统的交叉验证也无法控制这一效应。
图2D和图2E分别展示了通过在小鼠大脑背面和人类大脑半球表面生成空间平滑噪声,并应用PCA后生成的空间振荡模式。在这些模拟中,虽然时间序列数据并不平滑,但由于空间上的平滑性,PCA的得分(而非加载向量)中出现了类似振荡的模式。这些模式类似于共振振荡模式,就像鼓面上的振动一样,表现在大脑表面上为波动的振荡图案。尽管这些模式看起来可能有生物学上的意义(如前后轴或左右分割),但实际上它们仅仅是由于空间平滑性和几何结构引发的虚假模式。
注:为什么在空间平滑时关注的是PC score而非Loading?既然是PC score为什么还可以有空间模式?
在处理像大脑成像(例如fMRI或宽场成像)这样的大脑空间数据时,每个空间位置可以看作是一个观测点,而每个位置上的数据(例如某个时间段内的大脑活动强度)可以看作是观测值的特征。也就是说,每个位置的数据实际上是这个位置在一段时间或不同条件下的特征集合。这些空间位置相当于PCA分析中的“样本”。
想象一下你有一个100×100像素的图像,表示大脑表面的神经活动,每个像素代表一个空间位置。每个像素记录了不同时间点的信号强度(比如100个时间点)。因此,每个像素有100个特征值。如果你对这些像素的100个特征进行PCA,每个像素都会有一个PC score,表示该像素在主成分方向上的投影值。这些PC scores会形成空间模式,而这正是作者所观察到的现象。
5. 由时间或空间偏移引起的幽灵振荡
图3👇展示了由于时间或空间偏移引发的幽灵振荡现象。在数据的基础模式发生微小时间或空间错位的情况下,PCA会生成虚假的振荡主成分。这些振荡通常局部化于信号的峰值和谷值,或图像的锐利边缘,而不是数据中的真实结构。通过一系列模拟和实验,图3揭示了时间和空间偏移对PCA结果的显著影响,即使在交叉验证后,这种幽灵振荡依然存在。这表明传统的PCA分析在处理平滑或偏移数据时可能产生误导性结果,无法准确反映数据的真实特征。
图3A展示了当数据在时间上发生微小偏移时,如何导致幽灵振荡的出现。左图中,虽然每个时间序列具有相同的基础模式,但由于它们在时间上稍微错位,PCA生成了虚假的振荡主成分。这种由于时间错位引发的幽灵振荡不同于平滑性引发的振荡。右图显示了这些振荡模式集中在信号最突出的峰值和谷值附近,类似于信号的变化率(导数)。这些振荡模式并不反映数据的真实结构,而是由时间偏移导致的。
图3B通过更复杂的模拟进一步验证了时间偏移引发幽灵振荡的现象。左图展示了一个基于血流动力学响应函数的信号模型,该模型包含时间偏移、缩放参数、混合比例以及噪声的变化。右图展示了PCA结果,依然生成了虚假的振荡主成分。这表明,即使信号模式复杂且具有噪声,时间上的微小错位依然会导致幽灵振荡的产生。
图3C和图3D进一步通过交叉验证测试了偏移引发的幽灵振荡。使用相同的方法生成了第二个独立的数据集,并将新数据投影到原始数据的主成分上。结果显示,两组数据解释的方差几乎相同,并且显著高于白噪声数据。这表明传统的交叉验证无法有效识别或消除由于时间或空间偏移引发的幽灵振荡。
图3E展示了在无噪声的理想条件下,PCA得分与时间偏移量之间的关系呈现出明显的振荡模式。这表明每个观测值的时间偏移可以通过PCA得分直接反映出来。在图3F中,在有噪声的实际数据情况下,时间偏移与PCA得分之间的关系变得更加线性,并且这种关系主要体现在第一主成分上。尽管存在噪声,时间偏移与PCA得分之间的关联依然清晰可见。 (后续区分幽灵振荡的策略之一)
图3G模拟了两光子显微镜图像中的空间偏移,水平和垂直方向上分别进行了微小的像素偏移,以模拟图像对齐错误。PCA分析这些偏移的图像后,
图3H展示了在PCA得分中出现的局部化振荡模式。这些振荡集中在图像边缘最锐利的部分,反映了由于空间错位导致的虚假振荡模式,而不是信号本身的真实特征。
图3I展示了水平和垂直偏移与PCA加载向量值之间的关系。颜色编码的散点图展示了随着水平和垂直偏移量的变化,PCA加载向量呈现出强烈的振荡模式。无论是时间还是空间上的偏移,PCA分析都会生成与偏移相关的虚假振荡,这说明了时间和空间偏移对PCA结果的显著影响。
6. 区分真实振荡和幽灵振荡的策略
图5展示了几种区分真实振荡和幽灵振荡的策略,帮助我们在PCA分析中识别出数据中的真实振荡信号。
首先,使用功率谱可以作为一种有效的工具来检测真实振荡。真实的振荡信号通常在功率谱中表现为一个清晰的峰值,而幽灵振荡通常呈现出1/f的衰减模式,没有明显的峰值。图5F👇左侧展示了猴子在执行周期性运动任务中的2Hz真实振荡信号,该信号在功率谱中有显著的2Hz峰值,以及4Hz的谐波峰值。而在其他数据集中,例如fMRI和随机噪声数据中,功率谱中没有这些显著的峰值,表明这些数据中的振荡是幽灵振荡。
其次,观察协方差矩阵可以进一步帮助识别真实振荡。真实振荡通常会在协方差矩阵中表现出多条斜对角线条纹,代表同一振荡在不同相位上的相关性。而幽灵振荡则通常只表现为沿对角线的一条粗条纹。图5G👆左侧的踏步数据集展示了多条对角线条纹,表示不同相位之间的相关性,而其他数据集只显示出一条粗大的对角线条纹,典型的幽灵振荡特征。
第三,分析主成分和振荡频率的关系。幽灵振荡通常跨越多个主成分,且不同主成分中的振荡频率有递增的趋势,频率随主成分编号呈现近似线性的关系。图5H👇显示了在模拟数据和fMRI数据中,主成分的编号与振荡频率呈现出近线性关系,这符合幽灵振荡的特点。而在猴子的周期性运动数据中,第二和第三主成分分别呈现出2Hz的振荡模式,与真实的周期性运动信号一致。
最后,对于由时间或空间偏移引发的幽灵振荡,主成分得分与偏移量之间存在相关性。这可以通过计算偏移量与主成分得分之间的关系来判断,若得分与偏移量呈现相关性,则很可能是幽灵振荡。结合图3E和3F👇中的例子,时间或空间偏移的幽灵振荡在得分与偏移量的关系上表现为线性或非线性关系,而真实振荡则不会出现这种情况。
7. 讨论(Take Home)
虽然PCA是简单的降维方法,但它的解释可能因数据的连续性(如时间、空间)而变得复杂,导致幽灵振荡。数据的平滑性或观测间的偏移会违反PCA的隐含假设,从而产生虚假的振荡模式。
幽灵振荡主要由两种方式产生:数据的平滑性和观测值的时间或空间偏移。平滑性与时间序列的二阶导数相关,而偏移与一阶导数相关。
幽灵振荡已经在多种领域中被观察到,包括神经数据、自然图像、音乐和遗传学(具体而言是spatial population genetics)等。文中提出了识别幽灵振荡的方法,并建议使用相关噪声模型来减少其影响。
PCA并非检测真实振荡的理想工具。它在应对多个振荡频率时表现不佳,且容易受到平滑性和偏移的影响。专门的振荡检测工具应该用于分析真实振荡信号。
幽灵振荡在神经科学数据中非常常见,可能由于生物或方法学上的原因产生。任何低通滤波或采样速率慢、对齐不精确的情况都可能引发幽灵振荡。
未来可能需要开发更强大的PCA变体来解决幽灵振荡问题,如基于相关噪声的模型。此外,类似PCA的其他降维方法(如SVD、jPCA、MDS等)是否也存在幽灵振荡效应仍需进一步研究。
赶紧点赞转发
不然幽灵振荡会一直缠着你😜