蒋 斌, 尤慧飞, 王 俊, 张文博, 张 俊
(1.华能(浙江)能源开发有限公司玉环分公司, 浙江 玉环 317600;2.上海电力大学, 上海 200090)
随着工业4.0和数字孪生技术的应运而生,通过状态智慧监控实时掌握设备运行状态已经成为流程工业的必要环节,能对运行设备即将出现的异常情况提前作出准确预警,及时隔离或者替换异常设备,这对整个流程工业系统的安全性和经济性起到积极的作用。
当前基于时序大数据进行预警的方法研究有很多。文献[1-3]使用多元状态估计法,基于大量的历史数据,从其正常运行状态中构建历史记忆矩阵,然后通过当前设备状态值与历史记忆矩阵进行相似度运算,得出当前运行状态与正常运行范围之间的偏离度,当偏离度超出一定阈值时设备报警。这种方法采用的是实时运行值,因此无法通过预测未来状态来进行比较。经典的机器学习模型如支持向量机[4]、贝叶斯网络[5]、高斯过程[6]均能够被用于非线性的时序预测。为了提高其预测的准确率,需对影响时序预测的不同因素进行综合考虑,本质是利用了其强大的回归分析能力[7]。这些学习算法依赖于历史数据的支持,能够学习到数据在时序上的非线性关系,其预测效果往往比基于物理模型和数据模型的算法更好。
随着计算机运算能力的提升,神经网络[8]以及深度神经网络模型,例如循环神经网络、卷积神经网络(Convolutional Neural Networks,CNN)、长短期记忆(Long Short-Term Memory,LSTM)网络等也被广泛用于时序预测之中[9-11]。文献[12]采用CNN-LSTM模型对黄金价格进行预测。文献[13]提出采用随机森林法、极端随机树和梯度提升决策树集成的算法进行预测。文献[14]提出利用XGBoost与随机森林两种集成算法相结合进行预测。也可以是不同类别的模型混合,如利用神经网络和小波变化的风电预测[15],线性模型与非线性模型的组合[16]等。由于这些人工智能预测方法存在预测精度差、预测长度短以及运算时间长等缺点,并且设备运行参数的阈值对于数据的异常变化趋势难以表述,因此采用以上预测与常规运行阈值比较的预警方法导致不能及时预警以及预警不正确等问题,未能满足实际现场状态预警所要求的快速性和准确性。
针对以上问题,本文提出了一种双重趋势分析结合的预警方法,即基于极限学习机(Extreme Learing Machine,ELM)模型预测趋势和根据预测值拟合构建的斜率趋势,结合参数的历史正常趋势以及安全斜率趋势阈值,实现状态趋势预警。本文采用的ELM模型预测趋势方法可以有效克服传统神经网络学习时间长、运算速度慢等问题,进一步采用最小二乘法拟合预测趋势为斜率趋势函数,通过与聚类法得到动态安全趋势阈值的比较,确定预警状态。
ELM是一种单隐层神经网络,由一个输入层、一个隐藏层和一个输出层组成。其结构如图1所示。
图1 ELM预测结构
假设有N个样本(Xj,Yj),Xj为历史序列,Yj为预测序列,预测周期为T。
每个样本输入层有n维,隐藏层L维,而输出层m维。其中:j=1,2,3,…,N,Xj=[xj1,xj2,xj3,…,xjn],Yj=[yj1,yj2,yj3,…,yjm]∈RN×m。一个单隐藏层神经网络的输出可以表示为
(1)
式中:Wi——输入权重,Wi=[w1h,w2h,w3h,…,wnh];
bh——第h个隐藏层单元的偏置,bh=[b1,b2,b3,…,bL];
g——激活函数;
βho——输出权重矩阵,βho=[β1,β2,β3,…,βL]T∈RL×m。
将式(1)写为矩阵形式,即
Hβho=Yj
(2)
式中:H——隐藏层的输出矩阵。
其中,H,Yj,βho可分别表示为
(3)
(4)
(5)
βho=H†Yj
(6)
式中:H†——H的Moore-Penrose广义逆矩阵。
由于H∈RN×L,而样本数N>>L,故H†可表示为
H†=VD†UΤ
(7)
式中:U,V——相互正交的矩阵,U∈RN×N,V∈RL×L;
D†——主对角线为奇异值的对角矩阵D非零元素取倒数再转置的矩阵,D∈RN×L。
其中,D,U,V可由矩阵H按奇异值分解得到,即
H=UDVΤ
(8)
(9)
(HΤH)vi=λivi
(10)
(11)
由于训练样本数N>>L,矩阵H的行数远大于列数,故Hβho=Yj为非一致方程,对于使用Moore-Penrose广义逆矩阵求解超定问题(非一致方程),其解βho为最小二乘最小范数解且唯一。
综上所述,ELM的训练步骤大致可分为3步:
(1) 为输入层和隐藏层之间的输入权重Wi和隐藏层偏置bh分配随机数值;
(2) 计算隐藏层的输出矩阵H;
(3) 求解非一致方程Hβho=Yj得出唯一的最小二乘最小范数解βho。
传统神经网络算法步骤分为:提供数据给输入层神经元,产生输出结果;计算输出层误差,计算输出层神经元梯度;将误差逆传播至隐藏层神经元,计算隐藏层神经元梯度;更新连接权值与阈值;反复迭代直到训练误差达到要求。
当使用光电开关触发支撑组件时,支撑力的测量结果分别如图12和图13所示。补偿力的理论值为2.80N,理论补偿力允许区间为2.66N~2.94N(理论值的0.95%~1.05%)。实测伸杆支撑组件1的补偿力为2.85N;伸杆支撑组件2的补偿力为2.70N;伸杆支撑组件3的补偿力为2.78N(注:第4个力传感器因伸杆展出长度有限而并未用到,其在图12中显示的力值无效)。实际补偿力位于理论补偿力允许区间,满足设计要求。
本文采用ELM模型,基于前n个时间序列数据进行时间序列m步预测,其预测周期为T。
基于ELM预测的m个点拟合状态趋势函数,表示有限时间内的状态趋势变化。最小二乘法对当前预测与之前的预测结果进行线性拟合,得到线性拟合函数y=at+b,其中t=kT,T为预测周期。首先,确定趋势函数的未知参数(通常是一个参数矩阵),使得真实值与拟合值的误差et(也称残差)平方和最小。其损失函数E的计算公式为
(12)
式中:yt——真实值;
y′t——对应的拟合值。
(13)
式(13)可变换为
(14)
联立上述两个多元方程组,求解可得:
(15)
依据式(15)求出线性拟合状态势函数,采用单调函数直线y=at+b,其中a为拟合函数的斜率,代表了数据的趋势。若a>0,则数据呈上升趋势;若a<0,则数据呈下降趋势。结合基于正常历史时序的动态安全趋势阈值区间[Xl,Xh]进行预警。
采用高斯混合聚类法,针对一组一维时序斜率趋势数据样本,高斯混合模型假定所有的数据样本由k个高斯分布模型混合而成。其公式为
(16)
P(x|μi,σi)=
(17)
P(x|μi,σi)——高斯混合模型中的高斯分布模型;
μi,σi——第i个高斯分布的均值和方差,i=1,2,3,…,k。
高斯混合模型使用最大似然估计法估算参数的值,公式为
(18)
由于高斯混合模型内参数过多,不能直接通过求导得出结果,所以采用EM算法对模型进行迭代求解。EM算法求解流程如图2所示。
图2 EM算法求解流程
通过EM算法求解出高斯混合模型的均值向量μi,方差向量σi,以及权重系数向量ωi,则样本整体的均值为
(19)
根据高斯概率分布函数的区间分布估计,取95%置信度,样本数据的上限向量Xhi与下限向量Xli的计算公式为
Xhi=μi+1.96σi(i=1,2,3,…,k)
(20)
Xli=μi-1.96σi(i=1,2,3,…,k)
(21)
样本整体的上限Xh与下限Xl为
Xh=max{Xhi(i=1,2,3,…,k)}
(22)
Xl=min{Xli(i=1,2,3,…,k)}
(23)
将动态安全趋势阈值区间[Xl,Xh]与当前状态趋势进行比较,预警状态或发生于当前状态趋势斜率大于Xh或者小于Xl。
本文对国内某电厂现场运行多组时序数据进行分析,其中包含某真实故障运行状态数据,采样间隔为30 s,共500 000个数据,部分数据如表1所示。
表1 历史运行数据
通过Python编程,进行数据预处理。选取磨煤机电流经过数据预处理后的N=80 000个数据样本,其中70 000个数据作为训练集,剩余的数据作为测试集。ELM模型参数如表2所示。
表2 极限学习机模型参数
使用ELM模型与LSTM模型、门控循环单元结构(Gated Recurrent Unit,GRU)模型以及差分整合移动平均自回归(Auto Regressive Integated Moving Average,ARIMA)模型进行预测效果的对比。使用平均绝对百分比误差MAPE与决定系数R2作为预测模型的评价指标。各模型在测试集上的预测部分结果如图3所示,数据的采样间隔为30 s。
图3 各模型预测曲线
ELM模型与其他3种模型在同一数据集上的预测效果对比如图4所示。由图4可知,GRU模型的预测值最靠近理想直线,预测效果最精确,ELM模型和LSTM模型的预测效果稍差于GRU模型,ARIMA模型的预测效果最差。
图4 各模型预测对比
表3为各模型的评价指标值和运算时间。由表3可知,ELM模型的运算时间最短,为1.6 s,ARIMA模型的运算时间最长,为1 067.0 s。虽然ELM模型的预测效果稍差于GRU模型,但是ELM模型在预测精度较高的条件下,运算速度极快,更加能够满足现场实时、即时的运行条件。
表3 各模型的评价指标和运算时间
选取磨煤机电流、磨煤机入口压力等5组接近于故障状态的历史运行数据。首先利用最小二乘法对正常运行数据进行拟合得到斜率趋势样本D,然后通过高斯混合聚类法得到各组正常运行数据的安全趋势阈区间[Xl,Xh],最后通过本文的预警方法对运行状态进行判断。验证结果如图5和表4所示。
表4 各组数据阈值以及提前预警时间
图5 磨煤机运行数据预警曲线
图5中,预警点A代表本文提出的预警方法所得到的预警点,预警点B代表通过运行阈值比较所得到的预警点。由图5可知,预警点A的时刻均在预警点B之前。
由表4可知,预警点A处的预测斜率超过了安全趋势阈值。由对比结果可得,本文所提预警方法的预警时间更早,更加及时。
本文提出了一种利用斜率趋势与动态安全趋势阈值相结合的预警方法,利用ELM算法运算速度快且预测精度高的优点构建时序预测模型,利用斜率趋势反映动态变化的优点结合动态安全趋势阈值构建预警模型。该预警模型相较于运行阈值预警能够较早发现异常变化的趋势,克服了预警不及时的问题,更加适合电厂实际运行中异常的及时发现。在后续工作中,将对斜率趋势预警模型结合多维特征中的多时间尺度情况作进一步研究,实现设备状态异常的早期发现。