Matlab 傅里叶变换和过滤MD轨迹数据代替PCA进行降维?
我使用PCA对一些蛋白质模拟的MD(分子动力学)轨迹数据进行降维。基本上我的数据是随时间变化的蛋白质原子的xyz坐标(这意味着我有很多xyz坐标的帧)。这个数据的尺寸大约是20000帧200x3(原子坐标)。我使用Matlab中的Matlab 傅里叶变换和过滤MD轨迹数据代替PCA进行降维?,matlab,filtering,fft,pca,dimensionality-reduction,Matlab,Filtering,Fft,Pca,Dimensionality Reduction,我使用PCA对一些蛋白质模拟的MD(分子动力学)轨迹数据进行降维。基本上我的数据是随时间变化的蛋白质原子的xyz坐标(这意味着我有很多xyz坐标的帧)。这个数据的尺寸大约是20000帧200x3(原子坐标)。我使用Matlab中的princomp命令实现了PCA 我想知道我是否可以对我的数据进行FFT。我有对音频信号(1D信号)进行FFT的经验。这里我的数据在图片中既有时间也有空间。在理论上,必须能够对我的数据执行FFT,然后使用LPF(低通滤波器)对其进行滤波。但我不确定 有人能给我一些关于
princomp
命令实现了PCA
我想知道我是否可以对我的数据进行FFT。我有对音频信号(1D信号)进行FFT的经验。这里我的数据在图片中既有时间也有空间。在理论上,必须能够对我的数据执行FFT,然后使用LPF(低通滤波器)对其进行滤波。但我不确定
- 有人能给我一些关于在我的数据上实现FFT的指导/代码片段/参考吗李>
- 为什么人们更喜欢PCA而不是FFT和滤波。这是因为算法的计算效率,还是因为底层数据的统计特性
fft
是在matlab中实现的,您不需要自己实现它。此外,对于您的情况,您应该使用fftn
()进行变换,并在通过dessignfilt
()应用低通滤波后,应用ifftn
()进行逆变换
对于第二个问题“为什么人们更喜欢PCA而不是FFT和滤波…”:
我应该说,由于fft中的滤波是在信号空间中进行的,滤波后不能在时间空间中推广。您可以在中查看有关此缺陷的更多详细信息
但是,傅里叶分析还有一些其他的问题
严重的缺点。其中之一可能就是时间
信息在转换到频率时丢失
域。当我们看一个
信号,无法判断特定事件发生的时间
已经发生了。如果它是一个静止的信号-这个
缺点不是很重要。然而,大多数
有趣的信号包含许多非平稳或非平稳信号
暂时性特征:漂移、趋势、突变、,
事件的开始和结束。这些
特征通常是最重要的部分
信号,傅里叶分析不适用于检测
他们
对于第一个问题“有人能给我一些关于在我的数据上实现FFT的指导/代码片段/参考吗?”:
我应该说,fft
是在matlab中实现的,您不需要自己实现它。此外,对于您的情况,您应该使用fftn
()进行变换,并在通过dessignfilt
()应用低通滤波后,应用ifftn
()进行逆变换
对于第二个问题“为什么人们更喜欢PCA而不是FFT和滤波…”:
我应该说,由于fft中的滤波是在信号空间中进行的,滤波后不能在时间空间中推广。您可以在中查看有关此缺陷的更多详细信息
但是,傅里叶分析还有一些其他的问题
严重的缺点。其中之一可能就是时间
信息在转换到频率时丢失
域。当我们看一个
信号,无法判断特定事件发生的时间
已经发生了。如果它是一个静止的信号-这个
缺点不是很重要。然而,大多数
有趣的信号包含许多非平稳或非平稳信号
暂时性特征:漂移、趋势、突变、,
事件的开始和结束。这些
特征通常是最重要的部分
信号,傅里叶分析不适用于检测
他们
我应该把这个问题转移到其他SE论坛吗?我应该把这个问题转移到其他SE论坛吗?