APP下载

一种混合神经网络的武陵山片区气候预测模型

2021-12-01李森林邓小武

怀化学院学报 2021年5期
关键词:武陵山时序步长

李森林, 唐 波, 邓小武

(怀化学院1.计算机科学与工程学院;2.武陵山片区生态农业智能控制技术湖南省重点实验室,湖南怀化418008)

神经网络模型的时序预测是一个重要的研究分支.随着移动互联网普及,不同领域的应用都会产生大量的时间序列数据,探究这些数据背后有价值的信息对人类的生活意义重大.比如时序预测模型在天气预测中的应用与农业的生产、耕作关系密切.武陵山片区是我国中西部以武陵山及周边地带命名的贫困地区,片区以山地为主、气候变化大,农业生态脆弱,受天气变化影响较大[1].因此研究探索一种混合神经网络的武陵山片区气候预测模型,对武陵山片区农民生产、生活的决策至关重要.

事实上,研究人员已经提出或改进了不同类型的时间序列预测方法.早期人工神经网络技术的出现和发展,为时序预测提供了技术支持,尤其反馈神经网络[2](BP)在预测中的应用非常广泛.BP模型具有模拟任何非线性函数的能力,但提取数据特征偏弱.深度学习(DL)是一种多层的神经网络模型,在提取数据特征和模型训练方面,具有端到端的自学习功能.近年来,研究人员提出了许多DL构建的时序预测模型,如RNN[3]、CNN[4]、LSTM[5]等,这些模型在预测领域表现优异.基于武陵山片区气候数据特征,我们提出一种混合神经网络预测模型.该模型由两个子模型组成,一个子模型训练文本数据,另一个训练图像数据;然后再将两个子模型合并输入到多层感知预测模型中.

本文主要有三点贡献:

(1)获取武陵山片区气候数据,并进行清理、规范化等预处理.

(2)深度分析了单变量、多变量、单步长、多步长时序数据在单神经网络(BP、LSTM、CNN)预测模型中的预测过程.

(3)提出了多类型输入的混合神经网络武陵山片区气候预测模型,并完成了与单神经网络BP、LSTM、CNN的实验结果对比.

1 相关概念

1.1 时间序列数据

测量数据是有时间维度的,时间序列数据是指一些随时间变化的检测值.这些数据除具有一般数据的特征维度外,还具有时间依赖性、近似性等特点.时间序列数据表现形式如下:

对于变量Xi(i=0,1,2,3,…,t-1,t),有:

Xt-n,…,Xt-3,Xt-2,Xt-1,Xt

Time-------------->

1.2 监督学习数据格式

监督学习是机器学习的一种方式.训练神经网络过程是利用一组具有已知标签的样本调整神经网络模型的参数,从而达到性能要求.因此,时间序列数据必须先转换为监督学习数据格式才能用于神经网络模型的训练,即按照时间步长重新构建输入数据和标签数据.

1.3 神经网络

神经网络是由大量感知器连接而成的计算模型.一般包括输入层、中间层和输出层,具有模拟非线性函数的强大能力.单个感知器结构如图1所示,xi为输入数据、wi为连接权重,f(·)为激活函数(如sigmoid、tanx、softmax、relu).在神经网络搭建过程中,输入节点和输出节点感知器数量是固定的,由输入数据特征数和输出数据标签数决定,可通过调整中间层深度和节点数来满足用户的要求.

图1 单个感知器

1.4 评价指标

预测误差的大小是评价一个模型可行性或性能的重要指标,通常是对一组测试数据通过模型计算出预测值,然后与实际值进行比较从而求得两者之间的误差.本文采用常用的平均绝对误差(MAE)和均方误差(MSE)来评价各模型,数值越小则效果越好.

2 相关研究

本节将对不同类型的时间序列数据和单神经网络预测模型进行分析研究,包括数据格式转换、分割训练数据集和测试数据集,基本模型分三部分.

2.1 单变量多步长BP神经网络

基本的时序数据是单变量时序数据,在用于神经网络预测模型时,需要重新构建为监督学习数据格式.例如,单变量时序数据如表1所示,包括时间和测量数据.针对表1中的数据(假设用变量X表示),在时间步长为3、预测下一个时间点数值的情况下,需要将X数据转换为以下监督数据格式,如表2所示.

表1 单变量时序数据

一个常用于预测的浅层BP神经网络模型,一般包括一个输入层、一个隐藏层和一个输出层.针对表2数据集构建的BP神经网络模型结构如图2所示,其中输入层节点数为3由输入数据的特征数量决定;标签数据的特征数量决定了输出层节点数1.需要强调的是该模型必须将原始的时序测量数据格式转换为监督学习数据格式.

