1. 引言
电厂发电机组的健康状况是电厂能否稳定运行的关键,而机组包含的数据繁杂,数据结构交错,因此对进行电厂智能化改进是当下的趋势。通过改进,实现对电厂各个传感器点位实时数值的监控,以及传感器下一个时间点的数值的预测,使其能对发电机组的不同状况采取合适的应对措施 [1] 。
当前工业传感器中电厂发电机组传感器的时间序列预测和分析可以主要分为两类方法:一类是基于统计学的经典模型 [2] ,另一类方法是基于机器学习的预测模型。机器学习中KNN回归、SVM回归 [3] 和BP神经网络 [4] [5] 具有简洁的结构和良好的性能,但由于预测精度有局限性,预测效果更好的基于循环神经网络(Recurrent Neural Network, RNN) [6] 的深度学习网络成为研究的热点。RNN具有通用性强和较高的预测精度等优点,然而在实际应用中,传感器数据的规律往往与较长时间跨度的数据有关。普通RNN在进行循环操作时容易遇到梯度爆炸或梯度消失的问题,为了解决这个问题,引入了长短时记忆神经网络(Long Short-Term Memory Neural Network,LSTM NN或LSTM) [7] 。LSTM通过长短时记忆单元来控制信息累积的速度,并在预测较长时间跨度依赖型的时序数据上展现出优越的能力。
电厂各机组的传感器点位的实时监控是电厂智能化的重要环节之一。传感器的数值是电厂机组的健康状况的重要评价指标之一。使用LSTM神经网络模型进行预测,在各个领域都有应用。如杨青、王晨薇 [8] 构造深度LSTM神经网络模型证明了其在预测股票指数的可行性与稳定性。而陈亮、王震、王刚 [9] 将LSTM神经网络模型运用到了电力负荷预测当中,实现了有效短期电力负荷预测。季学武、费聪 [10] 等则是建立LSTM神经网络以实现车辆驾驶员驾驶意图的识别和车辆轨迹的预测。总的来说,LSTM神经网络模型在不同领域的时间序列预测的课题上均能取得良好的预测效果。因此,在电厂传感器点位数值预测问题上,相较于一些传统的预测模型如ARIMA等,LSTM模型能同时对多个传感器点位数值进行预测,且能够考虑到多个传感器点位数值之间的耦合性。
本文尝试利用LSTM模型对江苏某电厂的一个传感器组中的5个传感器数值进行预测,使智慧电厂管理系统能够根据预测值给予提示,以便于电厂的监盘人员提前了解机组的健康状况,保障电厂机组能够良好稳定地运行。
2. 研究方法及模型构建
2.1. LSTM模型
LSTM模型全称长短期记忆网络模型,是在循环神经网络(RNN)的基础上变化而来。
循环神经网络(RNN)是一类以序列数据为输入,在序列的前进方向上进行递归,且所有节点按链式连接的递归神经网络。如图1所示,RNN网络在不断递归的过程中会将前一个时刻的输出作为后一个时刻的输入,从而实现对先前序列的特征进行提取,并转化为输出,对下一个时刻计算提供支持。

Figure 1. Recurrent neural network model
图1. 循环神经网络模型
对于给定序列
,应用原始RNN模型,可以得到一个隐藏层序列
和一个输出序列
。
(1)
(2)
上述式中,W为权重系数矩阵,b为偏置向量;fa为激活函数(激活函数可以使用tanh函数、sigmod函数等);t下标表示序列时刻。
尽管RNN能够对非线性时间序列的数据进行预测,但是该模型仍然存在梯度消失、梯度爆炸等问题。为了解决以上问题,LSTM模型便被设计了出来 [11] 。LSTM是RNN算法的改进,LSTM的核心概念以及关键特点是细胞状态以及门结构。细胞状态是LSTM模型中信息传输的路径,起到了记忆的作用。而门结构则通过输入、输出、遗忘三种方式决定了新的信息与细胞状态之间的关系。

