1.运行效果:
格拉姆角场GAF将时序数据转换为图像并应用于故障诊断(Python代码)_哔哩哔哩_bilibili
环境库
只要tensorflow版本大于等于2.4.0即可运行
2.GAF的内容
GAF是一种用于时间序列数据可视化和特征提取的技术,通常用于时间序列分类和分析。
GAF的基本思想是将时序数据转换为角度矩阵,然后将这个矩阵可视化为图像。这种可视化方式有助于人们更好地理解和分析时间序列数据。GAF的一种常见用法是在机器学习任务中,将时间序列数据转换为图像特征,然后使用这些特征进行分类、回归或聚类等任务。
3.数据集
3.1 西储大学轴承数据集(CWRU)
CWRU数据集,每份负载数据集以四分类为例:正常、内圈故障、外圈故障和滚动体故障,也可以考虑故障尺寸,自己改成十分类)
自己也可以把数据集换成其他数据集或者自己的轴承数据集。
以0HP文件夹为例,打开0HP文件夹
inner、Normal、outer和roller文件夹装载的原始数据集
picture_CNN.py主要功能:首先利用1024的固定长度重叠切割原始数据,生成一维样本,然后利用GAF将一维样本转变成二维图像的程序,然后利用CNN进行故障诊断。
打开0HPimages文件
随意选取一个样本照片展示
每种负载下5次实验平均结果
0HP | 1HP | 2HP | 3HP |
99.58% | 99.68% | 99.58% | 99.62% |
0HP数据集结果(训练集与测试集比例:4:1)
测试集混淆矩阵 (测试集准确率99.58%)
1HP数据集结果(训练集与测试集比例:4:1)
测试集混淆矩阵 (测试集准确率99.68%)
2HP数据集结果(训练集与测试集比例:4:1)
测试集混淆矩阵
3HP数据集结果(训练集与测试集比例:4:1)
测试集混淆矩阵
测试集混淆矩阵
对项目感兴趣的,可以关注最后一行
from scipy.io import loadmat
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler
import numpy as np
import tensorflow as tf
import pickle
import numpy as np
import matplotlib.pyplot as plt
import scipy.signal as scisig
from mpl_toolkits.axes_grid1 import make_axes_locatable
from pyts.datasets import load_gunpoint
#代码和数据集的压缩包:https://mbd.pub/o/bread/mbd-ZJ6bmJdu