时间序列的研究

更多的时间预测,参考
https://github.com/qingsongedu/awesome-AI-for-time-series-papers#AI4TS-Tutorials

1. 周期检测模块

可能存在的情况,

  1. 单周期
  2. 多周期
  3. 无周期;

Robust Period 检测 该时间序列,是否有周期 以及周期的长度,
时间序列的研究_第1张图片

主要包含 3个大模块

1.1 趋势 去除模块:

如果信号有趋势的变化, 放到和周期信号一起, 直接检测会有影响;

为了使得,提取出的 趋势分量项具有如下特点:

  1. 能够包含具有突变情况, 引入了一阶差分矩阵的 L1 正则项, 同时避免阶梯效应, 引入了二阶差分, 使得整体趋势项平滑 ;

  2. 不会将 outlier 异类点 带入趋势项中, 引入 huber 损失, g γ ( x i ) g_{\gamma}(x_{i}) gγ(xi)

时间序列的研究_第2张图片

1.2 优化的小波变化

为了处理 多周期 信号的 这种情况,使用优化的小波变换,将多周期的信号进行解耦,

MODWT: 该优化的小波变换, 对输入的 时间序列 信号,
分解成 多个 时间序列 信号,

此时,每个时间序列信号就是 一层小波系数;

优势在于:

  1. 得到的每一层小波系数的 长度 = 原始时间序列信号的长度;而传统的 小波变换,每分解一次长度会减半;

  2. 算出每一小波系数的方差, 方差反应出 本层的小波能量, 如果该层 小波含有一个周期信号,则该层能量往往较高 , 从而可以得出每一层小波系数的方差在整体中能量占比是否较高;

  3. 基于上述事实, 对小波系数的方差进行排序, 只针对较高方差的 前几层,进行单周期检测;

想请问一下, 这里的 MODWT 这种分解出来的多个 子信号,
和 使用EMD 经验模式 或者 TQWT 分解出来的多个子信号 的区别是什么?

1.3. 单周期检测算法

分开之后, 针对 每一个小波系数 做一个 单周期检测算法;
最后将所有的结果 综合起来;

时间序列的研究_第3张图片

2. 信号分解

在判断时间序列 是否具有周期, 以及周期的长度,

在完成之后, 使用该周期检测的结果, 对信号进行分解。

  1. 将异常 放到 残差项中,
  2. 将 趋势突变 放到 趋势项中;

2.1 无周期信号分解

如果周期检测的结果表明该信号是没有周期的,
则只需要对该信号进行 趋势 + 残差 分解;

分解成 趋势项 + 残差项;

时间序列的研究_第4张图片

2.2 周期信号分解

如果检测结果,表明该信号是一个周期信号;
则进行 周期 趋势分解;

分解成 趋势项 + 周期项 + 残差项, 如图中的下半部分;

此时, 在各个 分量上进行 异常检测, 从而更加 容易检测出异常;

时间序列的研究_第5张图片

提出三种方法:

  1. 单周期的趋势信号, 将周期 和趋势分解开来;

  2. 多周期的分解;

  3. 由于现实存储中, 前期存储的密度角度(每秒存储一次), 后期的存储密度减少(每个小时存储一次), 多尺度的周期趋势 分解方式;

在这里插入图片描述

这里着重介绍, 多周期信号的分解;

双边滤波 --> 趋势项 提取 --> 周期项提取 --> 多趋势分解

3. 时序检测的应用

  • 时序信号的异常检测
  • 时序 预测
  • 其他时序任务应用, 故障定位,

3.1 异常检测

注意这里 使用了 unet 去进行 捕获时间序列;
2. loss 优化成 时序 loss ;
时间序列的研究_第6张图片

不同的异常检测 情况,
有的任务 在时序上 容易检测出来,
有的在频域中容易检测出来;

时间序列的研究_第7张图片

必要的预处理,

时间序列的研究_第8张图片

3.2 时域预测

FED former:

时域,频域成分 同时加入;

时间序列的研究_第9张图片

3.3 多周期的 时序预测

quatformer;

你可能感兴趣的:(#,深度学习,人工智能,python,算法)