我们一起聊聊快速傅里叶变换暴力涨点!基于时频特征融合的高创新时间序列分类模型
前言
本文基于某时间序列分类任务数据集,介绍一种融合快速傅里叶变换FFT,基于时频特征融合的FFT-CNN-BiGRU-Attention创新分类模型。
1 模型简介与创新点介绍
1.1 模型简介
● 数据集:时间序列分类任务数据集
● 环境框架:python 3.9 pytorch 2.1 及其以上版本均可运行
● 使用对象:入门学习,论文需求者
● 代码保证:代码注释详细、即拿即可跑通。
● 配套文件:详细的环境配置安装教程,模型、参数讲解文档
1.2 创新点介绍
(1)快速傅里叶变换(FFT):
FFT是一种快速计算离散傅里叶变换(DFT)的算法,用于将时间域信号转换到频域。这在时间序列分析中非常有用,因为频域特征可以揭示时间域中不明显的模式。在创新模型中,FFT用于提取时间序列的频域特征,这些特征与原始时间域特征结合使用,可以提高模型的分类性能。
(2)卷积神经网络(CNN):
在创新模型中,CNN用于提取经过FFT处理后的频域特征以及原始时间序列数据中的局部模式和特征。这些特征可以是短期的变化或某种局部一致性。
(3)双向门控循环单元(BiGRU):
GRU是一种循环神经网络(RNN)的变体,能够有效捕获序列数据中的长期依赖关系。双向GRU则通过从前向和后向两个方向处理数据,提高了对上下文的理解能力。BiGRU在这个模型中用于处理序列数据的时间依赖性,结合CNN提取的特征,能够更好地理解时间序列的动态行为。
(4)注意力机制:
注意力机制用于识别输入序列中最相关的部分,从而使模型更专注于有用的特征。这种机制在处理长序列数据时特别有用,可以帮助模型在大量信息中提取关键特征。在这个模型中,注意力机制帮助BiGRU聚焦于那些对分类任务最有影响的时间步或特征,从而提升模型的整体性能和解释能力。
FFT-CNN-BiGRU-Attention模型能够有效提取和利用时间序列数据的时域和频域特征,并通过深度学习的方法进行高效的分类任务。这种组合方法利用了每个模块的优势,使得模型在处理复杂时间序列数据时更加健壮和准确。
2 数据预处理
数据集格式为CSV文件,每一行代表一个时间序列样本,最后一列对应标签值,可以灵活替换数据集!
按照7:2:1划分训练集、验证集、测试集:
3 基于FFT-CNN-BiGRU-Attention的分类模型
3.1 定义FFT-CNN-BiGRU-Attention网络模型
3.2 设置参数,训练模型
50个epoch,准确率100%,FFT-CNN-BiGRU-Attention网络分类效果显著,模型能够充分提取时间序列数据的多尺度特征,收敛速度快,性能特别优越,效果明显。
4 模型评估与可视化
4.1 模型评估
4.2 分类可视化
(1)混淆矩阵
(2)分类标签可视化
(3)原始数据 t-SNE特征可视化
(4)模型训练后的 t-SNE特征可视化:
本文转载自 建模先锋,作者: 小蜗爱建模