图2 浅层BP神经网络

表2 监督学习数据格式

2.2 多变量多步长的LSTM预测模型

LSTM是一种递归神经网络的改进模型,能通过神经元门获得需保留的历史信息来帮助对未来的预测.LSMT模型的输入数据的维度为3D,所以需要把二维数据(样本数、特征数)格式转换为三维数据(样本数、步长、特征数)格式.多变量多步长的时间序列格式要求如表3所示.根据步长滑动窗口得到需要的数据样例,并重构维度,这样才可以用于模型训练.

表3 多特征与标签

从表3中可以看到时序数据处理后转换为输入数据集和标签数据集,设定步长为3,输入数据特征数量为4,则滑动窗口大小为3*4.窗口从首行开始滑动至行尾(-1行),构建了维度为(4*3*4)的输入数据样本,标签列y1,y2,y3,y4分别与之对应,这种格式是根据模型的输入要求确定的.

LSTM模型是一种RNN结构,RNN的基本神经元结构如图3所示,其隐藏层神经元s(t时刻)的输入即来自t时刻的x输入单元,又来自上一时间(t-1时刻)的s神经元,设U和W分别表示对应的权重矩阵,即St=f(U*Xt+W*St-1).对图3展开后得到如图4所示的结构,即一个由三层网络构建在t-1时刻和t时刻的隐藏层连接图.

图3 LSTM基本神经元结构

图4 RNN隐藏层神经元连接结构

LSTM适合于处理和预测时间序列中间隔和延迟较长的事件,对RNN模型中的神经元进行改进增加三个门,分别表示忘记门、输入门和输出门.其中输入门学习来决定何时让激活传入存储单元,而输出门学习决定何时让激活传出存储单元,遗忘门决定要从上一时刻的细胞状态中丢弃什么信息,保留哪些信息.

2.3 时序数据的CNN预测模型

CNN卷积网络模型在图像识别领域的性能非常显著[6].1998年纽约大学Yann LeCun提出的CNN,本质上是一个采用局部连接和共享权值的多层感知机.与BP多层感知机层与层之间神经元全连接不同的是,卷积神经网络层与层之间的神经元节点是局部连接形式,充分利用了层间局部空间相关性,将相邻每一层的神经元节点只和它相近的上层神经元节点连接;另一个特点是卷积层的每一个卷积滤波器(一般采用多个滤波器)重复作用于整个感受野中,对输入图像进行卷积,卷积结果构成了输入数据的特征.这种局部感知和共享权重的特点是:一方面减少了权值的数量,使得网络易于优化;另一方面降低了过拟合的风险.常用的最大池化采样方法的价值体现在两个方面:(1)它降低了来自上层隐藏层的计算复杂度;(2)这些池化单元具有平移不变性,增强了对位移的鲁棒性.CNN卷积模型能有效获取二维数据的重要特征,这对于多步长和多变量的时间序列数据特征提取非常重要.对于CNN模型在时间序列预测中的应用,假如时间序列数据(有3个特征)构建预测监督学习数据格式和卷积池化过程(如图5所示),其时间序列数据的特征数量为3、时间步长为2;通过CNN卷积获取时序数据的特征并池化,之后作为预测模型的输入数据.该方法用于混合神经网络的武陵山片区气候预测模型的子模型之一.

图5 CNN时序数据卷积和特征池化

CNN模型的训练算法包括两个阶段:

第一阶段,向前传播阶段:

(1)从样本集中取一个样本,输入网络;

(2)计算相应的实际输出.在此阶段,信息从输入层经过逐级的变换,传送到输出层.这个过程也是网络在完成训练后正常执行时的过程.

第二阶段,向后传播阶段:

(1)计算实际输出与相应理想输出的差;

(2)按极小化误差的方法调整权矩阵.

3 深度混合神经网络模型

移动互联网的快速发展,导致数据量急剧增加,并且浅层神经网络或单神经网络模型在时序预测方面的应用明显能力不足.本文武陵山片区的气候序列数据提出了一种深度混合神经网络预测模型[7](DHNN).该模型主要由LSTM和CNN子模型组合而成,实现了端到端的学习和训练,节省了人工成本和人为误差.DHNN模型的基本结构如图6所示,LSTM子模型接受气候时间序列文本数据,CNN子模型接受气候图像数据,之后对两个子模型进行合并输入到浅层神经网络预测层[9].

图6 混合神经网络

