傅里叶变换和过滤 MD 轨迹数据而不是 PCA 来降维?

Fourier transform and filtering the MD trajectory data instead of PCA for dimensionality reduction?

我正在使用 PCA 对某些蛋白质模拟的 MD(分子动力学)轨迹数据进行降维。基本上我的数据是随时间变化的蛋白质原子的 xyz 坐标(这意味着我有很多这个 xyz 坐标的帧)。此数据的维度类似于 20000 帧 200x3(原子坐标)。我在 Matlab 中使用 princomp 命令实现了 PCA。

我想知道是否可以对我的数据进行 FFT。我有对音频信号(一维信号)进行 FFT 的经验。这里我的数据有时间和 space 图片。理论上必须可以对我的数据实施 FFT,然后使用 LPF(低通滤波器)对其进行过滤。但我不确定。

对于第一个问题“有人可以给我一些 direction/code snippets/references 来对我的数据实施 FFT 吗?”:

应该说fft是matlab实现的,不用自己实现。此外,对于您的情况,您应该使用 fftn (fft documentation)to transform and after applying lowpass filtering by dessignfilt (design filter in matalab), the apply ifftn (inverse fft in matlab) 来反转转换。

对于第二个问题“与 FFT 和滤波相比,为什么人们更喜欢 PCA ...”:

我应该说,因为 fft 中的过滤是在信号 space 中完成的,过滤后你不能及时概括它 space。您可以在 this article.

中了解有关此缺点的更多详细信息

But, Fourier analysis has also some other serious drawbacks. One of them may be that time information is lost in transforming to the frequency domain. When looking at a Fourier transform of a signal, it is impossible to tell when a particular event has taken place. If it is a stationary signal - this drawback isn't very important. However, most interesting signals contain numerous non-stationary or transitory characteristics: drift, trends, abrupt changes, and beginnings and ends of events. These characteristics are often the most important part of the signal, and Fourier analysis is not suitable in detecting them.