基于Kriging插值和BP神经网络结合的粮仓温度场预测模型研究及实现
2021-09-30王传旭王康陈林李学张红伟
王传旭, 王康, 陈林, 李学, 张红伟
(安徽大学电子信息工程学院, 计算智能与信号处理教育部重点实验室, 合肥 230039)
我国粮食年产量增长迅速,但是粮食储藏过程中的损耗也不容忽视,对粮仓内粮堆温度的准确把握是保证储粮安全的前提。一旦粮堆发生小部分发热现象,若不及时处理就会造成粮仓内部湿热环境剧烈变化、粮堆出现结露、演化成霉变,从而对储备的粮食造成重大损失[1]。因此,准确掌握粮堆温度分布、合理分析预测粮堆温度变化趋势是保障储粮安全状态的重要措施。为了合理预测粮温信息,学者们基于数值分析进行温度场建模,如Gastón等[2]依据粮食水分等温吸附方程和热质局部平衡原理,视粮堆为多孔介质,建立了粮堆热湿耦合模型;尹君等[3-5]对粮堆进行多场耦合并建立了仿真图像分析模型,成功复现粮堆在冬末春初和夏季的温度场分布状况,准确预测了粮堆可能结露的位置。基于数值分析建立的温度场模型虽然较为精确,但需要专门的软件进行数值模拟来建立数学模型,计算量大,难以满足工程应用需求,因此,基于粮情大数据进行数据分析的方式被逐渐应用于粮堆温度的预测[6-7]。沈兵[8]利用BP神经网络来预测储粮安全。Duan等[9]通过分析粮堆的大量历史数据与相应天气预报数据之间的相关性,采用支持向量回归方法基于天气数据来预测谷物堆的平均温度。
对比于温度场建模方法,数据分析能够较为简易地对单点温度或平均温度进行预测,但对于复杂的仓储环境,预测结果不足以表现出整个粮仓内部温度的变化趋势,很难预测到仓中出现局部温度异常的情况,导致理论预测与实际情况偏差较大。为此,本文拟结合上述两种方法的优势,采用粮仓内已有监测点的温度及空时数据进行温度场预测,设计温度场预测模型。通过该模型对仓内多个监测点测温数据进行时序上的预测,得到仓内离散的温度预测值,再利用预测出的温度值进行空间上的插值估计建立仓内的预测温度场,以期为各种仓储过程中粮食温度预测提供基础,确保粮食安全。
1 材料与方法
1.1 空时温度场模型
本文利用分布式粮仓测控系统中各监测点的历史数据对粮仓内温度进行空时分析。首先对粮仓进行空间重建,将每个温度点的数据对应到粮仓的各个位置,以现场的电缆排布为标准,以a、b、c代表粮仓的行、列、层,对温度数据进行时序上预测,然后再进行空间上的插值估计。模型公式如式(1)所示。
(1)
式中,Zt+1(ε)为粮仓空间插值点的预估温度 ,ε为空间的不同位置;Zt+1(εi)为已知位置,即传感器所在位置的预测温度值,εi为传感器位置,以行列层信息(a,b,c)确定;λi为温度场的数值计算中已知位置的权重系数;Zt-j(εi+d)为粮仓中不同位置传感器的历史时间点数据,D为近邻传感器的个数,J为历史数据的时间长度;φjd为温度点预测中不同位置不同时刻对应的权重系数,f(x)代表一种非线性组合。
本文将BP神经网络和地质学中的Kringing插值方法[10-11]相结合,实现式(1)的温度场预测模型,采用BP神经网络对离散的温度点进行数据分析,完成模型中温度值预测的功能,再使用Kringing插值法将粮仓空间划分成细小的区块进行插值,建立温度场。
1.2 模型实现
1.2.1BP神经网络 BP神经网络是一种适于非线性模式识别和分类预测的人工神经网络[12-13],由输入层、隐含层和输出层组成。
输入层的输入序列为粮堆的温度数据以及湿度数据。从数据库取出的数据需要预处理,再作为神经网络的输入序列。首先将温度点对应到粮仓的各个位置,以现场的电缆排布为标准进行数据排列,令X(a,b,c)为第a行、b列、c层的温度点数据序列。
X(a,b,c)=[x1(a,b,c),x2(a,b,c),…,xt(a,b,c)]
(2)
式中,X(a,b,c)代表第a行、b列、c层的温度点数据,t为当前温度点温度数据的个数。
将温度数据处理好后,结合湿度数据,进行BP神经网络的训练。BP神经网络的框架如图1所示。
图1 BP神经网络Fig.1 BP neural network
BP神经网络算法有两部分:一是信号由输入到输出的正向传播,二是神经网络输出值与期望值的误差从输出到输入的逆向调节。在正向传播过程中,输入信号从输入层输入,经过隐含层,到达输出层产生输出信号。在输出层,比较输出值和期望值,如果其差值不满足设定条件,那么这个误差就需要逆向传播去调节权值阈值。在逆向调节阶段,误差由输出端开始逐层向前传播,对隐含层到输出层的权值和阈值、输入层到隐含层的权值和阈值进行调节。神经网络的训练具体步骤如下所示。
①信号正向传播。
假设输入层、隐含层、输出层的节点个数分别为n、l、m,隐含层的输出Hj如式(3)所示。
(3)
式中,xi为经过预处理之后的温度序列,ωij为输入层到隐含层的权重,αj为输入层到隐含层的偏置,g(x)为激励函数。
输出层的输出Ok如式(4)所示。
(4)
式中,ωjk为隐含层到输出层的权重;βk为隐含层到输出层的偏置;ξ为1~10的常数。
误差公式E如式(5)所示。
(5)
式中,yk为期望输出,ok为神经网络输出。
②误差反向传播。
令ek=yk-ok。隐含层到输出层的权值的迭代更新、输入层到隐含层的权值迭代更新方法如式(6)所示。
(6)
隐含层到输出层的偏置迭代更新和输入层到隐含层的偏置迭代更新方法如式(7)所示。
(7)
(8)
式中,Z(εi)为仓内实际温度传感器第i个位置处的温度预测值;ε是预测位置;w测量值数;λi为权重系数,λi的取值直接决定了待估计值的精度,由于Kriging插值的依据是无偏最优估计,则λi应满足以下条件。
(9)
1.3 模型实现
取数据库中一个仓库的定时数据作为样本数据,对监测点先进行预处理,结合空间信息得到每个温度点对应的位置,重新排列数据作为BP神经网络中训练集和测试集,得到训练好的神经网络以及预测的温度值,进行Kriging插值,结合仓库实际信息,得到真实仓房内的温度场预测图。具体实现流程如图2所示。
图2 基于BP神经网络的粮仓空时温度场预测流程Fig.2 Prediction flow of space-time temperature field of granary based on BP neural network
1.4 精度检验
本文以均方根误差(RMSE)和平均绝对百分误差(MAPE)来检验模型精确度,如公式(10)和(11)所示。
(10)
(11)
式中,N为样本个数,x(εi)为实际温度值,Z(εi)为温度场预测图中对应位置的预测值。
1.5 平台搭建
在粮情数据库中取某个粮情用户下的一个仓进行温度场预测,数据范围为最近一年的定时数据,去除无效数据后,共计720条数据。BP 神经网络设定最大训练次数为5 000次,学习率为0.05,训练要求精度为10-3。训练集与测试集比例为19∶1。Kriging插值半变异函数选取球形函数。该仓库为7行6列4层。
2 结果与分析
2.1 温度点预测结果分析
根据各个温度点位置寻找近邻点,取当前温度点相邻的温度点作为近邻点。如第一行第一列第二层的温度点(1,1,2),其近邻点一共有四个(1,1,1)(1,1,3)(2,1,2)(1,2,1)。这说明该温度点位于粮仓长方体空间的外层棱地方,属于外层温度点,受外温外湿的影响较大,所以在训练时,其神经网络输入序列包括几个温度点的数据以及大气数据。再如温度点(4,3,2),其近邻点一共有六个(4,3,1)(4,3,3)(4,2,2)(4,4,2)(3,3,2)(5,3,2)。这说明该温度点位于粮仓长方体空间的内部,属于“内芯”温度点,受仓外温度和湿度的影响较小,其温度波动除自身变化外还与周围空间粮食的热量传输相关,所以在训练时,其神经网络输入序列只包括几个温度点的数据即可。
运用BP 神经网络方法对数据进行分析处理,设定训练周期以及精度,对训练集进行训练,用测试集进行测试,取粮仓中某个点的训练结果进行展示,结果如图3所示,从仓内某点的温度预测对比图可以看出,测试集测试结果良好,预测的温度变化趋势与实际一致,误差很小。
图3 坐标(1,1,1)的温度预测对比Fig.3 Comparison of temperature predictions at coordinates (1,1,1)
选取相应平面的历史数据经过BP神经网络预测后,得出平面中不同位置的温度点预测值,得到其平均绝对百分误差为1.253 5%,均方根误差为0.106 0。
从表1可以看出,整个平面各监测点的温度预测效果也是良好的。
表1 第一行电缆各监测点实际温度与预测温度的对比Table 1 Comparison of actual temperature and predicted temperature of each monitoring point of the first row of cables (℃)
2.2 温度场预测结果分析
2.2.1温度场云图分析 在得出当前平面的温度预测值后,结合实际的仓库信息,将温度点的空间分布还原到实际场景中,并根据温度点的预测值进行Kriging插值,得出该平面的温度场分布。本仓库长40 m,宽35 m。行列之间的间距为5 m,最外层电缆距四周墙壁距离为2.5 m;层间间距为1.5 m,最顶层测温点距顶层间距为0.75 m。测温点自上而下排布,截面上的坐标(1,1)对应的就是实际仓库截面图中的(0.75,5.25),以此类推进行绘图,图4为实际温度场和预测温度场对比,可以看出,不同层面的温度基本一致,表明预测结果准确度高。
图4 实际温度场和预测温度场对比Fig.4 Comparison between actual temperature field and predicted temperature field
2.2.2温度场预测精度分析 由于预测出的温度场和预测出的点属不同维度,采用极限逼近方法进行比较,即留M法,留出M个已知点的位置做空白处,用剩下的(N-M)个已知点温度去估计M个未知点,最后逼近单点估计的效果,由平均绝对百分误差和均方根误差衡量,实验结果如表2所示。
表2 “留M法”验证效果对比Table 2 Comparison of the effect of verification by “retain M method”
从表2可以看出, M值越大,平均绝对百分误差和均方根误差越大,对未知点估计的准确度就越低。M值越大代表已知点的数目越小,已知点的数目越小,预估效果越差,当已知点为1时,其预估效果必定比(N-1)个已知点条件下的预估效果差。因此,本模型的温度场预测方式比单点温度预测方式效果更好。
3 讨论
在科学储粮背景下,储藏过程中粮食温度预测研究尤为重要。目前,多数学者以数值分析方式结合热力学、流体力学等专业学科知识进行温度场建模,能够利用模型精确反映粮堆的温度分布以及变化规律,但是其建模过程过于专业化,难以达到实际工程的需求。对比于温度场建模分析方法,数据分析是挖掘已有的粮堆监测数据自身所体现的规律,对粮堆单个测量点温度或者均温进行预测,实现过程较为简易,但是这种预测单点温度或均温的方式无法反映粮仓内的温度分布详情,无法掌握粮堆各处的的温度变化。
本研究基于数据分析预测温度,并采用地质学中的Kriging插值法对粮仓内部空间进行温度插值,建立温度场。该方法相较于传统的数值分析建模方式更加简易可行,实现复杂度低,易通过编程语言实现,相应的功能模块能独立实现,可嵌入到实际的粮情测控系统,使预测更为便捷。相较于单点温度或均温的预测方式,能够展现出粮仓温度变化的整体趋势,更为细致地反映出粮仓粮堆内部温度信息,为可疑点的扦样准确度提供了理论依据。