精华内容
下载资源
问答
  • 齿轮箱故障数据

    2020-12-24 02:09:41
    【实例截图】【核心代码】齿轮箱故障数据keyong`-- 齿轮箱故障数据keyong|-- 断齿| |-- duanchi1500.txt| |-- duanchi880-1.txt| |-- duanchi880-2.txt| |-- duanchi880-3.txt| `-- duanchi8...

    【实例简介】

    有关齿轮箱的故障特征 的数据 还有一些说明。 可以供振动信号分析使用。

    【实例截图】

    【核心代码】

    齿轮箱故障数据keyong

    `-- 齿轮箱故障数据keyong

    |-- 断齿

    | |-- duanchi1500.txt

    | |-- duanchi880-1.txt

    | |-- duanchi880-2.txt

    | |-- duanchi880-3.txt

    | `-- duanchi880.txt

    |-- 点蚀

    | |-- dianshi1470.txt

    | |-- dianshi1500.txt

    | |-- dianshi880-1.txt

    | |-- dianshi880-2.txt

    | |-- dianshi880-3.txt

    | `-- dianshi880.txt

    |-- 磨损

    | |-- mosun1470.txt

    | |-- mosun880-1.txt

    | |-- mosun880-2.txt

    | |-- mosun880-3.txt

    | `-- mosun880.txt

    |-- 说明.txt

    |-- 点蚀磨损

    | |-- dianmo1470.txt

    | |-- dianmo880-1.txt

    | |-- dianmo880-2.txt

    | |-- dianmo880-3.txt

    | `-- dianmo880.txt

    |-- 正常运行下

    | |-- normal1500.txt

    | |-- normal880-1.txt

    | |-- normal880-2.txt

    | |-- normal880-3.txt

    | `-- normal880.txt

    |-- 断齿、磨损混合故障

    | |-- duanmo1470.txt

    | |-- duanmo880-1.txt

    | |-- duanmo880-2.txt

    | |-- duanmo880-3.txt

    | `-- duanmo880.txt

    `-- 平台系统配置及操作说明.doc

    7 directories, 33 files

    展开全文
  • 本发明涉及一种旋转机械齿轮箱故障数据集优化方法,具体涉及一种基于遗传算法与支持向量机的旋转机械齿轮箱故障数据集优化方法。背景技术:齿轮箱是重要工程领域(如:石化产业、航天、机械制造等)的关键设备之一,...

    本发明涉及一种旋转机械齿轮箱故障数据集优化方法,具体涉及一种基于遗传算法与支持向量机的旋转机械齿轮箱故障数据集优化方法。

    背景技术:

    齿轮箱是重要工程领域(如:石化产业、航天、机械制造等)的关键设备之一,由于旋转机械设备日趋大型化、高速化和精密化,一旦旋转机械中的齿轮箱发生故障,可能影响石化产品的生产,严重时甚至会发生重大生产安全事故,因此对齿轮箱进行故障诊断研究具有显著的经济效益和社会效益。

    由于在实际的石化复杂环境下,振动监测信号往往存在大量的非线性、随机、不可遍历的信息,给故障信号的分析带来很大的困难。

    技术实现要素:

    本发明所要解决的技术问题是克服现有技术的缺陷,提供一种旋转机械齿轮箱故障数据集优化方法,能快速准确地对齿轮箱故障进行分类预测。

    为解决上述技术问题,本发明提供一种旋转机械齿轮箱故障数据集优化方法,其特征在于,包括如下步骤:

    1)采集旋转机械齿轮箱振动信号;

    2)获取5个无量纲指标和小波能量特征向量;

    3)利用遗传算法与支持向量机对齿轮箱故障数据集特征向量进行优化。

    进一步的,所述步骤1)具体步骤如下:利用数据采集器采集旋转机械齿轮箱包含的典型故障振动信号。

    进一步的,所述步骤2)具体步骤如下:

    21)利用小波包对步骤1)采集的振动信号提取小波能量特征向量;

    22)计算5个无量纲指标,其计算公式如下;

    波形指标:

    峰值指标:

    脉冲指标:

    裕度指标:

    峭度指标:

    式中,Xrms为信号的均方根值,为信号的平均幅值,Xmax为信号的最大值,Xr为信号的方根幅值,β为峭度,N表示构成样本的信号采样点个数,Xi表示振动幅值,i表示采样点的下标索引;

    23)将21)提取的小波能量特征向量与22)计算获得的5个无量纲指标结合,组成齿轮箱故障特征向量,建立故障特征数据集。

    进一步的,所述步骤21)具体步骤如下:

    211)选择一个适合的小波包函数,确定其分解层次n,设置熵标准,对信号进行n层小波包分解;

    212)对第n层不同频带的信号进行重构;

    213)对重构后的信号构造能量特征指标。

    进一步的,所述一个适合的小波包函数的选择标准是:针对相同的齿轮箱振动信号采样点,选择多个小波包函数,并利用小波函数提取的小波能量特征向量构建齿轮箱故障数据集,选取相同比例的训练集和测试集,利用支持向量机进行训练和测试,选取分类效果最好的故障数据集对应的小波函数。

    进一步的,所述步骤3)具体步骤如下:

    31)遗传算法采用整数编码,通过支持向量机得出的分类效果作为遗传算法的适应度函数;

    32)支持向量机随机选取齿轮箱故障数据集60%样本作为训练集,剩余40%样本作为测试集;利用遗传算法与支持向量机分类算法得到齿轮箱故障诊断的最优特征指标集。

    本发明所达到的有益效果:

    本发明提供的一种旋转机械齿轮箱故障数据集优化方法,将小波包提取的小波能量特征向量与5个无量纲指标结合,组成齿轮箱故障特征指标集合。利用遗传算法与支持向量机的旋转机械齿轮箱故障数据集优化方法,优化了故障特征的样本表示,改善了预测效果。

    附图说明

    图1是本发明提供的一种旋转机械齿轮箱故障数据集优化方法的流程图。

    具体实施方式

    下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

    参见图1和表1,本发明提供一种旋转机械齿轮箱故障数据集优化方法,包括以下步骤:

    1)将不同的齿轮箱故障件安装在此实验平台上,振动信号由安装在轴承座上的加速度传感器来提取,通过EMT490数据采集器来采集故障振动信号。实验参数如下:转速为1000r/min,采样频率为1000Hz,采样点数为8192点;

    2)将采集到的振动加速度故障数据导入到电脑上,并利用MATLAB软件对其进行读取;本实验对齿轮箱四种状态(大齿轮缺齿,小齿轮缺齿,大小齿轮均缺齿,正常状态)下的振动信号进行分别采样,各得500组数据。将这2000组数据随机抽取1200组数据作为训练集,剩下的800组数据作为测试集;

    3)利用MATLAB里的小波包函数对其分解重构,提取小波能量特征向量。选用的是db1小波包函数,分解层数为3,使用的熵准则是Shannon熵,由此可得8维小波能量特征向量;

    4)计算出5个无量纲指标:波形指标,峰值指标,脉冲指标,裕度指标,峭度指标;

    5)将小波包提取的8维能量特征向量与5个无量纲指标结合,组成齿轮箱故障特征向量,然后对齿轮箱故障特征指标按顺序进行标记。

    6)将遗传算法与支持向量机结合,建立一种基于遗传算法与支持向量机相结合的一种旋转机械齿轮箱故障数据集优化方法。

    (1)对齿轮箱故障特征指标按顺序标记,标记为1,2,…,13;

    (2)染色体编码方法:采用整数编码;

    (3)初始种群:设染色体长度为l,(l≤13),随机从1,2,…,13中选取l个数组成一个个体,共选取N个个体构成种群;

    (4)适应度函数:支持向量机方法得出的诊断效果作为适应度函数,即将采集到的2000组数据随机抽取1200组数据作为训练集,剩下的800组数据作为测试集,得出诊断准确率;

    (5)遗传操作设计:选择轮盘机制,单点交叉,基本位变异方法进行遗传操作,通过求最大目标函数值来获取最优特征集。为了保证得到最优个体,在每次迭代中选出适应度最大的个体保留到下一代。

    作为一种优选方案,本发明提供的一种基于遗传算法与支持向量机相结合的旋转机械齿轮箱故障数据集优化方法,为了能够更好地了解遗传算法与支持向量机相结合的齿轮箱故障特征属性优化的良好性能,对8维能量指标,5维无量纲指标,8维能量特征向量+5维无量纲指标,本发明方法得到的8维能量指标四类指标集的分类准确率进行了对比,对比结果如表1所示:

    表1分类准确率对比

    综上所述,本发明方法能够较好地对齿轮箱故障状态进行分类预测,故障诊断准确率得到明显改善。

    以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

    展开全文
  • 简介众所周知,当下做机械故障诊断研究最基础的就是数据。笔者自2019年初开始致力于收集和整理有价值的机械故障诊断数据。此处分享均为开源数据集,数据来自原始研究方,笔者只整理数据获取途径。如果研究中使用了...

    RoadMap

    Rotating-machine-fault-data-set

    Open rotating mechanical fault data set

    1.简介

    众所周知,当下做机械故障诊断研究最基础的就是数据。笔者自2019年初开始致力于收集和整理有价值的机械故障诊断数据。

    此处分享均为开源数据集,数据来自原始研究方,笔者只整理数据获取途径。如果研究中使用了数据集,请按照版权方要求作出相应说明和引用。

    笔者自己也在筹划整理私有的数据集和研究成果,未来将以适当的方式共享。

    在此,特别向公开研究数据的研究者表示感谢和致敬,共享是一种精神。如涉及侵权,请联系我删除(787452269@qq.com)。

    很多优秀的论文都有数据分享,也有越来越多的研究者和企业选择开源自己的成果,本项目保持更新。星标是比较通用的数据集。

    个别数据集下载可能比较困难或者已经无法下载,需要的可以联系我(邮箱:787452269@qq.com,微信:hustcxl),如版权方有要求,恕不提供。

    这个仓库自发布以来,得到很多同仁们的好评和认可,来自学术界和工业界的都有。因此个人正在筹划建立一个工业设备预测与健康管理(PHM)交流平台,交流主题包括但不限于:

    数据集的使用;

    信号处理与特征提取;

    智能诊断算法;

    寿命预测;

    工业应用案例;

    行业最紧迫的需求;

    PHM行业发展动态。

    欢迎有识之士添加我微信或QQ,我将分组加群,欢迎分享宣传自己的成果和见解,也欢迎参与一起学习和讨论。我会不定期就当前研究热点组织相关的专题讨论。线上为主,时机成熟也可考虑组织线下研讨。

    关于数据使用的问题和心得,欢迎在Issues中提问讨论。欢迎fork,Watch,star。

    注:给索要数据的朋友,希望是真的试过了无法获取再来索要。伸手党确实不受欢迎。另外,也欢迎提供公开的新数据源。

    由美国凯斯西储大学完成试验,是当前轴承振动信号处理、故障诊断方面论文使用最为广泛的标准数据集。故障特征明显,可参考的文献资料多。可以作为方法的基础检验数据集。GitHub上也有很多以该数据集为例子的项目,值得借鉴学习。后续会逐渐对该数据集的使用情况进行总结综述。欢迎提供素材。

    由美国机械故障预防技术学会提供,NRG Systems总工程师Eric Bechhoefer博士代表MFPT组装和准备数据,已提供轴承故障数据集以促进轴承分析的研究。

    该数据集包括来自轴承试验台的数据:

    正常轴承数据

    不同载荷下的外圈故障数据

    不同载荷下的内圈故障数据

    以及三个真实故障案例数据

    由德国帕德博恩大学 Christian Lessmeier,Enge-Rosenblatt, Bayer, & Zimmer, 于2014年设计完成实验。

    由FEMTO-ST研究所建立的PHM IEEE 2012数据挑战期间使用的数据集。

    由美国辛辛那提大学李杰教授团队分享。

    The IMS bearing dataset has been collected on an endurance test rig of the University of Cincinnati and relased in 2014.

    . The test rig has the following characteristics:

    4 double row bearings of type Rexnord ZA-2115,

    2000 rpm stationary speed,

    6000 lbs load applied onto the shaft and bearing by a spring mechanism,

    PCB 253B33 High sensitivity Quart ICP accelerometers.

    由美国康涅狄格大学唐炯教授团队分享。齿轮箱故障数据。

    由西安交通大学雷亚国课题组王彪博士整理。为轴承寿命退化数据。

    github连接:https://github.com/cathysiyu/Mechanical-datasets

    由东南大学严如强团队博士生邵思雨完成。

    论文:“Highly Accurate Machine Fault Diagnosis Using Deep Transfer Learning”

    Gearbox dataset is from Southeast University, China.

    These data are collected from Drivetrain Dynamic Simulator.

    This dataset contains 2 subdatasets, including bearing data and gear data, which are both acquired on Drivetrain Dynamics Simulator (DDS).

    There are two kinds of working conditions with rotating speed - load configuration set to be 20-0 and 30-2.

    Within each file, there are 8rows of signals which represent: 1-motor vibration, 2,3,4-vibration of planetary gearbox in three directions: x, y, and z, 5-motor torque, 6,7,8-vibration of parallel gear box in three directions: x, y, and z. Signals of rows 2,3,4 are all effective.

    10.Acoustics and Vibration Database(振动与声学数据库)

    11.机械设备故障诊断数据集及技术资料大全

    12.CoE Datasets美国宇航局预测数据存储库

    13.第三届工业大数据创新竞赛

    需要参赛才能下载数据,数据使用需要获得版权方授权。多台压缩机,汽轮机的转子部件脱落数据。很实用。

    比赛已经结束,无法下载。期待官方发布白皮书。获得授权可以分享数据。

    工业大数据创新平台

    14.加拿大-渥太华大学

    该数据包含在时变转速条件下从不同健康状况的轴承收集的振动信号。总共有36个数据集。对于每个数据集,有两个实验设置:轴承健康状况和变化速度条件。

    轴承的健康状况包括:

    (i)健康,

    (ii)内圈缺陷有缺陷,以及

    (iii)外圈缺陷有缺陷。

    操作转速条件是:

    (i)增加速度,

    (ii)减小速度,

    (iii)增加然后减小速度,以及

    (iv)减小然后增加速度。

    因此,设置有12种不同的情况。为了确保数据的真实性,每个实验设置收集3个试验,总共产生36个数据集。

    每个数据集包含两个通道:

    'Channel_1' 是由加速度计测量的振动数据,

    'Channel_2'是由编码器测量的转速数据。

    所有这些数据都以200,000Hz采样,采样持续时间为10秒。

    15. 意大利-都灵理工大学轴承数据DIRG_BearingData

    在都灵理工大学机械和航空航天工程系 DIRG实验室设置的钻机收集的数据,专门用于测试高速航空轴承,其加速度采集在可变转速,径向载荷和损伤水平,与温度测量一起,可作为开放存取数据提供。

    16.巴西-里约热内卢联邦大学 MAFAULDA

    Marins M A, Ribeiro F M L, Netto S L, et al. Improved similarity-based modeling for the classification of rotating-machine failures[J]. Journal of the Franklin Institute, 2018, 355(4): 1913-1930.论文链接

    Saufi S R, bin Ahmad Z A, Leong M S, et al. Differential evolution optimization for resilient stacked sparse autoencoder and its applications on bearing fault diagnosis[J]. Measurement Science and Technology, 2018, 29(12): 125002. 论文链接

    17.中国-武汉大学-转子数据

    Liu, D., et al., Feature extraction of rotor fault based on EEMD and curve code. Measurement, 2019. 135: p. 712-724.论文链接

    Description of this data

    '''

    These data are denoised signals processed by wavelet thresholding-based denoising.

    They are represented by a 2-dimensional matrix.

    Each row represents a vibration signal,and the first 45 rows belong to mormal rotor, the second contact-rubbing, the third unbalance and the final misalignment.

    Each column represents the length of data, 2048, or time, 1s.

    '''

    18.中国-电机振动数据(七月在线竞赛)

    在电机生产线上普遍采用人工听音的方法分辨良、次品,不仅成本高,而且重复、单调的听音工作极易引起人员疲劳,容易出现误判,若个别不良品混入整批成品中,会给工厂带来严重经济损失,甚至严重影响产品声誉。

    本次大赛要求参赛者基于加速度传感器采集的振动信号,利用机器学习、深度学习等人工智能技术,设计智能检验的算法,要求算法对故障电机不能有漏识别,在召回100%的情况下,尽量提高预测准确率,以达到替代人工质检的目的。

    19. 中国-轴承数据集(DC竞赛)

    20. 中国-上海交通大学轴承数据集

    (1)Zhu LM, Ding H, Zhu XY. Synchronous Averaging of Time-frequency Distribution with Application to Machine Condition Monitoring. Trans of the ASME, Journal of Vibration and Acoustics, 2007, 129(4): 441-447. link

    (2)Zhu LM, Ding H, Zhu XY. Extraction of Periodic Signal without External Reference by Time Domain Average Scanning. IEEE Trans. On Industrial Electronics, 2008, 55(2): 918-927.link

    展开全文
  • PCA故障诊断中两个关键统计变量T2T^2T2和SPESPESPE的的计算 T2T^2T2:Hotelling-T2 SPESPESPE:平方预测误差(Squared prediction error) T2T^2T2 统计量反映了每个主成分在变化趋势和幅值上偏离模型的程度,是对模型...

    PCA故障诊断中两个关键统计变量 T 2 T^2 T2 S P E SPE SPE的的计算

    T 2 T^2 T2:Hotelling-T2
    S P E SPE SPE:平方预测误差(Squared prediction error)

    T 2 T^2 T2 统计量反映了每个主成分在变化趋势和幅值上偏离模型的程度,是对模型内部化的一种度量,它可以用来对多个主元同时进行监测; S P E SPE SPE 统计量刻画了输入变量的测量值对主元模型的偏离程度,是对模型外部变化的一种度量。

    T 2 T^2 T2在线计算以及控制限的计算

    在这里插入图片描述

    S P E SPE SPE在线计算以及控制限的计算

    在这里插入图片描述

    T 2 T^2 T2 S P E SPE SPE使用情况总结

    • T 2 T^2 T2统计量反应的是主元空间的变化,因此不能检测到非主元变量的故障;
    • S P E SPE SPE统计量反应的是所有的变量,因此 T 2 T^2 T2统计量超限, S P E SPE SPE必超限(但有例外,如过程参数的变化);
    • S P E SPE SPE统计量衡量的是变量间相关性被改变的程度,显示异常的工况;所以当其超限时,可能是过程变量故障,也可能其它故障引起的。

    根据 T 2 T^2 T2 S P E SPE SPE是否超限结果分析

    1. 故障使 S P E SPE SPE T 2 T^2 T2统计量同时超限;
    2. 故障使 S P E SPE SPE超限,而 T 2 T^2 T2统计量没有;
    3. 故障使 T 2 T^2 T2 统计量超限,而 S P E SPE SPE没有;
    4. 两者都没有超限。
      其中, S P E SPE SPE统计量对1,2,4是有效的。

    两者的优缺点

    T 2 T^2 T2统计量适合来监控质量指标的变化; S P E SPE SPE统计量可以监控各类指标,其误报率和漏报率会少一些(针对非正态或者不平稳的过程)。

    TE过程(田纳西伊斯曼过程)数据简介

    具体数据见链接TE过程数据

    在TE仿真平台中,可获取41个过程变量的运行数据和11个操纵变量的数据。另外,通过对进料等变量的输入控制,可以模拟得到21个故障类型,其中正常数据和异常(故障)数据的采样时间均为3min,即20次/min。
    TE训练集和测试集结构:
    整个TE数据集由训练集和测试集构成,TE集中的数据由22次不同的仿真运行数据构成,TE集中每个样本都有52个观测变量。d00.dat至d21.dat为训练集样本,d00_te.dat至d21_te.dat为测试集样本。前41个变量为过程变量,后11个变量为操纵变量。
    d00.dat和d00_te.dat为正常工况下的样本。d00.dat训练样本是在25h运行仿真下获得的。观测数据总数为500。而d00_te.dat测试样本是在48h运行仿真下获得的,观测数据总数为960。
    d01.dat至d21.dat为带有故障的训练集样本,d01_te.dat至d21_te.dat为带有故障的测试集样本。每个训练集\测试样本代表一种故障。
    要值得注意的是对于带有故障的训练集样本,是在25h运行仿真下获得的。仿真开始时没有故障情况,故障是在仿真时间为1h的时候引入的。但观测数据是在引入故障后才开始采集的,即只有480个观测值。
    带有故障的测试集样本是在48h运行仿真下获得的,故障在8h的时候引入,共采集960个观测值,其中前160个观测值为正常数据。

    基于TE过程数据的PCA故障诊断

    Python代码

    read_TEdat.py:读取和处理TE过程原始.dat数据文件

    import pandas as pd
    import glob
    import os
    import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
    plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
    
    def read_all_data(path_test,path_train):
        '''
        读取TE过程的所有.dat数据并存人DataFrame中,输入参数为测试数据和训练数据的绝对路径
        '''
        var_name = []
        for i in range(1,42):
            var_name.append('XMEAS(' + str(i) + ')')
        for i in range(1,12):
            var_name.append('XMV(' + str(i) + ')')
        data_test, data_train = [], []
        # path_test = r'C:\Users\17253\Desktop\组内\K_shape\data\TE\test'
        # path_train = r'C:\Users\17253\Desktop\组内\K_shape\data\TE\train'
        test_join = glob.glob(os.path.join(path_test,'*.dat'))
        train_join = glob.glob(os.path.join(path_train,'*.dat'))
        for filename in test_join:
            data_test.append(pd.read_table(filename, sep = '\s+', header=None, engine='python', names = var_name))
        for filename2 in train_join:
            data_train.append(pd.read_table(filename2, sep = '\s+', header=None, engine='python', names = var_name))
        return data_test, data_train
    
    

    diagnosis_pca.py:用PCA算法进行故障诊断

    import numpy as np
    import matplotlib.pyplot as plt
    from sklearn.decomposition import PCA
    from scipy import stats
    from scipy.stats import norm, chi2
    from sklearn.preprocessing import StandardScaler
    plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
    plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
    
    
    def t2_online(x, p, v):
        '''
        p:特征向量组成的降维矩阵,负载矩阵
        x:在线样本,shape为m*1
        v:特征值由大至小构成的对角矩阵
        '''
        T_2 = np.dot(np.dot((np.dot((np.dot(x.T, p)), np.linalg.inv(v))), p.T), x)
        return T_2
    
    def spe_online(x, p):
        '''
        p:特征向量组成的降维矩阵,负载矩阵
        x:在线样本,shape为m*1
        '''
        I = np.eye(len(x))
        spe = np.dot(np.dot(x.T, I - np.dot(p, p.T)), x)
        # Q_count = np.linalg.norm(np.dot((I - np.dot(p_k, p_k.T)), test_data_nor), ord=None, axis=None, keepdims=False)  #二范数计算方法
        return spe
    
    def pca_control_limit(Xtrain, ratio = 0.95, confidence = 0.99):
        '''
        计算出T2和SPE统计量
        '''
        pca = PCA(n_components = ratio)
        pca.fit(Xtrain)
        evr = pca.explained_variance_ratio_
        ev = pca.explained_variance_ # 方差,相当于X的协方差的最大的前几个特征值
        n_com = pca.n_components
        p = (pca.components_).T # 负载矩阵
        v = np.diag(ev) # 特征值组成的对角矩阵
        v_all = PCA(n_components = Xtrain.shape[1]).fit(Xtrain).explained_variance_
        p_all = (PCA(n_components = Xtrain.shape[1]).fit(Xtrain).components_).T
        k = len(evr)
        n_sample = pca.n_samples_
        ##T统计量阈值计算
        coe = k* (n_sample - 1) * (n_sample + 1) / ((n_sample - k) * n_sample)
        t_limit = coe * stats.f.ppf(confidence, k, (n_sample - k))
    
        ##SPE统计量阈值计算
        theta1 = np.sum((v_all[k:]) ** 1)
        theta2 = np.sum((v_all[k:]) ** 2)
        theta3 = np.sum((v_all[k:]) ** 3)
        h0 = 1 - (2 * theta1 * theta3) / (3 * (theta2 ** 2))
        c_alpha = norm.ppf(confidence)
        spe_limit = theta1 * ((h0 * c_alpha * ((2 * theta2) ** 0.5)
                               / theta1 + 1 + theta2 * h0 * (h0 - 1) / (theta1 ** 2)) ** (1 / h0))
        return t_limit, spe_limit, p, v, v_all, k, p_all
    
    def pca_model_online(X, p, v):
        t_total = []
        q_total = []
        for x in range(np.shape(X)[0]):
            data_in = X[x]
            t = t2_online(data_in, p, v)
            q = spe_online(data_in, p)
            t_total.append(t)
            q_total.append(q)
        return t_total, q_total
    
    def figure_control_limit(X, t_limit, spe_limit, t_total, q_total):
        ## 画控制限的图
        plt.figure(2, figsize=(12, 7))
        ax1 = plt.subplot(2, 1, 1)
        plt.plot(t_total)
        plt.plot(np.ones((len(X))) * t_limit, 'r', label='95% $T^2$ control limit')
        # ax1.set_ylim(0,100)
        # plt.xlim(0,100)
        ax1.set_xlabel(u'Samples')
        ax1.set_ylabel(u'Hotelling $T^2$ statistic')
        plt.legend()
    
        ax2 = plt.subplot(2, 1, 2)
        plt.plot(q_total)
        plt.plot(np.ones((len(X))) * spe_limit, 'r', label='95% spe control limit')
        # ax1.set_ylim(0,30)
        # plt.xlim(0,100)
        ax2.set_xlabel(u'Samples')
        ax2.set_ylabel(u'SPE statistic')
        plt.legend()
        plt.show()
    
    def Contribution_graph(test_data, trian_data, index, p, p_all, v_all, k, t_limit):
        # 贡献图
        index = 160
        #1.确定造成失控状态的得分
        test_data = fault02_test
        data_mean = data_mean = np.mean(Xtrain_nor, 0)
        data_std = np.std(Xtrain_nor, 0)
        test_data_submean = np.array(test_data - data_mean)
        test_data_norm = np.array((test_data - data_mean) / data_std)
        t = test_data_norm[index,:].reshape(1,test_data.shape[1])
        S = np.dot(t,p[:,:])
        r = []
        for i in range(k):
            if S[0,i]**2/v_all[i] > t_limit/k:
                r.append(i)
        print(r)
        #2.计算每个变量相对于上述失控得分的贡献
        cont = np.zeros([len(r),test_data.shape[1]])
        for i in range(len(r)):
            for j in range(test_data.shape[1]):
                cont[i,j] = S[0,i]/v_all[r[i]]*p_all[r[i],j]*test_data_submean[index,j]
                if cont[i,j] < 0:
                    cont[i,j] = 0
        #3.计算每个变量对T的总贡献
        a = cont.sum(axis = 0)
        #4.计算每个变量对Q的贡献
        I = np.eye(test_data.shape[1])
        e = (np.dot(test_data_norm[index,:],(I - np.dot(p, p.T))))**2
    
        ##画图
        plt.rcParams['font.sans-serif']=['SimHei']
        plt.rcParams['axes.unicode_minus'] = False
        font1 = {'family' : 'SimHei','weight' : 'normal','size'   : 23,}
        plt.figure(2,figsize=(16,9))
        ax1=plt.subplot(2,1,1)
        plt.bar(range(test_data.shape[1]),a)
        plt.xlabel(u'变量号',font1)
        plt.ylabel(u'T^2贡献率 %',font1)
        plt.legend()
        plt.show
        ax1=plt.subplot(2,1,2)
        plt.bar(range(test_data.shape[1]),e)
        plt.xlabel(u'变量号',font1)
        plt.ylabel(u'Q贡献率 %',font1)
        plt.legend()
        plt.show()
    
    

    TE_mian:主函数

    import read_TEdat
    import diagnosis_pca as pca
    from sklearn.preprocessing import StandardScaler
    path_test = r'C:\Users\17253\Desktop\组内\K_shape\data\TE\test'
    path_train = r'C:\Users\17253\Desktop\组内\K_shape\data\TE\train'
    data_test, data_train = read_TEdat.read_all_data(path_test, path_train)
    fault02_train, nor_train = data_train[2], data_train[0]
    fault02_test, nor_test = data_test[2], data_test[0]
    
    #数据标准化
    scaler = StandardScaler().fit(nor_train)
    Xtrain_nor = scaler.transform(nor_train)
    Xtest_nor = scaler.transform(nor_test)
    Xtrain_fault = scaler.transform(fault02_train)
    Xtest_fault = scaler.transform(fault02_test)
    # PCA
    t_limit, spe_limit, p, v, v_all, k, p_all = pca.pca_control_limit(Xtrain_nor)
    
    # 在线监测
    t2, spe = pca.pca_model_online(Xtest_fault, p, v)
    
    pca.figure_control_limit(Xtest_fault, t_limit, spe_limit, t2, spe)
    pca.Contribution_graph(fault02_test, nor_train, 600, p, p_all, v_all, k, t_limit)
    print(i)
    

    结果分析

    本次实验选择了故障2的数据作为测试数据d02_te.dat,训练数据使用训练集中的正常数据d00.dat。故障2的具体故障表现为组分B含量发生变化,A/C进料流量比不变(流4),类型为阶跃型。

    T 2 T^2 T2 S P E SPE SPE统计量监测

    最后测试集的 T 2 T^2 T2 S P E SPE SPE统计量如图:
    在这里插入图片描述
    可以看出,在160个样本左右诊断出故障,与实际情况相符(具体的故障数据说明参考TE过程数据

    故障贡献图

    一般变量的贡献越大,说明受其影响越大。
    相关代码如下(diagnosis.Contribution_graph):

    def Contribution_graph(test_data, trian_data, index, p, p_all, v_all, k, t_limit):
        # 贡献图
        index = 160
        #1.确定造成失控状态的得分
        test_data = fault02_test
        data_mean = data_mean = np.mean(Xtrain_nor, 0)
        data_std = np.std(Xtrain_nor, 0)
        test_data_submean = np.array(test_data - data_mean)
        test_data_norm = np.array((test_data - data_mean) / data_std)
        t = test_data_norm[index,:].reshape(1,test_data.shape[1])
        S = np.dot(t,p[:,:])
        r = []
        for i in range(k):
            if S[0,i]**2/v_all[i] > t_limit/k:
                r.append(i)
        print(r)
        #2.计算每个变量相对于上述失控得分的贡献
        cont = np.zeros([len(r),test_data.shape[1]])
        for i in range(len(r)):
            for j in range(test_data.shape[1]):
                cont[i,j] = S[0,i]/v_all[r[i]]*p_all[r[i],j]*test_data_submean[index,j]
                if cont[i,j] < 0:
                    cont[i,j] = 0
        #3.计算每个变量对T的总贡献
        a = cont.sum(axis = 0)
        #4.计算每个变量对Q的贡献
        I = np.eye(test_data.shape[1])
        e = (np.dot(test_data_norm[index,:],(I - np.dot(p, p.T))))**2
    
        ##画图
        plt.rcParams['font.sans-serif']=['SimHei']
        plt.rcParams['axes.unicode_minus'] = False
        font1 = {'family' : 'SimHei','weight' : 'normal','size'   : 23,}
        plt.figure(2,figsize=(16,9))
        ax1=plt.subplot(2,1,1)
        plt.bar(range(test_data.shape[1]),a)
        plt.xlabel(u'变量号',font1)
        plt.ylabel(u'T^2贡献率 %',font1)
        plt.legend()
        plt.show
        ax1=plt.subplot(2,1,2)
        plt.bar(range(test_data.shape[1]),e)
        plt.xlabel(u'变量号',font1)
        plt.ylabel(u'Q贡献率 %',font1)
        plt.legend()
        plt.show()
    

    贡献图

    在这里插入图片描述

    展开全文
  • 1.IMS数据集一般用来做设备可用寿命预测,但是,在故障分类领域,越来越多的人也在使用 原始数据下载官网(https://ti.arc.nasa.gov/tech/dash/groups/pcoe/prognostic-data-repository/#bearing) 2.说明一下...
  • 故障预测 数据 数据获取 数据预处理 模型 CNN LSTM GAN 具体情况特殊处理 数据量较大 数据量不足 特征杂糅
  • 基于matlab轴承故障分析(时频图+功率谱) 二、源代码 clc clear all x1=load('sig1.txt'); x2=load('sig2.txt'); x3=load('sig3.txt'); x4=load('sig4.txt'); x=x1;%sig1.txt fs=15360; N=length(x); t=(0:N-1)/fs...
  • 本文以CWRU轴承故障的振动信号数据库作为模型的训练集和测试集 并根据现有论文的思路和模型框架,用pytorch复现了论文的模型结构和性能,在二分类问题中准确率高达100% 本文在理论方便不再过多赘述,详细可看博主...
  • 本章主要介绍来自凯斯西储大学的轴承实验数据
  • 数据驱动背景下的设备故障预测一、设备故障预测1、基于可靠性模型的故障预测方法2、基于物理模型的故障预测方法3、基于数据驱动的故障预测方法三级目录 一、设备故障预测 设备故障预测是PHM(Prognostics Health ...
  • 一、轴承故障分析简介 1 研究背景 滚动轴承故障占旋转机械故障的大约30%,现阶段主要采用信号分析来进行故障识别。探究形成机械设备故障尤其是滚动轴承的理论和诊断手段及方法是广大科学家们共同追求的目标,无论是...
  • 智能故障诊断(IFD)是指将机器学习理论,如人工神经网络(ANN)、支持向量机(SVM)和深度神经网络(DNN)应用于机器故障诊断。这种方法利用机器学习理论,从采集的数据中自适应地学习机器的诊断知识,而不是利用...
  • 基于BP神经网络的电机故障诊断的研究(MATLAB,程序)(课题申报表,任务书,开题报告,中期检查表,外文翻译,论文25600字,程序,答辩PPT)摘 要随着我国经济发展的不断提高,电气化的应用越来越广,异步电动机因其经济、安全...
  • 本文是对智能故障诊断领域最新综述文章:Intelligent Fault Diagnosis of Machines with Small & Imbalanced Data: A State-of-the-art Review and Possible Extensions 的翻译,欢迎各位同行前来交流!相关链接...
  • 1.UC Merced Land-Use(用于土地利用研究的可见光遥感图像数据集,图片取自USGSNational Map Urban Area Imagery系列) 2.NWPUVHR-10(有10个类别的对象,这些图像是从Google Earth和Vaihingen数据集裁剪而来,并且...
  • 用于对数据进行预处理,二维的CWTS对信号进行拆分后,它能维持信号在时域和频域上的所有信息 然后根据机器的转速,对二维信号作适当的大小裁剪,裁剪后的数据才作为CNN的输入 CWT原理 CWT,即连续小波变换,能把...
  • 临近毕业,我已经把这些算法的MATLAB代码全部封装好,只需要更换数据即可全部实现。另外大部分的语句都有代码注释,方便易懂!现将一些重要、好用的算法和经验跟大家分享。 第一,这些年在机械故障诊断中,我总结了...
  • UDS诊断中DTC的故障Status解析

    千次阅读 2021-04-14 19:01:56
    当控制器(ECU)运行过程中出现需求规范中所定义的故障类型,控制器通过相应的判定机制来判断这个故障是否达到一定阈值,满足产生DTC的条件(需要将DTC以及Status位存储在ECU内存中)。因此首先明白判定机制。 ...
  • 基于多通道的一维卷积神经网络故障诊断

    千次阅读 热门讨论 2021-04-07 15:38:09
    本次采用的PHM 2009 Challenge Data的全套齿轮箱数据集进行实验分析,包括齿轮、轴承以及轴的故障。其实验平台如下图所示: 本次选用50HZ的转速下低负载通道1的振动信号数据进行构建数据集,每类样本长度为1024,每...
  • 本发明涉及系统故障诊断技术领域,具体地说,涉及一种基于CNN-LSTM深度学习方法及多属性时序数据故障诊断方法。背景技术:大型系统,特别是工业系统,其运行是十分复杂的,其运行涉及到对多个属性的控制。要准确...
  • 系统故障

    2021-07-08 01:56:41
    在计算机中,系统故障是指系统在运行过程中,由于某种原因,造成系统停止运行,以致事务在执行过程中以非正常的方式终止,致使内存中的信息丢失,而存储在外存上的数据未受影响。2017年12月1日,《公共服务领域英文...
  • 1D CNN处理振动数据实现轴承不同故障诊断-python代码

    千次阅读 热门讨论 2021-06-21 11:15:27
    数据来自实验室转子齿轮传动实验台,使用三轴振动传感器,共采集了轴承滚动体、外圈、内外混合、正常状态下的四种数据,每种状态,共采集到5000个数据点,因此对应的csv文件包含3列,5000行,三列分别为X,Y,Z三个...
  • 畅通无阻的网络性能是许多 NetOps 活动的核心目标,其中之一是通过使用数据包数据和网络流来解决网络性能问题。当聚合和分析流和数据包数据时,网络洞察力可以引导团队找到更好的解决方案。对于每次性能下降时都依赖...
  • 来源 |直观学机械2014年微软首次提出了水下数据中心概念,当时认为这个概念有望为沿海人口提供高速云服务,并节省能源。2015年,微软在太平洋开展为期105天的部署过程中证明了水下数据中...
  • 汽车故障诊断仪是维修中非常重要的工具(图1),一般具有如下几项或全部的功能:①读取故障码。②清除故障码。③读取发动机动态数据流。④示波功能。⑤元件动作测试。⑥匹配、设定和编码等功能。⑦英汉辞典、计算器及...
  • 网络存储技术Windows server 2012 (项目五 存储服务器的数据快照计划与故障还原) 项目视频 网络存储技术Windows server 2012 (项目五 存储服务器的数据快照计划与故障还原) 实验环境: 虚拟化软件:...
  • 默纳克查历史故障

    千次阅读 2021-08-05 02:29:34
    1.默纳克3000主板上可以看历史故障吗3000主板故障记录只有故障记录,和最后一次故障记录,没有历史故障记录。FC-06第一次故障记录,FC-08第2次故障记录,依次类推到10 FC-26最近一次故障记录。 硬件常见的故障有:...
  • 01 引言 近些年,智能制造在流程工业生产中得到了示范应用,其重要性逐渐深入人心。国内外学者对于智能制造的理解和定义不尽相同。...预测性维护是以状态为依据的维修,是对设备进行连续在线的状态监测及数据分析,
  • 怎么判断汽车ECU出现故障

    千次阅读 2020-12-29 13:22:58
    展开全部1 ECU检修要点在ECU检修之前,必须注意32313133353236313431303231363533e78988e69d8331333337613837几个要点:(1)认真检查外电路,排除外电路故障,确认外电路正常之后方可对ECU进行检修;(2)检查ECU外部...
  • 1. 数据描述 齿轮箱数据来自PHM2009年的数据挑战赛,官网:PHM2009数据挑战赛。所测试的齿轮包括一组直齿轮和斜齿轮,本...采用人工注入故障的方式,共有8种故障类型,如下表。 实验时工况为:转速分别设置为1800rpm,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 621,396
精华内容 248,558
关键字:

故障数据