4 实验和分析

多步长和多特征的时序气候数据张量表示,能表达数据的结构信息、时序信息和内在特征.构建的DHNN模型中的LSTM子模型和CNN子模型可以有效抽取时序气候张量数据不同维度的特征.因此对获取的武陵山片区气候数据,首先要转换为具有监督学习的高维张量数据格式,满足模型的输入要求.用于深度混合神经预测模型的实验数据来自武陵山片区天气预报部门.

4.1 模型评估

为了评估各模型在实验数据上的性能,本文将混合神经网络模型与单模型MLP、LSTM和CNN进行了实验性能对比.实验采用了回归代价函数平均绝对误差(MAE)和均方误差(MSE).

(1)MAE是一种用于回归模型的损失函数,计算目标值和预测值之差的绝对值期望,能更好地反映预测值误差的实际情况.MAE定义如下式,其中yi为实际值为预测值.

(2)MSE是最常用的回归损失函数,计算预测值与真实值之差平方和的期望,MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度.MSE定义如下式,其中yi为实际值为预测值.

4.2 数据集

武陵山片区是中国中西部以武陵山命名的多山区域,面积达17.18万平方公里,位于湖南、湖北、重庆和贵州的交界处.该片区因为平地少、多梯田,农业收入受天气影响较大.获取跨度2011年至2020年每天的气候信息,构成了一个三维的(时间*地点*数据)张量数据集[10],如图7所示.这里的数据分为文本数据和图像数据.下面以武陵山片区怀化为例,给出相关部分实验数据,如图8为怀化2011年至2020年的温度变化曲线,可以看出2019年的冬季数据有异常,为此本实验进行了适当调整.

图7 张量数据

图8 怀化2011年至2020年温度变化

4.3 注意事项

实验过程中数据和模型结构(深度和节点数)对预测性能影响较大.首先对获取的时间序列数据需要进行预测处理:(1)空值处理,采取均值填充和删除策略;(2)字符串序列进行数字化;(3)对数据进行0-1的标准化;(4)分割数据集,训练集数据占比80%,验证集数据为10%,检验数据集占比10%;(5)时序数据监督化,因为时序数据不能满足监督学习模型的输入要求,所以需要将原始数据进行监督学习格式化;(6)时间步长选择,不同的时间步长决定了样本数的数量和训练结果.其次由于神经网络模型深度和各层神经元数量的不同,预测结果也不同,采取网格搜索方法调整优化各类参数(如深度、各层神经元数等),从而找出理想的参数组合.梯度消失和爆炸是神经网络模型的先天不足,是反向传播过程中激活函数求导所致,这是需要注意和解决一个问题.本文使用Relu激活函数和Batchnorm来防止该现象的发生.相反,SLTM模型由于其神经元中设置门操作,不会出现梯度问题.

5 结果与分析

本小节将使用BP、LSTM、CNN和DHNN四种模型完成实验和数据对比.

5.1 各模型评估数据

图10 LSTM模型预测

图11 CNN模型预测

根据模型评估尺度MAE和MSE,表4给出了各模型相关数据.

表4 预测数据集上的评估数据

从表4可以看出,BP模型的性能最差,混合模型的性能最好,这主要是各模型对数据特征的提取能力不同所致.

5.2 各模型预测值和真实值

模型训练后,测试集上数据的表现能反映模型的泛化能力.如图9至图12分别反映BP、LSTM、CNN和DHNN模型的预测能力.可以看出,DHNN模型拟合较好.

图9 BP模型预测

图12 HDNN模型预测

6 结束语

时序预测模型是对具有时间维度和依赖性特征的张量数据进行建模.本文根据武陵山片区的数据特征,给出了单个模型和混合模型预测的相关实验.对时序模型预测的误差进行了评估和比较,发现数据和模型具有同等重要性.清洗和标准化后的数据能有效提高模型的泛化性能,不同深度或各层节点神经元数,也同样严重影响模型的预测效果.误差梯度的爆炸和消失一直是神经网络模型固有的特征,不利于模型的训练和预测,这方面还需要认真研究和探讨.

猜你喜欢

武陵山时序步长
顾及多种弛豫模型的GNSS坐标时序分析软件GTSA
中心差商公式变步长算法的计算终止条件
秦巴-武陵山区重庆段乡镇域多维贫困测度及类型划分
清明
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
一种改进的变步长LMS自适应滤波算法
诗二首
基于不同建设时序的地铁互联互通方案分析
推动武陵山片区民族文化生态旅游脱贫
基于FPGA 的时序信号光纤传输系统