骆文辉
(长三角信息智能创新研究院,安徽芜湖 241000)
水泥行业是典型的流程型工业,主要生产过程可以概括为“三磨一烧”:生料磨、煤磨、水泥磨以及回转窑烧制。水泥回转窑工作状态直接决定水泥的质量,温度的控制效果直接影响熟料游离氧化钙的含量,进而决定了水泥熟料的产品质量。回转窑烧成系统要求形成0.32~5.0 cm 的球形熟料结块,理化反应十分复杂,气、液、固三相并存,是一个多变量、强干扰、大滞后的非线性系统[1]。因此,如何预测控制回转窑温度并稳定控制炉温对回转窑热工参数调节、稳定窑况以及水泥熟料的正常生产和水泥质量合格率的提高具有重要意义。
文章以某水泥公司产线传感器回传数据为基础,依据流程型企业生产对历史数据的依赖性,采用时间序列算法分析输入变量的历史趋势,综合考虑时间节点之间的相关性,通过Gaussian_KNN(高斯加权的K最邻近法)对回转窑分解炉温度上下游参数的历史数据进行赋权后,应用LSTM(Long Short-Term Memory Network,长短期记忆神经网络)的Sequential模型来进行预测。实验结果表明,与其他模型相比,KNN-LSTM能够更加准确地学习历史数据中各节点储存的信息以及节点之间的相关性,表现出更加准确的预测性能。
根据k个最近的邻居的状态来决定样本的状态。KNN 算法的核心思想是,基于某种距离度量,找出此样本与其最近的K个样本,如果K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。但KNN算法存在以下问题[2]:如果初始数据集样本数目不平衡,极易导致k个邻居投票类别的参与概率不一样。也就是说,k个邻居中,较大样本数的类别其所属的样本占了绝大多数。采用Gaussian 函数进行不同距离的样本的权重优化,使得训练样本与测试样本的距离与权重呈相反方向。给更近的邻居分配更大的权重,而较远邻居的权重相应减少,取其加权平均。
LSTM 是一种特殊的递归神经网络,是循环神经网络(RNN)的一种变体[3]。它通过在适当的位置添加“门”结构来解决信息冗余的问题;在流经神经元时,允许信息被选择性地保留或遗弃,从而增强了原始信息的权重,并削弱了不相关信息的权重,解决了传统递归神经网络中梯度消失、梯度爆炸、无法处理长期依赖等问题[4]。文章根据时间序列的特点,考虑时间节点之间的相关性,利用高斯优化过的KNN 算法,挑选对当前时刻影响较大的前k个时间节点,并赋予相应的权重来计算过往时刻对当下的影响大小。距离越近,Gaussian函数计算后的权重越大,说明对当下时刻的影响越大。
设di,j表示时间节点i与时间节点j之间的距离,则:
其中m为时间序列节点的维度,n为时间序列长度;
Wi,j表示时间节点j对时间节点i的影响权重:
其中,a是距离曲线尖峰的高度,b是尖峰中心的坐标,c称为标准方差;
设为第i个时间节点的第j个近邻点,则:
对赋予权重Wi,j,则:
考虑到时间序列模型依赖于数值在时间上的先后顺序,首先对分解炉温度序列进行平稳性检验。平稳性检验为了确定没有随机趋势或确定趋势,否则将会产生“伪回归”问题。依据ADF单位根检验,结果如图1所示,adf<CV(1%)能拒绝原假设,即原序列不存在单位根,原序列为平稳序列。根据此结论,时间序列模型将历史时间节点(即t-k时刻)中分解炉温度对当下时刻(即t时刻)的权重定义为1,即:
图1 分解炉温度序列ADF单位根检验结果图
通过时间窗口的滑窗操作将时间序列从无监督转为监督学习问题。滑窗操作产生的数据集包含k×m列数据,如图2所示(图中k取10),其中k是滑窗的步长,m为时间序列节点的维度。当前时刻(即t时刻)分解炉温度序列为主序列,也就是目标序列;其余km-1 列为子序列,转化后的监督学习问题将历史时间序列作为特征序列,剔除子序列中当前时刻(即t时刻)下m-1列序列,剩余子序列为特征序列。将特征序列赋予权重Wi,j,则新的特征序列为:
其中k为滑窗的步长,n为滑窗操作后时间序列的长度;
目标序列为:
其中k为滑窗的步长,n为滑窗操作后时间序列的长度;
为了评价该方法的有效性,采用R-square确定系数,R-square越接近1,模型准确率越高,反之,模型准确率越低。
R-square:
实验数据来自水泥公司某号产线传感器回传数据,如图3所示,包含二次风温,生料喂料速度(t/h),煤粉喂料速度(t/h),喂煤电机转速,喂煤秤负载,喂料阀门开度(%) 和分解炉温度,时间为2022.7.11 0:00 至2022.7.13 2:00,共3 001 组数据,其中80%作为训练集,20%作为测试集。
1)滑动窗口k值的选取
综合产线及生产实际,实验数据的采样频率为1分钟,考虑到水泥产线各生产环节的工艺不同,不同位置所采集到的数据,彼此间可能会存在一定的延时性,比如煤粉喂料速度t/h与分解炉温度之间就存在延时性。因此,k值的选择非常关键,不宜过小或过大,应当选择在合适的区间内,将k值假定在[1,10]区间内,通过对比选取最优值。
2)近邻点个数N值的选取
近邻点个数N值表示对当前时刻而言,会考虑历史前N个时刻的数值变化会对当前时刻产生的影响。假设通过滑窗操作产生的前k个时刻都会对当前时刻产生影响,因此,近邻点个数N值与滑动窗口k值保持一致。
3)网络结构的选取
图4 中的网络预测框架利用了机器学习中的KNN 算法以及深度学习中的Sequential 模型,来搭建多维赋权KNN-LSTM模型。经过一系列对比实验,设置了最佳的网络超参数,其中包括1 个LSTM 层、1 个Dropout 层和1个全连接层,LSTM 层的节点数为50,Dropout层的舍弃率为0.2。训练使用的损失函数为均方误差(Mean Squared Error,MSE),优化器采用Adam,每次训练的样本大小batch_size为72,训练的轮数epoch为50。
图4 网络结构图
1)不同k值(滑动窗口)下,实验结果对比与分析
KNN-LSTM 模型对当前时刻的分解炉温度进行预测,根据模型的输入,历史时刻的数据信息,即t-k时刻,t-k+1时刻,t-k+2时刻…t-1时刻的二次风温,生料喂料速度(t/h),煤粉喂料速度t/h,喂煤电机转速、喂煤秤负载、喂料阀门开度(%)和分解炉温度。不同历史时刻的数据信息分别乘以对应权重Wi,j,最终构成Sequential 模型的输入。图5 为k取[1,10]范围内,KNN-LSTM 模型在测试集上的表现,评价方法为Rsquare。由表1可知,不同k值(滑动窗口)会带来不同的历史信息,会构成不同的模型输入,对未来的预测结果也不尽相同。k=4时,模型准确率最高。因此,用当前时刻的前4个历史时间节点的相关信息来预测当前时刻下的分解炉温度最为准确。
表1 不同K值(滑动窗口)下,实验结果对比与分析
图5 滑动窗口,即k=4时,分解炉温度预测值与实际值在测试集对比
2) KNN-LSTM(Gaussian_KNN) 对比ARMA,LSTM 以及KNN-LSTM(无Gaussian)
表2为分别用ARMA,LSTM,KNN-LSTM(无Gaussian)以及KNN-LSTM(Gaussian_KNN) 对当前时刻分解炉温预测的结果(滑动窗口k=4),评价方法同样为R-square。由结果可知,KNN-LSTM(Gaussian_KNN) 可以更加有效地学习到过去4个时间节点的相关信息对当前时刻分解炉温的影响,并更加准确地预测当前时刻分解炉温度。
表2 ARMA、LSTM、KNN-LSTM(无Gaussian)以及KNN-LSTM(Gaussian_KNN) 预测性能对比
回转窑的物理结构特殊,煅烧情况复杂,不易准确有效获取窑内温度。传统的数据模型与机理模型很难去模拟回转窑真实的工况状态,无法准确预测和控制回转窑内温度的变化情况[4]。KNN-LSTM(Gaussian_KNN)通过分析回转窑分解炉温度上下游参数的历史数据变化趋势以及相关性,能够有效地预测下一时刻分解炉温度,在实际生产过程中,通过将预测值与实际值进行对比分析,判断分解炉温度的变化趋势是否存在异常,能够达到提升回转窑预测性检修的能力,从而保证窑内温度持续稳定,进而提高产品质量。本文实验的主要结论如下:
根据时间序列的特点,对历史趋势的高度依赖以及时间节点之间的相关性,首先通过时间窗口的滑窗操作将时间序列从无监督转为监督学习问题。通过实验结果分析,发现滑窗操作k值的选择尤为关键。k值并非越大,实验准确率就越高。在一定区间内,选取适合的k值,预测性能越好。同时也可以判断出,对当前时刻的分解炉温度而言,此时选取的前k个时刻对当前炉温的影响最为关键;
与传统的ARMA 模型相比,基于深度学习的LSTM模型预测准确率更高。传统的ARMA模型只能考虑到分解炉温度单一时间序列的变化趋势,而忽略了与分解炉相关参数的变化趋势所带来的影响;LSTM 模型相比于传统的ARMA 模型,不仅将分解炉温度的变化趋势考虑到模型中,也将分解炉上下游的相关参数,如二次风温、生料喂料速度(t/h)、煤粉喂料速度(t/h)、喂煤电机转速、喂煤秤负载、喂料阀门开度(%)考虑到模型中,使得模型可以学习到更多、更准确的历史信息,从而使模型的预测性能大幅提高。
与LSTM 相比,KNN-LSTM 的预测效果更好。KNN-LSTM 在数据传入LSTM 模型之前,会根据历史时间节点各维度与当前时刻各维度的距离进行相应的权重赋值。KNN-LSTM(无Gaussian)采用时间节点间距离的倒数作为权重,而KNN-LSTM(Gaussian_KNN)采用Gaussian 函数进行不同距离样本的权重优化,当时间节点间的距离增大,该距离值权重减少,反之增加。从实验结果可知,KNN-LSTM(Gaussian_KNN)更加能够拟合历史各时间节点对当前时刻分解炉温度影响的权重大小,使得数据传入LSTM 模型前的信息更加准确,从而使模型的预测性能提高。