傅里叶变换和过滤MD轨迹数据而不是PCA以减少维数?

时间:2017-07-01 06:47:28

标签: matlab filtering fft pca dimensionality-reduction

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

我想知道我是否可以对我的数据进行FFT。我有对音频信号(1D信号)进行FFT的经验。在这里,我的数据具有图片中的时间和空间。理论上可以在我的数据上实现FFT,然后使用LPF(低通滤波器)对其进行滤波。但我不确定。

  • 有人可以给我一些方向/代码片段/参考资料,以便对我的数据实施FFT吗?
  • 与FFT和过滤相比,为什么人们更喜欢使用PCA。是因为算法的计算效率还是因为底层数据的统计性质?

1 个答案:

答案 0 :(得分:2)

对于第一个问题“有人可以给我一些指导/代码片段/参考,以便对我的数据实施FFT吗?”:

我应该说fft是在matlab中实现的,你不需要自己实现它。另外,对于您的情况,您应该使用fftnfft documentation)进行转换,然后在dessignfiltdesign filter in matalab)应用低通滤波后,应用ifftn({ {3}})反转变换。

对于第二个问题“为什么人们更喜欢使用PCA而不是FFT和过滤...... ”:

我应该说,fft中的过滤是在信号空间中完成的,过滤后你不能在时空中推广它。您可以在inverse fft in matlab中了解有关此缺点的更多详细信息。

  

但是,傅里叶分析也有其他一些   严重的缺点。其中一个可能是时间   信息在转换到频率时会丢失   域即可。在查看a的傅里叶变换时   信号,不可能分辨出某个特定事件   已经发生了。如果是静止信号 - 这个   缺点不是很重要。但是,大多数   有趣的信号包含许多非固定或   暂时性特征:漂移,趋势,突变,   和事件的开始和结束。这些   特征往往是最重要的部分   信号和傅立叶分析不适合检测   它们。