本发明涉及故障监测技术领域,尤其涉及一种通用的基于数据挖掘的机器学习方法、装置以及系统。
背景技术:
截至目前,设备的维护方式有三种,一是定期维护,此种维护方法成本高,需要离线检修;二是故障后维护,这种方式是在设备造成了损毁或其他更大损失,属于事后维修;三是在设备运行时监测设备的某些特征量,以确定设备状态(良好,故障)。
显然运行时监测设备具有较大优势,维修成本较低的同时也有效减少了维护的时间以及因故障导致的设备损坏;但现今存在的在线监测报警算法通用性差,不适用于不同类型的设备,模拟故障试验成本高,故障样本难以获得,且不能满足多样化需求,例如,训练时故障样本很难获得,样本存在不平衡问题;故障种类很多,很难穷尽;数据量大,故障定位困难;故障报警的实时性要求高因此目前急需一种通用的基于数据挖掘的机器学习方法。
技术实现要素:
针对上述的技术问题,克服现有技术存在的不足,本发明提供一种通用的基于数据挖掘的机器学习方法、装置以及系统,实现对不同类型的电子设备故障的准确判断,其故障检测精确到周期,方便维护、节约成本。
具体的,本发明提供一种通用的基于数据挖掘的机器学习方法,包括以下步骤:
以固定频率采样电子设备的运行工作的每一个工作指标的采样数值,并对每一个工作指标采样到的所有采样数值均组成该工作指标对应的时序序列;
对每一个工作指标对应的时序序列进行特征选择,从中确定与所述电子设备运行状态相关度最大的工作指标以及所述相关度最大工作指标序列时域特征值,并以确定的所述最大的工作指标对应的采样数值为基础训练数据;
根据所述基础训练数据的时序特征量计算出分组周期,并以所述分组周期对所述基础训练数据进行分组,并根据时间顺序确定每一组的序号;
通过计算每一基础训练数据组的序列时域特征值,判断该基础训练数据组是否属于故障所在组,并记录故障所在组的组序号;
根据故障所在组的组序号,按时间顺序将分组后的基础训练数据组划分成训练样本组和测试样本组;其中,所述训练样本组包括的每一基础训练数据组均不属于故障所在组;所述测试样本组包括至少一个基础训练数据组是故障所在组;
根据非线性状态评估算法,对训练样本组中的每一基础训练数据组进行计算获得故障阈值;
根据所述故障阈值,判断在所述测试样本组中判定为存在故障的基础训练数据组的组序号是否与记录的组序号是否一致;
若是,则以所述故障阈值作为判定所述电子设备运行是否存在故障的标准工作指标。
作为进一步,所述对每一个工作指标对应的时序序列进行特征选择,从中确定与所述电子设备运行状态相关度最大的工作指标,具体包括:
提取每一个工作指标对应的序列时域特征值,将全部的序列时域特征值合并成时序序列的特征全集;采用序列后向选择算法对时序序列的特征全集进行特征选择;将经特征选择后的提取到的序列时域特征值带入评价函数,得到最优的序列时域特征值;将所述最优的时域特征值对应的工作指标确定为与所述电子设备运行状态相关度最大的工作指标。
作为进一步,所述根据所述基础训练数据计算出分组周期,具体包括:
将所述基础训练数据的序列时域特征值进行傅里叶变换,获取所述基础训练数据对应的强度频谱;
从所述强度频谱中筛选幅值最大的频率分量,将所述幅值最大的频率分量的倒数作为分组周期。
作为进一步,所述通过计算每一组的基础训练数据的序列时域特征值,判断该组的基础训练数据是否属于故障所在组,具体包括:
计算每一组的基础训练数据的方差以及均值,作为每一组基础训练数据的物理特征值,记录落入物理特征值偏差范围的基础训练组的序号;将所述落入物理特征值偏差范围的基础训练数据判定为该组序号对应的基础训练数据组属于故障所在组。
作为进一步,所述根据非线性状态评估算法,对训练样本组中的每一基础训练数据组进行计算获得故障阈值,具体包括:
所述测试样本组中的任一时刻的数据为观测向量;
提取若干个所述训练样本组中的历史观测向量;
将所述若干个历史观测向量构建过程记忆矩阵;
将所述观测向量输入至所述记忆矩输出得到预测向量;
计算除所述故障所在组时刻的观测向量外每一观测向量以及与其对应的预测向量的差值,确定所处差值中最大的差值为所述故障阈值。
作为进一步,所述观测向量与所述预测向量的关系表达式为
本发明还提供一种通用的基于数据挖掘的机器学习装置,
包括采样单元,所述采样单元以固定频率采样电子设备的运行工作的每一个工作指标的采样数值,并对每一个工作指标采样到的所有采样数值均组成该工作指标对应的时序序列;
特征选择单元,所述特征选择单元用于对每一个工作指标对应的时序序列进行特征选择,从中确定与所述电子设备运行状态相关度最大的工作指标以及所述相关度最大工作指标的序列时域特征值,并以确定的所述最大的工作指标对应的采样数值为基础训练数据;
分组周期单元,所述分组周期单元根据所述基础训练数据的时序特征量计算出分组周期,并以所述分组周期对所述基础训练数据进行分组,并根据时间顺序确定每一组的序号;
故障所在组判断单元,所述故障所在组判断单元通过计算每一基础训练数据组的物理特征值,判断该基础训练数据组是否属于故障所在组,并记录故障所在组的组序号;
测试训练分组单元,所述测试训练分组单元根据故障所在组的组序号,按时间顺序将分组后的基础训练数据组划分成训练样本组和测试样本组;其中,所述训练样本组包括的每一基础训练数据组均不属于故障所在组;所述测试样本组包括至少一个基础训练数据组是故障所在组;
故障阈值计算单元,所述故障阈值计算单元用于根据非线性状态评估算法,对训练样本组中的每一基础训练数据组进行计算获得故障阈值;
根据所述故障阈值,判断在所述测试样本组中判定为存在故障的基础训练数据组的组序号是否与记录的组序号是否一致;
若是,则以所述故障阈值作为判定所述电子设备运行是否存在故障的标准工作指标。
作为进一步,所述采样单元进一步用于,提取每一个工作指标对应的序列时域特征值,将全部的序列时域特征值合并成时序序列的特征全集;采用序列后向选择算法对时序序列的特征全集进行特征选择;将经特征选择后的提取到的序列时域特征值带入评价函数,得到最优的序列时域特征值;将所述最优的时域特征值对应的工作指标确定为与所述电子设备运行状态相关度最大的工作指标。
作为进一步,所述分组周期单元进一步用于,
将所述基础训练数据的序列时域特征值进行傅里叶变换,获取所述基础训练数据对应的强度频谱;
从所述强度频谱中筛选幅值最大的频率分量,将所述幅值最大的频率分量的倒数作为分组周期。
所述故障所在组判断单元进一步用于,
计算每一组的基础训练数据的方差以及均值,作为每一组基础训练数据的物理特征值,记录落入物理特征值偏差范围的基础训练组的序号若记录的组序号记录在标准之下,则判定该组序号对应的基础训练数据组属于故障所在组。
所述故障阈值计算单元进一步用于计算除所述故障所在组时刻的观测向量外每一观测向量以及与其对应的预测向量的差值,确定所处差值中最大的差值为所述故障阈值;
所述测试样本组中的任一时刻的数据为观测向量;
提取若干个所述训练样本组中的历史观测向量;
将所述若干个历史观测向量构建过程记忆矩阵;
将所述观测向量输入至所述记忆矩输出得到预测向量;
所述观测向量与所述预测向量的关系表达式为
本发明提供一种通用的基于数据挖掘的机器学习系统,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例整体流程示意图;
图2为本发明第一实施例中ups三相电源的c相输出电压强度频谱示意图;
图3为本发明第一实施例中ups三相电源的故障阈值示意图。
图4为本发明第二实施例整体结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供多种实施例,具体的请参阅图1(s10-s50流程步骤),图1为本发明的第一种实施例,其包括以下步骤,
s10,以固定频率采样电子设备的运行工作的每一个工作指标的采样数值,并对每一个工作指标采样到的所有采样数值均组成该工作指标对应的时序序列;
本实施例中ups三相电源作为电子设备,对工作指标、采样数值、时序序列做出解释;ups三相电源包括若干工作指标,包括电池电压,输入频率,a相输入电压,b相输入电压,c相输入电压,传感器编号,a相输出电流,b相输出电流,c相输出电流,输出频率,a相输出负载,b相输出负载,c相输出负载,输出状态(正常0/异常1),a相输出电压,b相输出电压,c相输出电压,市电状态(正常0/失败1))和样本的状态标注(正常、告警);分别将这若干个工作指标以每10分钟采样一次的固定频率进行采集;将每一工作指标的采样数值,按时间顺序就行排列形成时序数据。
s20,对每一个工作指标对应的时序序列进行特征选择,从中确定与所述电子设备运行状态相关度最大的工作指标以及所述相关度最大工作指标序列时域特征值,并以确定的所述最大的工作指标对应的采样数值为基础训练数据;
上述提及的特征选择方式,可以采用序列后向选择算法等通用数据算法;
具体的,所述对每一个工作指标对应的时序序列进行特征选择,从中确定与所述电子设备运行状态相关度最大的工作指标,包括:提取每一个工作指标对应的时序序列的特征值,将全部的序列时域特征值合并成时序序列的特征全集;采用序列后向选择算法对时序序列的特征全集进行特征选择;将经特征选择后的提取到的序列时域特征值带入评价函数,提出分类效果差的序列时域特征值得到最优的时序序列特征值;将所述最优的特征值对应的工作指标确定为与所述电子设备运行状态相关度最大的工作指标。在ups三相电源的示例中,“c相输入电压”为最优特征,即c相输入电压与ups电源状态之间的相关度最大;换言之,ups电源出现故障时,c相输入电压也同样出现异常;ups电源正常运行,c相输入电压也同样正常运行,故可以通过检测c相输入电压的工作状态来反应整个ups电源的工作状态是否故障。
具体的述根据所述基础训练数据计算出分组周期,包括:将所述基础训练数据进行傅里叶变换,获取所述基础训练数据对应的强度频谱;从所述强度频谱中筛选幅值最大的频率分量,将所述幅值最大的频率分量的倒数作为分组周期。结合在ups三相电源的示例,如图2所示,在将所述c相输入电压的时序序列进行傅里叶变换后,其最大的频率分量在f=1.16e-0.5hz处,其最大频率分量的倒数为23.9532小时,约等于24小时,故此得到ups三相电源的分组周期为24小时,即一天等于一分组周期。
s30,根据所述基础训练数据的时序特征量计算出分组周期,并以所述分组周期对所述基础训练数据进行分组,并根据时间顺序确定每一组的序号;通过计算每一基础训练数据组的序列时域特征值,判断该基础训练数据组是否属于故障所在组,并记录故障所在组的组序号;
计算每一组的基础训练数据的方差以及均值,作为每一组基础训练数据的物理特征值,记录落入物理特征值偏差范围的基础训练组的序号;将所述落入物理特征值偏差范围的基础训练数据判定为该组序号对应的基础训练数据组属于故障所在组。
结合ups三相电源的示例,对一个周期组,即一天内的c相输出电压的时序序列进行均值和方差的计算,确定故障所在的周期;假设对ups三相电源中的c相输出电压进行了81天的监测,在第13天时出现故障;换言之第13天就是故障所在组,这里的物理特征值所求取的数据是周期内具体的时段,例如,故障是发生在第13故障周期的8点20分,但是周期内的具体时段的时间间隔过短,导致分组过多;故按时间层级展现,例如追踪故障的历史发生时间,先显示的是故障天(故障周期),再显示的是故障周期内的准确故障时段。
s40,根据故障所在组的组序号,按时间顺序将分组后的基础训练数据组划分成训练样本组和测试样本组;其中,所述训练样本组包括的每一基础训练数据组均不属于故障所在组;所述测试样本组包括至少一个基础训练数据组是故障所在组;
结合ups三相电源的示例,假设第13天为故障天(第13组周期为故障所在组),在基础训练数据组分组以第30天为划界,前30天为测试样本组,后51天为训练样本组;这里值得注意的是,实施例中所提及的分组间隔第30天仅是示例并不限制本领域技术人员划分测试样本组、基础训练数据组的选择。
s50,根据非线性状态评估算法,对训练样本组中的每一基础训练数据组进行计算获得故障阈值;
根据所述故障阈值,判断在所述测试样本组中判定为存在故障的基础训练数据组的组序号是否与记录的组序号是否一致;
若是,则以所述故障阈值作为判定所述电子设备运行是否存在故障的标准工作指标。
“根据非线性状态评估算法,对训练样本组中的每一基础训练数据组进行计算获得故障阈值”,具体包括,所述测试样本组中的任一时刻的数据为观测向量;提取若干个所述训练样本组中的历史观测向量;将所述若干个历史观测向量构建过程记忆矩阵;将所述观测向量输入至所述记忆矩输出得到预测向量;计算除所述故障所在组时刻的观测向量外每一观测向量以及与其对应的预测向量的差值,确定所处差值中最大的差值为所述故障阈值;这里值得注意的是,除去故障所在组时刻观测向量的每一观测向量均为ups三相电源正常工作的情况,在正常工作情况中,选出其最不正常的差值,将正常工作状况下最不正常的差值作为故障标准,即为故障阈值。
如图3所示,结合ups三相电源的示例,将后51天的训练样本组中每连续三天的特征值做平均处理形成17组特征值用于计算相似度,用前30天作为测试样本组,进行非线性状态评估,得到故障阈值为300,并且确定了故障所在的周期组(天)为第13天。
所述观测向量与所述预测向量的关系表达式为
假设某一过程或设备共有n个相互关联的变量,设在某一时刻i,观测到的n个变量记为观测向量,即
x(i)=[x1,x2,...,xn]t
过程过程记忆矩阵的构造是nonlinearstateestimatetechnology建模的第一个步骤。采集m个历史观测向量,组成过程过程记忆矩阵为
过程过程记忆矩阵中的每一列观测向量代表设备的一个正常工作状态。经过合理选择的过程过程记忆矩阵中的m个历史观测向量所张成的子空间(用d代表)能够代表过程或设备正常运行的整个动态过程。因此,过程过程记忆矩阵的构造实质就是对过程或设备正常运行特性的学习过程。
nset的输入为某一时刻过程或设备的观测向量y0bs,模型的输出为对该输入的预测向量yest。构造该模型的输入和输出预测向量的残差为
r=yobs-yest
对残差进行极小化,即
则可以对任何一个输入得观测向量y0bs生成一个m维的权值向量为
w=(dtd)-1dtyobs
使得
yest=d(dtd)-1dtyobs
实际问题常有“非线性”,为了表征向量间的“相似程度”将dtd和dtyobs中的乘法运算改为
即最终结果为:
如图4所示,图4为本发明第二实施例,提供一种通用的基于数据挖掘的机器学习装置,包括采样单元,所述采样单元以固定频率采样电子设备的运行工作的每一个工作指标的采样数值,并对每一个工作指标采样到的所有采样数值均组成该工作指标对应的时序序列;
特征选择单元,所述特征选择单元用于对每一个工作指标对应的时序序列进行特征选择,从中确定与所述电子设备运行状态相关度最大的工作指标以及所述相关度最大工作指标的序列时域特征值,并以确定的所述最大的工作指标对应的采样数值为基础训练数据;
分组周期单元,所述分组周期单元根据所述基础训练数据的时序特征量计算出分组周期,并以所述分组周期对所述基础训练数据进行分组,并根据时间顺序确定每一组的序号;
故障所在组判断单元,所述故障所在组判断单元通过计算每一基础训练数据组的物理特征值,判断该基础训练数据组是否属于故障所在组,并记录故障所在组的组序号;
测试训练分组单元,所述测试训练分组单元根据故障所在组的组序号,按时间顺序将分组后的基础训练数据组划分成训练样本组和测试样本组;其中,所述训练样本组包括的每一基础训练数据组均不属于故障所在组;所述测试样本组包括至少一个基础训练数据组是故障所在组;
故障阈值计算单元,所述故障阈值计算单元用于根据非线性状态评估算法,对训练样本组中的每一基础训练数据组进行计算获得故障阈值;
根据所述故障阈值,判断在所述测试样本组中判定为存在故障的基础训练数据组的组序号是否与记录的组序号是否一致;
若是,则以所述故障阈值作为判定所述电子设备运行是否存在故障的标准工作指标。
所述采样单元进一步用于,提取每一个工作指标对应的序列时域特征值,将全部的序列时域特征值合并成时序序列的特征全集;采用序列后向选择算法对时序序列的特征全集进行特征选择;将经特征选择后的提取到的序列时域特征值带入评价函数,得到最优的序列时域特征值;将所述最优的时域特征值对应的工作指标确定为与所述电子设备运行状态相关度最大的工作指标。
所述分组周期单元进一步用于,
将所述基础训练数据的序列时域特征值进行傅里叶变换,获取所述基础训练数据对应的强度频谱;
从所述强度频谱中筛选幅值最大的频率分量,将所述幅值最大的频率分量的倒数作为分组周期。
所述故障所在组判断单元进一步用于,
计算每一组的基础训练数据的方差以及均值,作为每一组基础训练数据的物理特征值,记录落入物理特征值偏差范围的基础训练组的序号若记录的组序号记录在标准之下,则判定该组序号对应的基础训练数据组属于故障所在组。
所述故障阈值计算单元进一步用于计算除所述故障所在组时刻的观测向量外每一观测向量以及与其对应的预测向量的差值,确定所处差值中最大的差值为所述故障阈值;
所述测试样本组中的任一时刻的数据为观测向量;
提取若干个所述训练样本组中的历史观测向量;
将所述若干个历史观测向量构建过程记忆矩阵;
将所述观测向量输入至所述记忆矩输出得到预测向量;
所述观测向量与所述预测向量的关系表达式为
本发明第三实施例还提供了一种通用的基于数据挖掘的机器学习系统,该实施例的学习系统包括,处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序,例如实现多屏显示系统的程序;
示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本实施例。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在多屏显示系统的控制方法终端设备中的执行过程。
所述学习系统可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。
所述学习系统可包括,但不仅限于,处理器、存储器、显示器。本领域技术人员可以理解,所述示意图仅仅是学习系统的示例,并不构成对学习系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如学习系统还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是学习系统的控制中心,利用各种接口和线路连接整个学习系统的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现学习系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,学习系统集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。