一种基于k‑means的不平衡数据工业故障分类方法与流程

文档序号:11216947阅读:1332来源:国知局
一种基于k‑means的不平衡数据工业故障分类方法与流程
本发明属于工业过程控制领域,尤其涉及不平衡类数据的工业过程故障分类方法。
背景技术
:在工业故障分类的工作中,一些常用的分类方法都会有一个使用前提,即在训练集中各类数据的数据量相当。但是现实的情况往往不是这样,当某一类数据很多,或者某一类数据很少,即不平衡类数据出现时,直接使用传统的分类方法则会产生很大的分类误差。近年来,不平衡类数据的研究一直是一个热点,现存的方法主要是从两个方向去解决,一个是从算法层面,一个是从采样层面,本发明主要针对采样层面对传统分类方法进行改进。针对采样的改进方法主要分为两类,一类是过采样,即对少数类重采样以达到数据的平衡,此种方法的一大弊端就是会产生增加系统方法,产生过拟合现象,实际应用效果不是很理想;另一类是欠采样,即根据一定的规则选取多数类中的一部分作为训练数据,其他的数据则舍弃不用,以此来达到数据的平衡,此种方法由于忽略了一部分多数类数据信息,则会导致训练出来的分类器精度不够。本发明的优势在于,在既没有没有改变原数据样本的结构,也没有舍弃或者人为增加样本数据的前提下,训练出效果较好的分类器。技术实现要素:本发明的目的在于针对现有技术的不足,提供一种基于k-means的不平衡数据工业故障分类方法。本发明的目的是通过以下技术方案来实现的:一种基于k-means的不平衡数据工业故障分类方法,包括以下步骤:(1)利用系统收集过程正常工况的数据以及各种故障数据组成建模用的有标签训练样本集:假设故障类别为c,在加上一个正常类,每个样本建模数据的总类别为c+1,即其中ni为训练样本数,m为过程变量数,r为实数集。所以完整的有标签训练样本集为,xl=[x1;x2;...;xc+1],记录所有数据的标签信息,正常工况下标记标签为1,故障1标签为2,以此类推,即yi=[i,i,...i],i=1,2,...,c+1,完整的标签集为y=[y1;y2;...;yc+1]。其中正常类数据x1为多数类,其余数据均为少数类,不平衡度为n=100,并假设故障类数据的数据量差别不大,即(2)使用k-means聚类方法,将x1分为数量相差不大的n个子集,即x1=[x11;x12;...;x1n],并分别赋予新的标签y1=[y11;y12;...;y1n];(3)将(2)中的n个子类与c个故障类数据结合起来,当做一个(n+c)类的多分类问题的训练集,使用朴素贝叶斯方法建立分类器。(4)使用测试集对(3)中的分类器进行测试,并将标签属于y1的全部归为正常类。本发明的有益效果是:本发明通过对多数类聚类的方法,即在对数据样本处理之后,能够较好的解决不平衡数据分类的问题,同时不改变数据的内部结构,也没有增添或者减少数据,最大程度的保证了原数据样本的特征信息,相较于其他的方法,增加了分类精度,并减少了过拟合现象的发生。附图说明图1为bayes直接处理的结果示意图;图2为基于k-means的bayes处理结果示意图。具体实施方式本发明针对工业过程的故障分类问题,该方法首先使用k-means,并根据不平衡度对数据较多的类进行聚类,将多数类分为n个子类,然后与m个少数类合起来,当做一个(m+n)类的多分类问题,最后根据朴素贝叶斯分类器进行学习。本发明采用的技术方案的主要步骤分别如下:第一步:利用系统收集过程正常工况的数据以及各种故障数据组成建模用的有标签训练样本集:假设故障类别为c,在加上一个正常类,每个样本建模数据的总类别为c+1,即i=1,2...c+1其中ni为训练样本数,m为过程变量数,r为实数集。所以完整的有标签训练样本集为,xl=[x1;x2;...;xc+1],记录所有数据的标签信息,正常工况下标记标签为1,故障1标签为2,以此类推,即yi=[i,i,...i],i=1,2,...,c+1,完整的标签集为y=[y1;y2;...;yc+1]。其中正常类数据x1为多数类,其余数据均为少数类,不平衡度为n=100,并假设故障类数据的数据量差别不大,即第二步:使用k-means聚类方法,将x1分为数量相差不大的n个子集,即x1=[x11;x12;...;x1n],并分别赋予新的标签y1=[y11;y12;...;y1n]。(a)为了将x1分为n个类,选取n个合适的初始均值向量作为每个类别的初始均值向量,即令其中a=1,2,...,n。(b)分别按下式计算计算每个样本与这些均值向量之间的距离,其中j=1,2,...,n1,第j个样本与第a个均值向量之间的欧氏距离为:其中j=1,2,...,n1,a=1,2,...,n。对于样本xj,若dja最小,则将xj划入a类。(c)为了避免出现聚类的结果数据差别较大,无法达到聚类的目的情况出现,我们在(b)中加入一个阈值k,当a类的数据个数已经达到k之后,在此轮之后的距离比较中将dja除去,不予考虑,则此轮不会再向a类增加数据,直到下一轮的计算。(d)经过g次迭代之后,得到n个子类,即x1=[x11;x12;...;x1n],并依次将每个子类的样本标签更换为1,2,..,n,得到y1=[1,2,...,n]。并同时依次更换故障类数据的标签,令yi=[b,b,...,b],其中b=n+1,n+2...,n+c。则此时的训练集为x=[x1;x2;...;xn+c],并设i=1,2...c+n,其中ni为第i类样本的样本个数。同样令每个样本数据i=1,2,...,c+n。第三步:将第二部中的n个子类与c个故障类数据结合起来,当做一个(n+c)类的多分类问题的训练集,使用朴素贝叶斯方法建立分类器。(a)分别计算各个类别中每个维度数据的均值meanic以及方差varic各类的先验概率pi,计算式如下:其中i=1,2,...,c+n,c=1,2,...,m。(b)根据朴素贝叶斯分类原理,对于一个含有u个样本的测试集其中的每个样本zk=[zk1,zk2,...,zkm],计算其属于每个类别的后验概率pki,计算式如下:其中k=1,2,...,u;i=1,2,...,c+n。根据计算出的后验概率,并给样本赋予其中最大的概率的类别标签。第四步:对于第三步中已经分好标签的类别训练集,将标签为1到n的数据样本的标签重新更改为1,即正常类类别,将标签为n+1到n+c的数据样本标签分别更改为2到c+1,即完成了分类器的测试。以下结合一个具体的工业过程的例子来说明本发明的有效性。该过程的数据来自美国te(tennesseeeastman——田纳西-伊斯曼)化工过程实验,原型是eastman化学公司的一个实际工艺流程。目前,te过程己经作为典型的化工过程故障检测与诊断对象被广泛研究。整个te过程包括41个测量变量和12个操作变量(控制变量),其中41个测量变量包括22个连续测量变量和19个成分测量值,它们每3分钟被采样一次。其中包括21批故障数据。这些故障中,16个是己知的,5个是未知的。故障1-7与过程变量的阶跃变化有关,如冷却水的入口温度或者进料成分的变化。故障8-12与一些过程变量的可变性增大有关系。故障13是反应动力学中的缓慢漂移,故障14、15和21是与粘滞阀有关的。故障16-20是未知的。为了对该过程进行监测,一共选取了44个过程变量,如表1所示。接下来结合该具体过程对本发明的实施步骤进行详细地阐述:1、采集正常数据以及4种故障数据作为训练样本数据,进行数据预处理和归一化。本实验中分别选择了正常工况以及故障1、2、6、14作为训练样本,故障1和故障2都是流4中的成分变化。故障6是由流1中的a进料损失所引起的,但是最终会对流4中的a成分产生影响。故障14位产品分离器塔底流量。采样时间为3min,其中正常工况含有标签样本1000个样本,其余故障分类分别选择有标签样本10个。2、将正常工况数据样本按照k-means分为100类,并保证类与类之间的数量差别不大。然后用朴素贝叶斯方法,对加上4类故障数据一共104类的训练集进行学习。3、在线分类测试,并将属于前100类的样本数据规整为正常类,并重设4个故障类数据标签。表1:监控变量说明变量编号测量变量变量编号测量变量1a进料流量22分离器冷却水出口温度2d进料流量23物流6中a摩尔含量3e进料流量24物流6中b摩尔含量4a+c进料流量25物流6中c摩尔含量5再循环流量26物流6中d摩尔含量6反应器进料流速27物流6中e摩尔含量7反应器压力28物流6中f摩尔含量8反应器等级29物流9中a摩尔含量9反应器温度30物流9中b摩尔含量10排放速度31物流9中c摩尔含量11产品分离器温度32物流9中d摩尔含量12产品分离器等级33物流9中e摩尔含量13产品分离器温度34物流9中f摩尔含量14产品分离器塔底流量35物流9中g摩尔含量15汽提塔等级36物流9中h摩尔含量16汽提塔压力37物流11中d摩尔含量17汽提塔塔底流量38物流11中e摩尔含量18汽提塔温度39物流11中f摩尔含量19汽提塔流量40物流11中g摩尔含量20压缩机功率41物流11中h摩尔含量21反应器冷却水出口温度上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改和改变,都落入本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1