深度学习信号处理

一、问题

1、同一列的数据是同一个时间点的采样数据吗
2、时间序列可以做成预测模型,尤其是在一些要求安全性的项目中,对项目的预测会不会比直接进行分类合格与不合格更好些。

二、数据

旋转机械故障诊断公开数据集汇总添加链接描述此链接是故障比较常用的数据集整理

数据量少:数据量少,最好用机器学习的方法进行预测分类。但考虑到产品投入使用后,会有源源不断的数据出现,所以倾向于用深度学习的方法进行算法的实现。基于数据量少的情况,最好使用层数比较少的网络进行训练,避免过拟合
数据量多:数据量多,基于原始数据少的模型可能不适用现有数据,针对现有能查到的资料,没有完全完善时间序列的模型,最好自己搭建
一万的数据训练和一百万的数据训练的结果可能完全相反,少量的数据训练具有局限性,不能以数据量少的模型投入到实际数据量很大的项目
数据增强:针对于图片,做数据增强,可以进行图像翻转、亮度调整、给图像加噪声、直方图均衡化等等,但是时间序列的数据增强应该怎么做,这是个需要思考的问题。
在这里提出一些见解,还没有实现的想法。前提是时间序列的同列取值不相关。1、可以加一些噪声,看看效果。2、可以将前2000个数据平移到后面去。3、已知不合格的时间序列波动,将这段数据进行不同位置的平移,创建新的数据

三、模型

方案1:使用一维卷积神经网络处理时间序列数据

1D CNN 可以很好地应用于传感器数据的时间序列分析(比如陀螺仪或加速度计数据);同样也可以很好地用于分析具有固定长度周期的信号数据(比如音频信号)。此外,它还能应用于自然语言处理的任务(由于单词的接近性可能并不总是一个可训练模式的好指标,因此 LSTM 网络在 NLP 中的应用更有前途)。

方案2:基于特征提取和多层感知器的轴承故障检测

使用手工特征进行训练,如时域:平均值;方均根值,又称为有效值(表征振动能量的强度);最大值/方均根值(表征前文指出的周期性振动增强);2-10阶中心矩。和频域:FFT频谱来提取特征。

方案3:LSTM处理时间序列数据

长短时记忆网络(long short term memory network)作为循环神经网络的重要改型,克服了循环神经网络的诸多缺点,例如梯度消失问题,并逐渐替代经典循环神经网络

方案4:基于残差网络进行模型搭建

input:(6000,2)
60*1 conv,32,/2 output:(1971,2,32)

可加padding(0)利于更好的创建模型

四、初步预测(使用一维卷积神经网络处理时间序列数据)

	从资料中得出,虽然语音识别和NLP最近发展迅猛,但是在时间序列的处理上,还是没有很大的突破,本方案使用的是DC竞赛轴承故障检测开源Baseline(基于Keras1D卷积 val_acc:0.99780)[竞赛链接](https://www.pkbigdata.com/common/cmpt/%E8%BD%B4%E6%89%BF%E6%95%85%E9%9A%9C%E6%A3%80%E6%B5%8B%E8%AE%AD%E7%BB%83%E8%B5%9B_%E7%AB%9E%E8%B5%9B%E4%BF%A1%E6%81%AF.html)

获取数据集

  这是一个轨枕在一段时间内的振动信号数值及其故障类别。注意,振动信号数值已经说明,时间序列的同列取值不相关,甚至可以认为每一个id时间序列数目也不一样,所以必须对时序数据提取特征。
  这是一个多分类问题,特征是时序数据,同一列的数据不一定是同一个时间点的采样数据,所以原始数据不能成为特征,考虑从原始数据挖掘统计特征作为分类模型的特征数据。

数据集:链接:https://pan.baidu.com/s/1y-u4_cYxQd6ZbCR_Dn__dg 提取码:19b9

数据集

训练集有792条记录,每个记录有6002列,第一列为轴承id,最后一列为故障类别(label),中间的6000列为振动信号时序数据。
测试集类似训练集,但是没有最后一列label,需要通过算法获得分类结果。
结果集为测试集id加上对应label即可。
深度学习信号处理_第1张图片
深度学习信号处理_第2张图片

模型训练

参考此博客:https://blog.csdn.net/weixin_41275726/article/details/102837769

你可能感兴趣的:(时间序列)