我想使用基于模型的聚类来分类1,225个时间序列(每个24个时期).我使用快速傅里叶变换分解了这些时间序列,并选择了谐波,这些谐波至少解释了样本中所有时间序列的时间序列方差的阈值百分比.我想在给定时间序列的每个变换元素的实部和虚部上进行基于模型的聚类,因为它可能使我不必考虑跨时间序列的模型awed聚类中的时间自相关.我知道快速傅里叶变换的每个复杂元素都独立于其他元素,但我不知道给定输出元素的输出的虚部和实部是否是独立的.我想知道,因为如果它们是,它将允许我维持R中用于基于模型的聚类的Mclust包的默认假设,所分析的变量具有多元高斯分布.
注意:没有使用完整的FFT,因为我已经丢弃了负频率的元素,并通过将频率1乘以奈奎斯特,每个建议乘以2,从双面转换为单侧频谱:如何计算幅度和相位角fft()输出的实值输入?.
实部和虚部是正交的(由于sin(x)和cos(x)函数是正交的).这个特性对FFT的工作原理至关重要.
Per Wolfram MathWorld:
傅立叶级数是根据正弦和余弦的无限和来扩展周期函数.傅立叶级数利用正弦和余弦函数的正交关系.
FFT本质上是基础的变化.这没有说明数据本身可能包含也可能不包含实部和虚部之间的相关性.
关于编辑的问题,"如何计算实值输入的fft()输出的幅度和相位角?" 将实部和虚部转换为幅度和相角的方法是magnitude = (real_part ** 2 + imaginary_part ** 2) ** 0.5
和angle=arctan2(imaginary_part, real_part)
.它与矩形到极坐标转换相同.