基于Clementine的计算机状态监测研究

2015-12-01 07:56夏日白雪
长江大学学报(自科版) 2015年1期
关键词:变化率神经网络功率

夏日,白雪

(安徽财经大学管理科学与工程学院,安徽 蚌埠233000)

Clementine作为一个数据挖掘软件,给运营商创造了很好的数据处理应用平台,在此平台下,运营商可以有效使用一些商业技术准确、快捷地建立预测模型,并将此预测模型应用于商业领域。现代化工业系统结构复杂、集成度高,对设备的安全性、可靠性提出了更高要求。随着计算机的迅猛发展和信息化的深入,计算机在运行过程中将产生大量数据,而这些数据为基于数据的状态监测提供了良好平台。计算机已经成为人们交际、办公和学习不可缺少的日用工具,因而计算机的状态监测和故障预测变得越来越重要,可提高企业的工作效率和经济效益,也可以减少网络因故障而造成的经济损失。

近年来,一些学者对计算机状态监测作了相关研究。张国斌等[1]介绍了一个计算机状态监测与故障诊断系统的组成及其功能。该数据由机组数据采集器、数据分析处理工作站、通信网络及故障诊断中心等4大部分组成。曹源[2]基于隐马尔科夫模型(Hidden Markov Model,HMM)提出了状态监测和故障诊断的原理与基本流程。通过观测数据的提取与降维、正常态模型训练与改进、故障态模型训练等一系列措施,实现了两模冗余安全计算机的状态监测,对正常态与时钟偏离1%~10%等7种不同条件进行监测,认为监测方法能够有效实现安全计算机健康状态的检测,为铁道信号安全计算机监测技术提供理论支撑。孙海善等[3]用Delphi语言访问电脑主板的LPC(Low Pin Count)超级IO接口,获取基于W83627主板计算机的环境参数,通过计算显示计算机各路工作电压、CPU温度和风扇转速、主板温度,以及系统风扇转速等数据,实现计算机状态的监测。但目前还缺乏神经网络模型与C5.0模型的性能对比研究。为此,笔者基于Clementine软件和计算机运行数据对比了神经网络模型与C5.0模型的性能。这些数据包括正常状态对应的数据和故障状态对应的数据,将这些数据分为2组,一组数据用于训练神经网络和规则集,另一组数据用于测试经过训练的模型,由此检测模型的可行性。

1 神经网络

1.1 神经网络的概念

神经网络(Neural Networks)起源于人们对生物神经元的研究,可以分为生物神经网络(Biological Neural Networks)和人工神经网络(Artificial NeuralNetworks,简写为ANNs)[4]。神经网络是模拟人类实际的神经网络,神经网络在系统识别、模式识别和智能控制等领域有着广泛的应用前景,特别在智能控制中,随着智慧城市渗透到人们生活的各个方面,因而智能控制的应用特别广泛。

1.2 神经网络的优点

神经网络有很强的非线性拟合能力,可映射任意复杂的非线性关系,而且学习规则简单,便于计算机实现。神经网络以分布式表示信息,任何规则都可以变换成数的形式,从而便于知识的组织与管理,具有很强的鲁棒性、记忆能力、非线性映射能力以及强大的自学习能力,在一定程度上模拟专家凭直觉解决不确定性问题的过程,如模糊因果关系等,因此有很大的应用市场。

1.3 神经网络应用于计算机状态监测的可行性

近年来神经网络的研究发展迅速,人工神经网络以其诸多的优点越来越多地运用于设备状态监测和故障诊断中。基于神经网络的故障诊断问题可以看成模式识别,通过对一系列的数据进行测量来完成。

人工神经网络应用于设备的状态监测和故障诊断有3个理由[5]:训练过的神经网络能够存储有关过程的知识,能直接从定量、历史的故障信息中学习;人工神经网络具有滤除噪音及在有噪声情况下得出正确结论的能力,可以训练人工神经网络来识别故障信息,使其能在噪声环境中进行有效工作;人工神经网络具有分辨故障原因及故障类型的能力。

