王祖林,韩 硕,康俊杰,李云飞,藕泉江
(1.河北国华定州发电有限责任公司,定州073000;2.华北电力大学 控制与计算机学院,北京102206;3.北京达华洁能工程技术有限公司,北京100029)
我国主要的发电形式是燃煤发电,煤炭燃烧产生的主要污染物为氮氧化合物,因此控制污染物的排放对生态环境以及人民的健康尤为重要。NOx排放预测是锅炉燃烧和选择性催化还原(SCR)、烟气脱硫(FGD)等排放控制设备运行中的一项重要技术,近年来一直受到研究者的关注[1-4]。由于SCR 脱硝系统入口NOx浓度测量具有一定的滞后特性,如果能够提前准确预测NOx排放的入口浓度,建立精确的预测模型,就能够为实现燃烧优化与喷氨量的超前调节打下基础[5],进而保证NOx排放浓度始终保持在较低的水平,提高运行系统的稳定性。
目前,国内外燃煤电站都采用选择性催化还原脱硝技术, 但由于SCR 系统具有很强的非线性,在负荷频繁变动时,难以精确控制NOx的排放。机理建模由于过程复杂,模型精度较低。随着人工智能大数据技术的发展,数据驱动模型越来越受到工业界的关注[6-7]。模型的建立包括数据的处理、变量的选择和学习网络的建立,文献[8]将可能性模糊C 均值聚类算法应用于电力负荷数据检测与修正过程中,对数据中的异常数据进行检测和修正;文献[9]结合SRCKF 和移动窗口法提出了一种自适应容积卡尔曼滤波方法,针对参数数据存在不同噪声统计特性的特点, 移动窗口法实时估计噪声的协方差阵,校正参数的滤波结果;文献[10]采用遗传算法对SCR 系统运行数据进行主元分析选出主要独立变量,建立广义回归神经网络,得到SCR 系统的GAGRNN 模型, 但是该模型没有考虑历史时序对当前时刻的影响。
为此,本文首先利用滑动平均法对原始数据进行去噪,然后基于随机森林算法分析变量间的相互关系,从37 个输入变量中选出20 个相关度高的变量,去除冗余变量,最后利用深度学习Bi-LSTM 建立了某电厂660 MW 电站锅炉燃烧系统SCR 入口动态的NOx浓度预测模型。该模型充分利用历史信息,并能够实现动态建模,结果表明相较于传统数据模型该模型拟合效果好、预测精度高,并与其他几种模型进行对比分析,验证了模型的有效性。
本文采用某660 MW 电厂的历史数据,为了提高预测模型的预测精度,需要对数据进行降噪预处理。采用滑动窗口平均法对原始数据进行预处理,滑动平均相当于低通滤波,在数据展开图中选定某一尺寸的窗口,将窗口内的所有异常值做算术平均,将所求的平均值作为窗口中心点的异常值。按照点距或线距移动窗口,重复此平均方法,直到对全部数据完成上述过程。
滑动窗口平均方法是沿全长度为N 的数据,不断地逐个滑动地取m 个相邻数据作加权平均来表示平滑数据,其一般算式为
式中:m=p-q;Wi为权系数,且其和为1。
处理结果如图1~图4 所示,列举了发电机有功功率、预热器烟道入口处后墙压力、给煤机给煤量、锅炉氧量这4 个主要因变量的原始数据以及处理后的数据。
图1 发电机有功功率数据处理前后对比Fig.1 Comparison before and after processing of generator active power data
图2 空预器入口压力数据处理前后对比Fig.2 Comparison of air preheater inlet pressure data before and after processing
图3 给煤机给煤量数据处理前后对比Fig.3 Comparison of coal feeder data before and after processing
图4 锅炉氧量数据处理前后对比Fig.4 Comparison of boiler oxygen data before and after processing
根据燃烧机理分析,SCR 入口NOx的生成主要受风量、煤量及配风方式等的影响。数据建模的输出是SCR 反应器A 进口NOx浓度,与输出的相关的自变量包括发电机有功功率、总煤量、各层二次风门挡板开度阀门指令、给煤机给煤量及磨煤机一次风流量等37 个变量。
随机森林在模型输入变量选择方面应用广泛,本文使用基尼指数衡量每个变量对目标变量的贡献大小,变量重要性评分用VIM 表示,基尼指数用GI 表示。假设有c 个特征b1,b2,b3,…,bc,则每个特征bn的基尼指数,即第n 个特征在随机森林所有决策树中节点不纯度的平均改变量表示为
式中:k 为类别个数;Pnk表示类别k 在节点n 中所占的比例大小。
特征bn在节点c 分支前后的基尼指数变化量用下式表示:
式中:GIl和GIr分别为分枝后生成的两个新节点的基尼指数。
假设特征bn在决策树i 中出现的节点属于集合M,则特征bn在第i 棵树的重要程度表示为
如果随机森林中共有L 棵树,则:
通过保持变量个数不变,改变生成树数量的方法, 使用随机森林算法对37 个相关变量进行重要性评分,进而选出合适的输入变量。
LSTM 神经网络由Hochreiter 等提出,在RNN的基础上考虑数据的时序特性, 其引入了门控单元,解决了网络训练过程中梯度消亡的问题。LSTM单元结构如图5 所示。
图5 LSTM 结构图Fig.5 Architecture of LSTM
每个单元结构中都包含有输入门、 输出门、遗忘门,这三个结构通过非线性活函数对输入的信息选择性通过或者遗忘,同时确定新输入有多少通过或遗忘,这取决于信息的价值含量。这些确保了有效信息的传递。遗忘门控制前一时刻单元结构状态信息ct-1的保留程度, 输入门决定了当前时刻单元结构的输入ht-1有多少保留到当前单元状态c1,输出门控制当前单元状态ct有多少输出到单元结构的当前输出ht。LSTM 单元结构三个门的公式如下:
遗忘门对应的函数式:
输入门对应的函数式:
输出门对应的函数式:
式中: ft、it、ot分别为遗忘门、输入门、输出门的输出;w 和b 分别为权重矩阵和偏置项。
单元结构的当前状态为
单元结构的当前输出为
Bi-LSTM 网络是由2 层LSTM 网络通过反向连接构成的,可以充分提取各个输入数据序列间的关联关系及序列自身的前向以及反向关联关系,最终得到输入时间序列与SCR 入口NOx浓度的映射关系,其结构如图6 所示。
图6 Bi-LSTM 结构图Fig.6 Architecture of Bi-LSTM
构建一个如图7 所示的4 层神经网络,包括输入层、Bi-LSTM 层、全连接层、输出层。将序列输入图层的大小指定为输入数据的特征数量。将全连接层的大小指定为响应数。指定Bi-LSTM 层有200 个隐含单元。将求解器设置为adam,并进行300 轮训练。为了防止梯度爆炸,将梯度阈值设置为1。
图7 Bi-LSTM 网络结构图Fig.7 Bi-LSTM network structure diagram
本文研究对象为某电厂超临界660 MW 燃煤机组,锅炉为超临界参数变压运行的直流炉,四角切向燃烧方式、一次中间再热、单炉膛平衡通风、固态排渣、半露天布置、炉前低封、全钢构架,配用中速磨煤机正压直吹式制粉系统。
为了使训练数据具有广泛的表示性,为了体现深度神经网路的优势,从所研究电厂的分散控制系统(distributed control system,DCS)中采集了46800个大数据样本,对基于Bi-LSTM 的NOx排放模型进行了训练和测试。采样间隔为15 s,采样时间覆盖了所研究锅炉8 天的运行历史数据。为了保证训练集和测试集都包含不同的运行工况,避免不同样本分布对模型精度和通用性的影响。样本数据分为两部分,将前70%的数据设置为训练数据集,剩余30%设置为测试数据集。结合现场测点的具体情况,总共确定了37 个操作变量作为基于Bi-LSTM 的NOx排放模型的原始输入变量。利用随机森林算法得到这些变量的重要性柱状图,如图8 所示。
将基于随机森林的变量重要性评估的评分阈值设为2,分数高于2 的变量可作为模型训练网络的输入变量。经过分析,选择其中20 个变量,如表1所示。
图8 原始变量重要性柱状图Fig.8 Histogram of importance of original variables
表1 输入变量及其变化范围Tab.1 Input variables and their range of variation
基于Bi-LSTM 方法模型预测SCR 入口NOx浓度的框架结构如图9 所示。
图9 基于Bi-LSTM 的NOx 排放预测框架图Fig.9 Block diagram of NOx emission prediction based on Bi-LSTM
电站锅炉煤粉燃烧过程中生成的NOx大多以燃料型和热力型为主,并且NOx的生成不仅仅由当前时刻的运行输入量单独决定的,而是受之前一段时间内运行输入量的累积影响。稳态模型通常只考虑当前时刻的系统输入和输出关系, 不能描述NOx生成的动态特性。电站锅炉负荷频繁变动,长期处于变工况运行状态,稳态模型的预测精度将大大下降。相比之下,动态模型考虑了系统输入和输出的时间序列影响,对真实对象的动态特性具有更好的解释能力,更能反映系统的动态变化特性。根据NOx机理和现场测量的迟滞情况,本文利用X(t)、X(t-1)、X(t-2)、X(t-3)等时序输入建立SCR 脱硝系统入口NOx质量浓度的动态模型。为了验证数据动态模型的准确性,本文分别采用BPNN 建立NOx排放的动态模型和核偏最小二乘(kernel partial least squares,KPLS)方法建立的静态模型作为对比。图10 为基于动态的Bi-LSTM 的SCR 反应器入口NOx质量浓度的模型的训练结果及与其他模型的对比图, 图11为测试结果的对比图。
图10 Bi-LSTM、BPNN 及KPLS 的NOx 模型训练结果对比图Fig.10 Comparison diagram of NOx model training results of BI-LSTM,BPNN and KPLS
图11 Bi-LSTM、BPNN 及KPLS 的NOx 模型测试结果对比图Fig.11 Comparison diagram of NOx model training results of BI-LSTM,BPNN and KPLS
由图10、图11 可知,基于Bi-LSTM 和BPNN 的动态模型要比KPLS 建立的静态模型预测的效果要好,深度神经网络要比浅层的神经网络建立的模型准确性高。值得一提的是,当样本量不充足或者样本覆盖工况不完整时, 会影响数据模型的准确度。为了说明本文所提方法的泛化能力,所选测试数据的范围要大于训练数据的范围。这时KPLS 静态模型存在着严重的模型失效问题,动态的BPNN 模型表现的好于静态KPLS,而动态Bi-LSTM 泛化能力明显高于前两者。因此,基于动态深度神经网路建立的预测模型也具有较好的泛化能力。模型的评价指标采用均方误差平方根(rooted mean squared error,RMSE)和平均绝对百分比误差(mean absolute percentage,MAPE)。RMSE 和MAPE 的计算公式如下:
式中:yi为实际SCR 入口NOx浓度;模型预测值;n 为序列的总样本数。
具体的对比数值如图12、图13 所示。比较三种模型的拟合和预测效果,KPLS 静态模型对于训练样本的拟合效果很好RMSET=4.88 mg/m3,但是对于测试样本的预测精度较低RMSEP=22.3 mg/m3,模型泛化能力有限。动态BPNN 模型虽然预测精度比KPLS 效果要好,但是拟合误差和预测误差还是比较大。基于动态的Bi-LSTM 模型的拟合和预测效果都较好,训练样本RMSET=5.21 mg/m3,测试样本RMSEP=6.08 mg/m3, 模型反映了NOx排放模型随负荷波动的动态过程。
图12 不同模型的RMSE 对比Fig.12 RMSE comparison of different models
图13 不同模型的MAPE 对比Fig.13 MAPE comparison of different models
为了测试本文提出方法的有效性,在该电厂实际安装调试本文提出的预测方法。经过一段时间的平稳运行后, 从DCS 中截取某时刻SCR 脱硝系统A、B 两侧预测的NOx质量浓度与实际运行测试曲线的对比图,如图14、图15 所示。
图14 A 侧预测NOx 浓度与实际运行曲线对比Fig.14 Comparison of predicted NOx concentration and actual operation curve on A side
图15 B 侧预测NOx 浓度与实际运行曲线对比Fig.15 Comparison of predicted NOx concentration and actual operation curve on B side
从实际投运该方法后的曲线对比图可知,本文提出的方法可以较准确的跟踪实际运行曲线,在现场可以很好地预测NOx趋势,为提前预测及进一步喷氨优化的实施提供了平台。
为了提高SCR 脱硝系统入口NOx排放浓度模型的精度,为进一步实施精准喷氨控制打下基础。本文在利用滑动窗口平均滤波法对原始数据进行滤波去噪,并采用随机森林算法对输入变量进行特征选择,进而提出了一种基于Bi-LSTM 网络的动态NOx排放的建模方法。在该模型下对某电厂660 MW 超临界燃煤电站锅炉实际运行数据进行处理仿真,并与动态浅层神经网络BPNN 模型和静态KPLS 模型进行对比,结果表明本文进行的数据处理和随机森林变量选择可以降低模型的复杂度,提出的Bi-LSTM动态模型精度较高,并有效地提高了模型的泛化能力。