Figure 2. Long short-term memory neural network model
图2. 长短时记忆神经网络模型
如图2所示,x为输入模块,则隐层的计算可以表示为:
(3)
(4)
(5)
(6)
(7)
上述式中,
分别为输入门、遗忘门、细胞状态和输出门。σ和tanh分别为sigmoid函数和双曲正切激活函数。
基于梯度的优化算法种类众多,本文采用的是Kingma等 [12] 提出的适应性动量估计(Adaptive Moment Estimation, Adam)算法,Adam优化算法在实际应用中表现更具优势,能够针对不同参数计算适应性学习率并占用较少的存储资源。
2.2. 电厂传感器点位预测模型
电厂的传感器点位数据与其他类型的数据有所不同,有自身的特点。比如,在对气温、收盘价等数据进行预测时,由于其数据本身以天为单位进行分隔,通常选用为以天为单位的数据作为数据集进行预测,而电厂的传感器点位数据并不以天为单位进行分隔,只要电厂的发电机组正在正常运行,传感器点位数据就会不断更新,获得的数据十分密集。电厂的传感器点位数值的变化不是完全随机的,每个点位都会有一个正常的波动范围,当数值超出这个范围时,就会被认定为点位异常,同时,新的数值会和前一个时间点具有相关性,两个数值之间不会相差很多。因此在对传感器点位数据进行预测时,数据之间的时间间隔不能太长,否则会弱化前后数据的关联性。
当多个传感器构成一个传感器组时,同一时刻,多个传感器点位数值之间也会具有相关性。对一个传感器组进行预测,类似于对天气进行预测,因为天气包含了多组数据,如:气温、湿度、风速等,这些数据之间是具有相关性的,是会相互影响的。同理,同一个传感器组内的传感器点位的数值也是会相互影响的,当一个传感器点位的数值异常波动时,其他的传感器点位数值也会异常波动。
综上,电厂传感器点位数据具有高密集性、范围波动、强关联性等特点,本文根据以上特点提出了基于LSTM循环神经网络模型的电厂传感器点位数值预测方法。

Figure 3. Sensor point prediction model based on LSTM
图3. 基于LSTM的传感器点位预测模型
本文构建了LSTM预测模型的整体框架,包括输入层、隐藏层、输出层、模型训练、模型预测5个功能模块,模型结构如图3所示。输入层负责对电厂传感器点位数据进行预处理,以作为网络模型的输入,隐藏层采用两层LSTM循环神经网络加上一层全连接层,由输出层提供预测结果并向前台进行反馈,在模型的训练过程中使用前文所述的Adam优化算法。
3. 实验与结果分析
3.1. 实验环境以及参数设置
本文所有实验均基于Windows系统实现,使用python3.8和PyTorch1.8.0框架,计算使用的硬件为NVIDIA Geforce GTX 1650。实验中的参数设置如下:
隐藏层的层数为2,优化算法:Adam,损失函数:MSELoss损失函数。
3.2. 数据来源及数据预处理
本文使用的数据为电厂发电机组传感器获取的,5个传感器点位的数据。发电机组的传感器会不断地将实时值同步给EDNA数据库。编写Python代码每隔3秒调用C++代码的DLL文件,将EDNA数据库中的数据读取存放到CSV文件中。
传感器点位数据预处理包含以下几个方面:
1) 剔除空行缺失值。
2) 对传感器点位数据的异常值进行过滤。在电厂发电机组实际运行过程中,时常会对其进行停机维护和调整,于是传感器会获取到错误的点位数据。由于每个传感器点位的数值在不同的范围进行波动,因此需要对每一个传感器点位进行异常数据的识别与删除。
3) 将传感器点位进行划分为多个传感器组。在发电机组运行的过程中,传感器组的整体情况是对发电机组健康状况进行判断的重要标准,当一个传感器组的多个点位出现异常时,就会认定其出现了特定的问题,并且会有对应的解决方案。