2 建立模型

应用SPSS公司的商业智能分析软件Clementine来分别构建神经网络模型和C5.0决策树模型。

2.1 商业理解

现代化的工业结构复杂、集成度高,因而对设备的安全性和可靠性也提出了更高要求,随着计算机检测技术的进步,计算机在运行过程将产生大量数据,通过这些数据来建立模型,为基于数据的计算机状态监测提供良好的平台,由此监测计算机的状态,从而减少因计算机运行状况不良所导致的损失。因此对计算机的状态信息进行检测以及识别和预测故障显得越来越重要。计算机正常运行状态会产生大量信息数据,可以运用SPSS公司的商业智能软件Clementine对数据进行选择、清理和重构,对计算机所产生的时间序列数据进行训练,生成相应的神经网络模型节点和C5.0规则集模型节点。再利用数据来检测这个模型,若是模型检测成功,则可以运用该模型监测未来的计算机的状态,从而避免或减少计算机所产生的故障。

2.2 检查数据

检查数据用于确定哪些属性可能与相关状态的预测或识别有关。笔者采集了2组数据,这些数据是在计算机运行过程中所产生的正常记录数据和故障记录数据,一组数据用于训练神经网络和规则集,一组数据用于测试经过训练的模型,由此检测模型的可行性。这些记录包括时间、功率、温度、压力、正常工作时间、状态、结果(数据结果为0时是计算机正常的运行记录,数据结果为101 202 303时为非正常的运行记录)。第一部分就是在Clementine软件中从Var.File节点读取数据文件,并运用Selete节点将输出的结果设为101 202 303,并在每一种错误结果下应用Plot节点表示出时间与功率、时间与温度的二维关系。通过对数据的分析可知,温度和功率是影响结果的主要因素,利用温度和功率下面的流可绘制与单独图形中的3个不同错误代码相关联的时间序列,下面是不同错误代码的温度和功率的曲线图,如图1所示。

图1清楚地显示202错误与101错误和303错误区分开来的特性曲线。202错误显示了随着时间的推移温度不断上升且功率发生波动。而其他2个错误则未显示,但是用于区分101和303错误的特性曲线却不是很清晰,这2个错误都显示了平滑的温度曲线和功率的下降,但303错误的功率下降显得更加急剧一些。从而可以得出温度和功率的变化和变化率以及波动存在和波动程度,都与预测和区别故障有关。因此应将这些属性添加到数据,然后再应用于学习系统。

2.3 数据准备

1)选择数据。数据是通过虚拟构建的时间序列数据,影响计算机状态监测的变量有时间、功率、温度、压力(0表示正常,1表示瞬时压力报警)、正常工作时间(上次运行时间)、状态(其中0表示正常情况,发生错误时代码为101、202和303)、结果。然后将这些数据导入到具有强大数据统计分析的SPSS数据文件1中,作为数据挖掘的数据源。

图1 Clementine不同错误代码的温度和功率的曲线图

2)数据重构。在流中使用大量的导出节点,生成新的变量温度瞬时变化率、功率瞬时变化率、功率变化情况的标志(如果上一个记录和本记录中功率按相反的方向变化即功率的峰值或波谷值,则此值为真)、功率的状态(起始为稳定,当检测到2个连续的功率波动时,切换为波动状态。仅当5个时间区间内没有出现功率波动或重置时间时,切换为稳定状态。)、最近5个时间区的温度瞬时变化率的平均值、最近5个时间区的功率瞬时变化率的平均值等。并丢弃每个时间序列的第一个记录,以避免在功率和温度的边界处出现大的或者不正确的跳跃。且过滤掉字段,只保留正常工作时间、状态、结果、压力报警、功率的状态、最近5个时间区的温度瞬时变化率的平均值、最近5个时间区的功率瞬时变化率的平均值等字段。

3)格式化数据。数据转换是应用简单的数学公式或学习曲线变换度量方法,将数据转换到统一的度量范围内,达到数据分析的目的。笔者运用神经网络和C5.0算法来构建模型,因此数据处理应该适应这2种算法的数据类型。数据准备的过程如图2所示。

