从时间序列中删除次要周期

信息处理 过滤器
2022-02-04 10:10:24

在此处输入图像描述

在上图中,我创建了一个时间序列(青色),它是主要周期(绿色)、次要周期(青色)和线性趋势(未单独显示)的简单相加。我想做的是过滤这个时间序列以删除次要周期,所以剩下的将是趋势加上主要周期(红色)。在实践中,没有关于次循环的信息,尽管通过应用希尔伯特变换的代码可以知道主循环的周期。

我可能会这样做的一种方法是:

  1. 对原始数据应用带通滤波器组到主要循环周期
  2. 从原始系列中减去这个带通
  3. 将希尔伯特变换应用于余数以获得小循环周期
  4. 对原始数据应用另一个带通滤波器组到这个小循环周期
  5. 从原始数据中减去第二个小循环带通
  6. 并希望最终得到所需的红色输出

首先,这是否是一种有效的方法,其次是否有另一种方法可以过滤掉次要趋势?

2个回答

你的方法似乎非常复杂。看起来“小周期”的频率远高于“大周期”和斜坡,所以一个简单的低通滤波器应该可以解决问题。如果您不知道频率,可以进行简单的 FFT 分析。

减去信号的滤波版本很棘手,因为您需要仔细观察滤波器中的时间对齐和相位失真。

在我看来,这似乎是经验模式分解(又名 Hilbert-Huang 变换)的完美应用。在这里你可以找到一些简短但很好的介绍。在这里你可以找到一篇关于它的论文。

其它你可能感兴趣的问题