Table 1. Time series of 5 sensor points in a sensor group
表1. 一个传感器组中的5个传感器点位时间序列
表1为,经过处理后实际可用的10,000条数据。
在将数据放入模型前,由于不同的传感器点位的值的波动范围区别较大,因此需要先将5组传感器的点位数值进行标准化处理,以消除各个传感器数值波动范围的差异性,将所有值变为均值为0,标准差为1的分布。
标准差:
(8)
3.3. 模型评价指标
本实验中主要采用在回归分析中常用的3个模型评价指标:MSE、MAE、SmoothL1Loss。将传感器组的5个传感器点位数值的数据集进行训练集和测试集按照7:3的比例划分后,通过神经网络对训练集进行训练,分别统计三个模型指标值;每一轮训练集迭代后,均对测试集输入网络后的三个评价指标进行统计,当观察发现模型评价指标均收敛后,输出测试集的预测值并保存下来。
MSE (Mean Square Error, MSE)均方误差,反映估计量与被估计量之间差异程度的一种度量:
(9)
MAE (Mean Absolute Error)平均绝对误差,预测值和真实值之间的绝对误差的平均数:
(10)
SmoothL1Loss,当误差在
上是平方误差,其他情况是L1损失,分段使用均方误差和平均绝对误差,用于回归模型:
(11)
3.4. 实验结果
模型通过300轮训练,对MAE、MSE、SmoothL1Loss评价指标进行观察统计后,当指标值收敛并达到平稳时,保存LSTM神经网络模型结构和参数并输出测试集中的传感器点位数值的预测值:

Figure 4. Comparison of predicted and true values (after standardization) at five points
图4. 五个点位的预测值和真实值(标准化后)对比
图4中,浅色线条为真实值,深色线条为预测值。从中可以看出,LSTM神经网络模型输出的预测值和测试集中传感器点位的真实值在总的趋势上是比较吻合的,走势大致相同。但受限于样本量大小、传感器点位数值本身波动的无规律性、传感器组之间相互影响等原因,预测值与真实值之间存在一定的差距。总的来说,通过训练LSTM神经网络模型实现传感器组的传感器点位数值的预测是可行的,可以作为电厂监盘人员判断发电机组当前健康状况的依据,起到了辅助决策的效果,能够对保障发电机组安全稳定地运行起到一定帮助。
3.5. 模型评价指标效果

Figure 5. Training-set MSE and test-set MAE, MSE, SmoothL1Loss
图5. 训练集MSE和测试集MAE、MSE、SmoothL1Loss
从图5可以看出,传感器点位数值的训练集在前20轮训练的过程中出现了一定程度的波动,随后损失值开始下降,经过70轮训练后MSE开始收敛,经过200轮训练后数值基本保持平稳,最终,在250轮训练后训练集MSELoss为0.02040。
测试集上的MAE、MSE、SmoothL1Loss的趋势较为类似,均是在前30轮训练的过程中有一定的波动,随后其值不断下降,经过80轮训练后MAE、MSE、SmoothL1Loss开始收敛,经过200轮训练后它们的数值基本保持平稳,最终,在250轮训练后分别为MAELoss:0.15278、MSELoss:0.04766、SmoothL1Loss:0.02383。
三个评价指标反映出对于一个传感器组的5个传感器点位的数值,将其输入LSTM神经网络模型进行训练,能够使模型充分学习传感器点位之间的耦合属性和传感器点位数值的变化趋势,最终输出与真实值相近的预测值。其预测效果良好,能够直接嵌入到智慧化电厂的框架之中,便于后续的处理。
4. 结语
发电机组的传感器组的多传感器点位数值的预测是智慧化电厂的重要组成部分,通过辅助监盘人员决策判断的方式,对保障发电机组稳定运行提供了一定帮助。本次实验先读取一定时间段内的某个传感器组的5个传感器点位的数值,然后将数据放入一个由输入层、隐藏层、输出层、模型训练、模型预测5个功能模块构成的基于LSTM神经网络的预测模型。通过MAE、MSE、SmoothL1Loss评价指标来判断模型的实际效果。由实验可知,在模型固定的条件下,MAE、MSE、SmoothL1Loss指标值在250次训练迭代后基本收敛,其值分别如下,MSE:0.04766,SmoothL1Loss:0.02383,MAE:0.15278,有一定的预测效果。因此,通过建立LSTM神经网络模型对传感器组的多传感器点位数值进行预测是可行的,LSTM神经网络模型能够充分学习传感器点位时间序列的趋势特性,并考虑多个时间序列之间的关联性,最终给出较为精确的预测结果,进而辅助监盘人员进行合理决策。
NOTES
*通讯作者。