快速傅里叶变换(FFT)

快速傅里叶变换(FFT)

快速傅里叶变换(Fast Fourier Transform,FFT)是一种用于计算离散傅里叶变换(Discrete Fourier Transform,DFT)的高效算法。傅里叶变换将时间域或空间域的信号转换到频域,从而可以更方便地分析信号的频率成分。

傅里叶变换的基础

傅里叶变换的基本思想是将一个复杂的时间序列分解为不同频率的正弦波和余弦波的组合。对于一个长度为 N N N的离散时间序列 x [ n ] x[n] x[n],其离散傅里叶变换定义为:

X [ k ] = ∑ n = 0 N − 1 x [ n ] e − j 2 π N k n X[k] = \sum_{n=0}^{N-1} x[n] e^{-j \frac{2\pi}{N} kn} X[k]=n=0N1x[n]ejN2πkn

其中:
- X [ k ] X[k] X[k]是频域信号的第 k k k个频率分量。
- x [ n ] x[n] x[n]是时间域信号的第 n n n个时间点。
- e − j 2 π N k n e^{-j \frac{2\pi}{N} kn} ejN2πkn是复指数函数,表示不同频率的正弦波和余弦波。

快速傅里叶变换(FFT)

直接计算 DFT 的时间复杂度为 O ( N 2 ) O(N^2) O(N2),因为每个频率分量 X [ k ] X[k] X[k]需要对 N N N个时间点进行累加运算。快速傅里叶变换(FFT)通过分而治之的策略,将计算复杂度降低到 O ( N log ⁡ N ) O(N \log N) O(NlogN)

FFT 的主要步骤如下:

  1. 分解

    • 将长度为 N N N的信号序列分成两个长度为 N / 2 N/2 N/2的子序列,分别是奇数索引和偶数索引的部分。
  2. 递归计算

    • 对两个长度为 N / 2 N/2 N/2的子序列分别计算其 DFT。
  3. 合并

    • 将子序列的结果合并,得到原始序列的 DFT。

这种分而治之的方法使得 FFT 能够高效地计算傅里叶变换,特别适用于大规模数据的频域分析。

在 Autoformer 中的应用

在 Autoformer 模型中,FFT 被用于查询(Q)和键(K)向量的频域变换。其主要目的是利用卷积在频域中的特性,简化相关性的计算过程。

具体步骤如下:

  1. 线性变换

    • 将输入的时间序列数据通过线性变换,得到查询(Q)、键(K)和值(V)向量。
  2. 应用 FFT

    • 对查询和键向量应用快速傅里叶变换(FFT),将它们从时间域转换到频域。
    • 例如,对于查询向量 Q Q Q,我们计算其 FFT:
      FFT ( Q ) \text{FFT}(Q) FFT(Q)
  3. 共轭乘法

    • 将查询向量的 FFT 结果与键向量的 FFT 结果的共轭进行乘法运算:
      FFT ( Q ) × FFT ( K ) ‾ \text{FFT}(Q) \times \overline{\text{FFT}(K)} FFT(Q)×FFT(K)
    • 这一操作在频域中完成,等价于时域中的卷积运算。
  4. 逆 FFT

    • 对乘法结果应用逆快速傅里叶变换(IFFT),将结果转换回时间域,得到自相关函数 R ( τ ) R(\tau) R(τ)
      R ( τ ) = IFFT ( FFT ( Q ) × FFT ( K ) ‾ ) R(\tau) = \text{IFFT}(\text{FFT}(Q) \times \overline{\text{FFT}(K)}) R(τ)=IFFT(FFT(Q)×FFT(K))

通过上述过程,Autoformer 利用 FFT 高效地计算时间序列数据的自相关函数,从而捕捉时间延迟相似性,提升模型对周期性依赖关系的捕捉能力。这种方法不仅提高了计算效率,还增强了模型对复杂时间序列模式的识别能力。

  • 12
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值