时间:2024-08-31
明 震,朱希安
(北京信息科技大学 信息与通信工程学院,北京 100101)
火力发电厂中,凝结水泵被用来在火电热力系统中输送凝汽器内的凝结水。在泵的入口处压力下降,而温度不变时,水就会发生汽化。汽化时泵体振动增大,出口压力、电流急剧下降,水泵无法正常工作[1],即发生凝结水泵汽化故障。目前,关于相关故障的预警还停留在固定阈值检测,或是频次较高的人工巡检中。
发电厂设备长期处于高强度、高温、高压的生产环境中,故障的发生率和危害性较大,实时检测设备状态、提前判断设备是否发生故障的预警系统必不可少。可靠的预警系统需要运行人员长期细致地记录故障手册,形成特定类型故障的专家知识库,很难在短时间内实现。在实际生产中,发电厂本身积累了大量的设备监控数据,神经网络通过渐进、逐层的方式替换了原本复杂、人工特定的特征工程,在海量数据的分析中展现出强大的能力。将深度学习技术引入到电厂设备的预警系统中,对故障的事前发现、及时处理,以及确定机组检修时机等方面很有帮助。
现有的电厂预警系统大多对设备的正常运行区间进行数据挖掘和建模。韩万里等[2]对电厂引风机运行数据进行主成分分析(principal component analysis,PCA)降维,再利用多元状态估计进行建模和故障预警;朱朋成等[3]以热力学机理和数据挖掘为基础,确定了磨煤机正常运行的特征参数阈值及预警规则,拥有较高的置信区间;李晓东等[4]采用向量量化(learning vector quantization,LVQ)神经网络对磨煤机设备状态进行预测;肖黎等[5]先采用基于密度的有噪声聚类(density-based spatial clustering of applications with noise,DBSCAN)方法进行状态聚类,再采用随机森林分类法进行建模,同时实现了故障分类和磨煤机寿命的估算。本文以凝结水泵历史运行数据作为输入,结合LSTM网络建立水流量预测模型,实现水泵汽化故障的预警。
传统的循环神经网络会产生梯度消失问题,这就意味着模型难以学习到长期依赖的远距离信息。长短期记忆神经网络(long short-term memory neural network,LSTM-NN)是在循环神经网络的基础上,于1997年由Hochreiter和Schmidhuber 首次提出的一种递归神经网络[6]。LSTM自从被提出以来就被广泛应用于时间序列的相关问题中,在对时序数据,如股票、车流量、生物数量[7-9]等方面进行预测时,和各行业的传统算法对比,都取得了不错的效果。凝结水泵运行数据也属于时序数据,反映了水泵运行状态随时间的变化,适合用LSTM进行处理和预测。LSTM网络的核心部分在于采用独特的控制门结构,由遗忘门、输入门、输出门3种门结构来控制神经网络中隐藏层的记忆单元细胞,如图1所示。
图1 LSTM网络的单个时序单元
遗忘门决定着前一时刻的神经单元有多少信息被舍弃,在t时刻遗忘门的输出函数为ft;输入门it记录当前时刻的某些信息,同时采用tanh激活函数,和遗忘门共同控制记忆细胞的更新;输出门ot控制最终输出ht与记忆细胞信息Ct的逻辑关系,即选择输出记忆细胞中的信息。
(1)
(2)
(3)
(4)
ht=tanh(Ct)·ot
(5)
式中:Wt和Ut分别为当前时刻隐藏层节点和输入数据的权重矩阵;bt为偏置项;σ为Sigmoid激活函数;Ct-1和Ct表示记忆单元细胞中的内容。
模型预测值和真实值的差距称为残差。为了抑制较大孤立残差的不利影响,减少误报次数,本文采用滑动窗口统计法对获得的残差序列进行处理,以得到更恰当的预警阈值。
设残差序列为R:
R=[r1,r2,…,rn]
(6)
对R取一滑动窗口,窗口宽度为N,计算窗口内连续N个残差均值:
(7)
经过窗口滑动,可以得到处理后的残差均值序列。定义故障预警阈值为E:
E=αEmax
(8)
式中:Emax为处理后的残差均值序列中最大值的绝对值;α为预警系数,需要结合实际模型数据以及专家意见进行设定,以期达到最好的预警效果。
本文数据来自于某电厂凝结水泵2020年1月1日至2020年10月25日,每隔10 min取得的凝结水泵测点无故障数据,共23 127条,设为数据集A;以及2020年11月3日至2020年12月31日,每隔2 min取得的凝结水泵测点验证数据(含实际故障),共41 415条,设为数据集B。每一条数据由发电机有功功率、凝结水流量、凝结水泵出口母管压力、凝结水泵轴承温度、凝结水泵电动机电流、凝结器水位等测点数据构成。
在实际工作中,电厂往往采用多台水泵轮换工作,测量设备有时会出现故障,导致测点数据采集失败,接口产生空值及异常值,部分数据缺失时序性。为保证数据的可用性,本文采用以下方法对原始数据进行清洗和处理:1)凝结水泵电动机电流和凝结水泵轴承温度这两类测点选择当前工作水泵的数据,去除噪声数据并整合为一类;2)对缺失数据进行均值填补,整理乱序数据;3)温度测点接入时,去除对应的异常值。经过预处理后的部分数据如表1所示。
表1 预处理后的部分测点名称及数值展示
当凝结水泵汽化故障发生时,出口压力和电流会降低,而凝结水流量会快速下降。在对以凝结水流量为因变量、各类测点为自变量进行Pearson式相关分析以及咨询相关专家可行性后,本文选取发电机有功功率、凝结水流量、凝结水泵出口母管压力、凝结水泵电动机电流、凝结器水位这5类测点数据,通过预测凝结水流量及滑动窗口统计法来确定阈值,进而判断是否出现凝结水泵汽化故障,这样比单一测点进行预测更为准确。
为了消除数据量纲,加快模型收敛速度,本文采取的标准化方法是最常用的零—均值规范化法:
(9)
式中:x为原始数据;μ和σ分别为原始数据的均值和标准差。
基于LSTM的凝结水泵故障预警算法流程如图2所示。
图2 基于LSTM的凝结水泵故障预警算法流程
本文在Windows操作系统下搭建CPU版本的LSTM预测模型,Python版本为3.7,采用Keras深度学习框架。Keras深度学习框架具有免费、模块化、开源、易扩展的优点,可以支持任意网络架构的搭建。预测模型的训练步骤如下:
1)数据分类:开始训练前,划分数据集A为训练集和验证集,训练集占70%,验证集为30%。
2)训练模型:选取滑动窗口,并选取发电机有功功率、凝结水流量、凝结水泵出口母管压力、凝结水泵电动机电流、凝结器水位作为特征数据输入模型,配置LSTM模型的训练参数,输出是预测的凝结水流量值。
3)参数优化:根据模型在验证集上的表现,对模型的参数在恰当的范围内进行取值,控制变量不断调整模型参数,并利用model.save()来保存最佳模型,方便下次调用,节约训练时间。
4)阈值确定:通过模型预测值与实际值的滑动残差,进行预警阈值确定。
5)实验验证:将数据集B(含实际故障)全部输入预测预警模型中进行验证。
为了对比模型在不同参数设置下的模型性能,本文采用均方误差MMSE和平均绝对误差MMAE作为预测模型性能的评价手段:
(10)
(11)
将数据集A输入LSTM模型,运用控制变量法,选取恰当的取值范围,训练过程中不断调整模型超参数。得到的最终模型结构及各项参数为:测试窗口序列长度为18,Sequential模型由3层LSTM层堆叠构成,通过return_sequences参数来实现中间层输出序列的完整返回。为了防止过拟合,每层后添加了一层Dropout层,Dropout值为0.2,最后加入全连接层将输出维度聚合为1;训练时的损失函数为均方差,优化算法采用RMSprop(root mean square prop),批训练数量batch=128,训练次数epochs=20。
为了突显LSTM模型的性能,本文采用模型结构相似的循环神经网络(recurrent neural network,RNN)模型与之对比。对比结果如表2所示,可以看出LSTM在测试集上的预测效果更加优秀。
表2 RNN和LSTM模型在测试集上的表现
图3和图5分别为RNN和LSTM在测试集上的预测结果。图4和图6是两种模型在测试集上的残差图。
图3 RNN模型在测试集上的部分预测图
图4 RNN模型在测试集上的部分残差图
图5 LSTM模型在测试集上的部分预测图
图6 LSTM模型在测试集上的部分预测图
由图3、图5可知:凝结水流量周期性较强,可以分为剧烈变化区和平缓变化区,剧烈变化时流量迅速上升或下降,随后进入平缓区,两者交替出现。在波动平缓时期,RNN和LSTM模型的预测精度相差不大,真实值与预测值的残差值也保持在较小数值之内;但在样本剧烈波动时,RNN的表现不佳。由图4、图6对比可知:RNN的残差值比LSTM大,这是因为LSTM在RNN的结构基础上引进了控制门结构,网络中蕴含了样本的长短期依赖信息,在数据剧烈变动后能较快地回复预测精度。
因此,LSTM模型能够有效预测凝结水泵正常工作时的凝结水流量。出现故障前,凝结水泵的动态特性会产生巨大变化,预测值与实际值之间出现较大残差。
将含有实际故障的数据集B输入最佳模型中,截取故障发生当天的部分预测图,如图7所示。结合残差图图8可知:未发生故障时,残差较小,模型能够有效预测凝结水流量走势。
图7 凝结水泵汽化故障发生当天的预测图
图8 凝结水泵汽化故障发生前的残差图
凝结水泵汽化故障发生在平缓变化区,2020-11-29日12∶27分左右(图8第353个采样点)故障发生时,实际凝结水流量值短时间内多个采样点小于预测值,残差超过预警阈值。在2020-11-29日 12∶36左右(图8第359个采样点),电厂设备工人发现故障,手动打开再循环门,凝结水流量短时间内急剧增加,故障解除。事后经检查,是由于供热期间,抽汽量影响低负荷凝结水流量,到达再循环门自启条件,影响从凝汽器向除氧器打水而产生的故障。由此可知,采用基于LSTM预测的残差模型进行预警,能够比设备运维人员更早发现故障征兆,可以实现故障的早期预警。
本文利用电厂凝结水泵的历史运行数据,采用LSTM神经网络模型对凝结水流量进行预测,通过实际值与预测值的残差进行预警阈值的设定,若样本短时间内多次超过预警阈值则进行预警。结果表明,LSTM模型在验证集上的均方误差为0.015 9,优于拥有相似模型结构的RNN模型,具有较强的预测功能。同时相较于人工实时监控,能够略微提前发出预警信号,实现凝结水泵汽化故障的早期预警。该方法依赖于历史故障数据,对预警阈值的设定需要借助专家经验和实际数据进行进一步的改进,从而减少误报率,达到更好的预警效果。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!