粮堆温度预测插值算法的研究

2021-02-18 03:25张明跃周慧玲钱荣荣汪中明刘尚峰
中国粮油学报 2021年12期
关键词:粮温粮堆插值

(张明跃 周慧玲 钱荣荣 汪中明 刘尚峰

(北京邮电大学人工智能学院1,北京 100089)

(国家粮食和物资储备局科学研究院2,北京 100037)

(安徽现代粮食物流中心库3,舒城 231323)

粮食是我国重要的战略储备物资,粮食储备是保障粮食安全的关键环节,在粮食储藏过程中,害虫及霉变的发生是造成粮食损失的主要诱因。在实际粮库中,对粮堆温度、湿度进行精准监控,是防止害虫和霉菌发生,从而保障粮食数量和质量安全的关键因素。目前我国各级粮库通过在粮仓内布置温度传感器阵列,实现对粮堆内温度的实时监测,保管员通过粮情信息管理系统对粮温信息进行分析,从而对粮堆是否出现安全异常点进行判断。

我国早期的粮情监测系统仅限于对粮库温度的实时检测,而粮温信息是否正确,以及其变化趋势是否超出安全范围,一般只能凭借管理员的经验进行判断并做出相应控制决策,这样会导致对安全隐患的迟判或漏判,因此对粮堆温度进行短期的有效预测就显得尤为重要。因此,研究人员逐渐展开对粮食储藏温度场预测的理论研究,以建立有效的粮堆温度预测体系,提前发现温度异常位置,及时采取防控措施,以达到减少粮食损失,保障粮食质量安全的目的。

此外,根据原国家粮食局颁发的粮情电子检测分析控制系统技术规程要求[1],高大平方仓内温度传感器节点水平距离不能超过5 m,以吊顶粮仓为例,各层的温度传感器节点横向距离为4.38 m,纵向距离为4.2 m。由于粮食是热的不良导体,粮堆对热的传入、传出都很缓慢,若局部节点间有因害虫的快速生长或霉变情况发生而造成的温度异常,等到邻近的温度传感器节点监测出来时,可能为时已晚,因此要建立有效的粮堆温度预测系统,对粮堆温度场进行整体把控,对传感器节点间温度进行预测插值,以达到对粮库温度场的更精准监测。

粮堆导热性、热容量的规律和分布是对粮堆温度场变化进行预测的理论基础。虽然影响粮温变化的因素十分复杂,但是粮仓温度场分布及其变化规律是可以通过数学模型大致计算的,因此在实际粮仓中,通过对温度场进行一定的简化,可以在时间维度上可以将粮堆温度预测看作一个非线性的时间序列问题并进行预测[2]。

传统的粮温预测模型主要分为三类:基于三传理论的计算模型、有限元分析法和基于经验函数建立温度场的预测模型。基于三传理论的计算模型是基于热力学、传热学以及能量平衡理论,通过一定量的数学计算推算出粮堆温度变化趋势的理论模型[3];有限元方法是通过简化粮仓存储环境,利用有限元进行瞬态温度模拟,建立温度场,进而对粮堆温度进行预测[4];基于经验函数的预测模型是将节点的温度变化趋势预设为某种数学函数,如幂函数,指数函数或正弦函数,其中,指数函数和幂函数虽然可对粮堆温度进行预测,但是预测精度不高且无法表征粮堆温度变化规律;正弦函数是吴子丹[5]在分析归纳了我国大量粮仓粮情数据后提出的一种经验模型,从实际应用情况来看,也较为符合粮堆温度变化规律。

上述研究揭示了粮堆温度场变化的一些规律并在粮堆温度预测研究方面取得了一定的成效,但是由于粮温时间序列的非线性特性、复杂性以及在粮库中实际应用的落地性,用上述研究方法建立的数学模型存在一定的局限:基于三传理论的预测模型相关的参数较多,每个监测点的温度变化和其他监测点的温度变化具有相关性,假如对每一个监测点都使用该模型计算,则计算量会很大,随之计算时间也会很长,不能满足实时性的要求,不便应用在实际粮库内的温度预测;有限元分析法是通过将复杂问题简单化,进而对问题进行近似求解,预测精度存在偏差,只能在实验室条件下进行[6];基于经验函数的粮温预测模型,是将粮堆温度变化规律预设为固定的数学函数,再去对模型参数进行更新,这样的预测精度不高。

机器学习和深度学习技术因其能有效处理复杂非线性问题和自动学习模型参数上的优势,可以有效解决传统温度预测方法中模型复杂,计算量大,或预测精度不高的局限,从而提升整体预测效果,正被逐渐应用到粮堆温度预测研究上。郭平飞等[7]通过人工神经网络和粒子群算法优化过的神经网络对粮食温度进行了预测;同时也使用循环神经网络及其变体对粮食温度进行预测,并通过改进网络结构和激活函数进一步提高预测效果。在2019年,赵岩等[8]通过长期短时记忆网络算法(LSTM)对粮库的温度数据进行预测,与支持向量机(SVM)和整合移动平均自回归模型(ARIMA)算法相比,预测效果提升了5%。段珊珊等[9]通过分析储粮环境中气象影响因素,通过支持向量机算法(SVM)基于多气象因素对粮堆表层平均温度进行预测。

这些基于机器学习的粮堆温度预测算法虽然取得了不错的预测效果,但是这些研究仅考虑了传感器节点数据时间层面而忽略了空间层面即节点之间的相互影响,而对于粮堆这种可自激不稳定的复杂生态系统,割裂空间层面而单纯考虑时间层面的方法,预测精度会存在局限性。因此本文提出基于长期短时记忆网络(LSTM)的变体门限循环神经网络(GRU)和反距离加权(IDW)的时空-温度预测插值算法,在粮温数据时间层面建模的基础上增加了空间影响因素,即通过对节点历史温度数据分析的基础上增加了相邻节点的影响因素,以得到该节点的温度变化规律,对未来时刻的温度数据进行预测。并且,基于此预测模型能够对未知节点温度数据进行预测插值的特性,可以生成未来时刻的粮堆温度场云图,直观反映出粮堆温度场宏观变化趋势,为粮库提前预知局部危险因素提供指导[10]。

1 数据集建立与分析

1.1 温度数据获取

本研究的粮堆温度数据来源于安徽库13号吊顶仓的温度传感器陈列,其布置方式是:温度传感器布置有4层,层间距离不大于2 m,每一层传感器阵列由东向西分为10列,由南向北为7行,每一层温度传感器节点间横向间距为4.38 m,纵向间距为4.2 m,一层共有70个传感器节点。由于在有限时间内, 粮温在时空上的变化是有限的 ,即在短时间内粮堆各个温度传感器节点温度数据变化不大,因此本研究中的实际粮库内的粮温数据采样频率设置为每周1次,采样时间为每周一上午8时,数据从2019年1月到2019年12月,长度为52周。粮堆各层的温度传感器节点分布如图1所示,每层温度传感器数据为70个。

图1 粮堆温度传感器节点分布图

1.2 温度数据分析

判断节点的粮温数据是否具有时间相关性,是进行粮温预测的基础。经过对不同地区不同粮仓粮温信息分析研究,学者们发现粮堆内任何测温点的粮温变化都是一个与粮仓外界气温变化类似的随时间变化的正弦曲线,但随其在粮堆内位置的不同,或者说距粮仓外壁距离的不同,节点粮温时滞逐渐加大,即粮温曲线出现滞后效应[11]。由于粮堆靠近粮壁处和表层的温度受粮仓外部气温影响较大,粮堆内部温度变化较为平稳,且具有均匀化的特性,即在没有外部干扰的情况下,内部节点温差不大,便于通过预测模型挖掘温度变化规律[12]。因此本研究仅针对粮堆内部温度和表层第二层温度数据进行预测和插值研究,而不考虑测温矩阵外部和表层的粮堆温度数据。

从粮堆第二层各个温度传感器采集的一年52周的粮温数据中,选取其中4个不同的较为分散的内部节点温度数据做分析,如图1中所示,节点温度变化曲线如图2所示,可以看出某节点温度时间序列呈明显的季节性趋势,基本呈现出正弦变动趋势。

图2 节点温度时间序列图

典型的时间序列数据都具有滞后效应,即前一时刻的值会对下一段时刻的值产生影响,这是进行时间序列分析建模的基本依据[13]。因此本研究首先通过时间自相关分析法对温度传感器节点的温度时间序列数据进行了分析。时间自相关性是指同一时间序列在不同时刻取值的相关程度,假设有时间序列x,设在时刻i和滞后k阶即i+k时刻之的时间相关性即为k阶自相关,相关性系数公式为:

(1)

式中:E代表期望计算;k表示时间步长;σ表示标准差;Xi代表在i时刻的时间观测值;Xi+k代表在i+k时刻的时间观测值;μi和μi+k表示同一条时间序列中在i时刻和i+k时刻的期望值,相关性系数越接近于1,说明i时刻与i+k时刻时间相关性越强。通过上式可计算粮堆温度时间序列滞后k阶自相关系数的值,如表1所示。

表1 时间自相关系数表

从表中数据可知,粮堆温度时间序列随着滞后阶数k的增加,粮温时间序列的自相关系数从大逐渐减小。说明粮温时间序列中某一时刻的值对下k个时刻的温度值有一定的影响,并且这个影响随着k的增大即滞后时间的增大,逐渐变小,粮温预测模型正是通过分析挖掘这一特性来对未来时刻的数据进行预测的[14]。此外,对本文预测模型用于输入的样本数据进行构建时,需要通过滑动时间窗口法将一维粮温时间序列划分为若干个时间样本数据,并且不同长度的窗口大小还会对预测效果产生不同的影响,较小的窗口尺寸不能保证模型提取到足够的长的特征,而较大的窗口尺寸将增加无关的输入和计算复杂性。因此,通过自相关分析可以确定合适的窗口尺寸范围,以窗口长度是3为例,数据集划分如图3所示。

图3 时间序列数据集样本建立

本研究的粮温预测模型是在对时间层面建模的基础上考虑了空间影响因素,以提高预测精度,因此需要对温度数据进行空间相关性分析,来验证同一时刻相邻节点的温度数据是否存在空间相关性,以此作为粮温预测模型增加空间影响因素合理性的理论基础。

莫兰指数是空间自相关系数的一种,其值分布在[-1,1],用于判别网格数据空间层面是否存在自相关性,其值大于0说明网格空间数据存在正相关性,越近于1说明正相关性越强;小于0说明网格空间数据存在负相关性,越接近于-1说明负相关性越强[15],计算公式为:

(2)

其中,S0计算公式为:

(3)

图4 全局莫兰指数折线图

由结果可知,各周粮温数据全局莫兰指数均大于0,说明粮温数据在空间层面上具有正相关性,即某个节点温度与周围节点温度存在联系,具有相近的变化趋势。

通过时间自相关系数分析法和空间莫兰指数分析法对粮温时间序列数据进行分析后得出结论:短期内即滞后周数较小时,粮温数据在时间维度上具有较强的相关性,某刻的温度会对之后时刻的温度产生影响,这是对粮温进行短期预测的理论基础;在空间维度上,粮温数据具有正相关性,某节点的温度会受到周围节点温度的影响,这为本文的时间空间相结合进行温度预测提供了理论基础。

1.3 数据预处理和结果检验方法

为了减轻数据尺寸的影响并加快模型训练的速度,将粮温数据转为以0.1摄氏度为单位的数据,然后对粮温数据进行归一化处理,公式为:

(4)

式中:x*表示归一化后的标准数据;x表示原始粮温数据;xmax表示节点粮温数据最大值;xmin表示节点粮温数据最小值。

本研究选取平均绝对值误差MAE、均方误差RMSE 以及R2三个指标对模型预测的可靠性和准确性进行度量。其中MAE和RMSE指标衡量预测值偏离真实值的误差,其值越小代表预测效果越好,而R2衡量模型拟合数据的能力,该值越接近1,模型效果越好。其各自的计算公式为:

(5)

(6)

(7)

2 模型原理

2.1 LSTM模型和GRU模型

传统的神经网络模型,如深度神经网络模型和卷积神经网络模型等都无法应用在时间序列数据分析上面,而为了进行时间序列数据的分析处理,循环神经网络模型(RNN)应运而生。RNN模型可以通过单元的隐藏层将信息传递给下一个单元,使得该隐藏层的输出由当前时刻与上一时刻共同决定,从而可以将信息传递下去,因此RNN在处理时间序列数据时具有优势。但是,RNN无法处理输入时间序列数据中的长期依赖问题,即距当前时刻较长时间前的信息无法传递下来,并且还可能会导致梯度消失和梯度爆炸问题。为了解决这些问题,有学者提出了长短期记忆网络(LSTM)。

LSTM添加了细胞状态Ct,可以保留细胞单元之前的信息,从而使网络具有长期记忆,细胞单元结构如图5所示。

图5 LSTM细胞单元结构图

ht分别作为细胞单元当前时刻输出和下一时刻的输入,Ct是细胞状态,用于保存单元状态和之前的信息。ht-1和ct-1是前一个单元的输出和细胞状态,而xt是该时刻的输入,整体公式为:

(ht,Ct)=Ht(xt,ht-1,Ct-1)

(8)

式中:Ht是细胞单元中的整体函数,它由三部分组成,分别是遗忘门,输入门和输出门:遗忘门用于确定上一个单元的信息在当前单元格中保留的程度,并向单元格状态Ct输出一个介于0和1之间的数字,以表示要保留哪些信息,公式为:

ft=σ(Wf·[xt,ht-1]+bf)

(9)

式中:ft是忘记门的输出;W和b是网络参数,σ是激活函数;下一部分是输入门,它通过将单元状态从Ct-1更新为Ct来确定应存储哪些新信息,公式为:

Ct=ft⊗Ct-1+it⊗tanh(Wc·[xt,ht-1]+bc)

(10)

it=σ(Wi·[xt,ht-1]+bi)

(11)

最后,输出门可以通过公式(11)计算单元的输出ht,公式如下:

Ot=σ(Wo·[xt,ht-1]+b0

(12)

ht=Ot⊗tanh(Ct)

(13)

经过LSTM 的三个门函数以及整个单元输出状态的更新,确保输入特征的关键信息得到保留和传递。

而GRU(门循环神经网络)是在原始LSTM网络基础上,将LSTM的遗忘门和输入门合成了一个更新门,并增加了重置门,去除掉了细胞状态,使用隐藏状态来进行信息的传递,是一种新变体,如图6所示。

图6 GRU结构图

图6中的rt和zt分别表示重置门和更新门的输出。重置门用于控制前一细胞单元有多少信息得以保留。更新门用于控制前一细胞单元的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。与LSTM相比GRU只有两个门,进一步简化了模型,能加快模型收敛速度,尤其针对本研究中粮堆温度数据数据量较少,用于输入的节点数据过多的问题,GRU能减小参数数量,有效解决过拟合问题,因此本文采用GRU进行粮堆温度时间层面的初步预测。

2.2 IDW插值算法

反距离权重插值(IDW)是空间插值算法的一种,旨在通过有限的节点信息计算出未知节点的信息。反距离权重插值的基本思想是:距离待插值点越远的节点贡献度越低,距离近的节点则贡献度越高,并且贡献度与距待插值点的距离成反比[16]。计算过程如下:

首先,需要计算所有离散节点与待插值节点的距离,在二维平面空间,离散点(xi,yi)到网格(A,B)的距离Di为:

(14)

然后,需要找出离待插值节点(A,B)最近的N个离散点并计算距离,则待插值节点(A,B)上的估算值Z为:

(15)

其中,Zi为离散点i上的实际值,Z(A,B)为待插值节点(A,B)上的估算值,Di为待插值点与第i个节点间的距离,P是距离的幂,一般取2。

相比于其他空间插值算法,反距离权重插值适用于表现出均匀分布而且足够密集以反映局部差异的观测点数据集的场景,尤其适用于场景呈现出局部变异性的情况。本研究中粮库内传感器节点分布均匀,布点密集,且因为发生害虫或霉菌,易出现局部温度突变的情况。另外,IDW通过权重系数可将距待测节点距离远,影响不大的节点数据基本忽略,相当于进行了dropout,并且也便于将IDW的权重作为输入特征连接到GRU网络结构之后。因此本研究将IDW作为预测模型的空间建模部分,连接到GRU层后,通过反向传播对整体模型进行参数的更新。

2.3 总体模型介绍

首先将粮堆传感器各个节点数据通过滑动窗口法转化为用于模型输入的样本数据,之后再分别通过GRU层和IDW层,最后得到待预测点下一时刻的预测值。以粮堆传感器节点的某一层为例,如要预测某一节点A的温度数据,首先将其他节点的历史温度数据分别输入到GRU层中,初步获得各节点的初步预测值Zi,i代表第i个节点,设IIDW=[i1,i2,…in]是IDW层的输入向量,其中in为各节点的贡献,计算公式如下:

(16)

式中:i代表第i节点;Zi代表GRU层的输出;n为节点总数;wi为权重;计算公式为:

(17)

式中:d(x,xi)是点x与xi之间的距离;p用于调节灵敏度,保持权重增加或上升合适的速率,一般取2。通过IDW层可初步将贡献度低即距离远的粮堆节点数据忽略。因相同距离节点的贡献度也不一定相同,因此最后将IIDW输入全连接层,再进一步对特征进行筛选,得到最后的输出:

OA=σ(WIDW·IIDW+bIDW)

(18)

OA即为未知节点A点的预测值。以此方法,可以预测出其他未知节点的温度数据,并生成未来时刻的温度云图。

3 实验与结果验证

3.1 实验数据和参数设置

温度数据采用1年的历史数据,通过滑动窗口方法划分温度时间序列样本数据,获得特征和相应标签,对模型进行训练,滑动窗口大小通过时间自相关性分析后初步设置为4,可以将粮堆时间序列划分为48个长度为4的一维样本数据,可以理解为通过4周的数据预测下一周的温度。同时将粮堆第二层的70个节点的粮温数据输入模型,数据维度是70×48×1×4,用70%的数据进行训练,30%的数据进行测试,batchsize设为3,epoch设为200,优化算法使用adam,GRU单元维度为4,使用均方误差(RMSE)作为损失函数,进行优化迭代,训练时长为367 s。

3.2 对比和结果分析

为了进一步评估算法的性能,本研究将预测模型其与其他常用的时间序列分析算法进行了比较,包括传统的经验函数法,支持向量机(SVM),平移自回归函数(ARIMA),和LSTM等算法,预测结果如下表2所示。

表2 实验结果

其中 MAE、MSE指标衡量预测值偏离真实值的误差,其值越小代表预测效果越好,而R2衡量模型拟合数据的能力,该值越接近1,说明模型效果越好。由表可知,LSTM算法优于SVM和ARIMA算法,表明GRU在处理温度预测这种非线性的时间序列数据时,比传统算法具有优势;本研究的GRU+IDW算法效果优于LSTM算法,表明同时考虑时间和空间相关性比单纯考虑时间相关性效果要好。

在进行未来温度场云图插值方面,实验数据来源粮库,东西向长度为39.42 m,南北向长度为25.2 m,因算法仅需要输入已知传感器历史温度数据和待预测节点的位置信息,因此通过对粮库按0.1 m进行空间插值,以通过历史数据分别插值预测2019年5月13日、2019年9月9日和2019年12月12日为例,插值云图见图7。

图7 预测插值云图

通过交叉验证的方法,将粮堆内部10个较为分散的传感器节点设为待预测节点,通过模型得到的预测值与真实值作比较,三个日期预测插值的RMSE分别为25.24,29.25,23.85,预测结果误差不超过1°,因此预测插值出的云图能较为准确的反映出实际粮仓的温度场变化,可直观分析出温度过高的温度节点,使仓库保管员能对可能爆发虫害的危险点进行监控,对粮库进行微观把控。

4 结论

使用基于深度学习的方法,经检验在处理非线性的温度时间序列方面效果优于传统的预测算法。并且GRU+IDW模型是在时间层面预测的基础上考虑了空间影响因素,与现在粮库常用的基于经验函数的温度预测算法和只考虑时间层面的机器学习预测算法相比,预测模型得到的节点温度预测均方误差分别降低了23.81和6.82,预测精度得到提升。并且基于此预测模型还能够对未知节点温度数据进行预测插值,生成未来时刻的温度场云图,从实验结果来看能够较为准确地反映出实际粮堆温度场变化趋势,可为粮库温度监测提供指导。

猜你喜欢
粮温粮堆插值
不同装粮高度和跨度的高大平房仓粮温分布规律研究*
浅圆仓不同通风方式降温效果和耗能对比*
浅圆仓东西面靠墙粮温变化研究*
储料竖向压力对粮仓中小麦粮堆湿热传递的影响
基于Sinc插值与相关谱的纵横波速度比扫描方法
高温高湿区大直径浅圆仓不同风机组负压通风试验
温湿度对稻谷粮堆结露的影响及实仓结露预警
地下库粮堆充氮技术研究
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析