2.4 学习

对数据文件1中的数据进行C5.0规则和神经网络训练。所谓神经网络的训练是指通过一定的算法调整网络的结构(主要是调节权值),使网络的输出与预期值相符,这样的过程就是神经网络的训练过程。训练网络需要一段时间,但可以早些中断训练以保存生产合理结果的网络,学习完成后则生成2个节点,一个节点表示神经网络,另一个节点表示规则,如图3所示。

图2 数据准备

图3 模型

2.5 测试

使用独立测试数据测试经过训练的系统。将数据文件1生成的模型节点添加到现有的流后,插入类型节点并将其连接到生成的神经网络,再将网络连接到生成的规则,然后将规则连接到一个新的分析节点,最后编辑原始源节点读取数据文件2文件,如图4所示。

执行上面的分析节点将生成可反映经过训练的网络和规则的准确性的图标,如图5所示。神经网络的预测结果与实际的结果相比较正确率是99.64%,而C5.0算法的预测结果与实际的结果相比较正确率为99.68%,因而神经网络算法和C5.0算法的预测结果的准确度都比较高。神经网络的预测结果与C5.0决策树的预测结果相比较,两者一致性为99.81%,总体与实际结果的一致性为99.78%,所以C5.0算法预测结果的准确性要比神经网络预测结果的准确性高。

3 状态监测的结果分析

从C5.0规则集模型中可知,主要影响计算机状态监测的变量有温度变化率平均值、功率变化率平均值、功率变化状态3个变量:当功率瞬时变化率的平均值大于-0.2,功率的波动状态为稳定状态且温度瞬时变化率的平均值不大于0时,计算机的状态为正常情况;当功率瞬时变化率的平均值不大于-0.2,功率的波动状态为稳定状态且温度瞬时变化率的平均值不大于0时,计算机的状态为101错误;当功率的波动状态为不稳定状态时,计算机的状态为202错误;当功率瞬时变化率的平均值不大于-0.2且正常工作时间大于284时,计算机的状态为303错误。

图4 测试

图5 测试结果

4 结语

采用神经网络算法和C5.O算法分别建立相应的神经网络节点模型和C5.0规则集节点模型来检测计算机状态及识别和预测计算机的故障,具体而言是识别和预测哪些变量的变化能够引起计算机的哪些错误状态。测试结果表明了神经网络算法和C5.0算法预测结果的准确性、易用性和优越性。C5.0算法与神经网络算法相比,其结果更容易解释,且可以自动删除无意义的输入字段,其主要是根据结构变量值对数据按输入进行细分,具有决策树和规则集2种结果形式。通过以上模型的建立,得到了一个效率较高的识别和预测故障的规则,可以帮助计算机的使用者提高使用效率,避免因故障而造成的精神和经济等方面的损失。

[1]张国斌,王平.计算机状态监测与故障诊断系统 [J].机械与电子,1996(5):6~8.

[2]曹源,马连川,李旺.铁道信号系统安全计算机状态监测方法 [J].交通运输工程学报,2013,13(3):13~19.

[3]孙海善,黄晓燕.Delphi实现基于W83627的计算机状态监测 [J].电脑编程技巧与维护,2014(13):89~92.

[4]Jiawei Han,Kamber M.数据挖掘概念与技术 [M].范明,孟晓峰,译.北京:机械工业出版社,2008:189~195.

[5]霍志红,张志学,郭江,等.基于神经网络的故障诊断研究 [J].工业控制计算机,2001,14(10):19~21.

猜你喜欢
变化率神经网络功率
『功率』知识巩固
功与功率辨
追本溯源识功率
基于电流变化率的交流滤波器失谐元件在线辨识方法
例谈中考题中的变化率问题
神经网络抑制无线通信干扰探究
做功有快慢功率来表现
基于神经网络的中小学生情感分析
相位差变化率的快速高精度测量及精度分析
基于神经网络的拉矫机控制模型建立