APP下载

基于改进PSO-LSTM神经网络的气温预测

2020-07-31杨孟达

现代信息科技 2020年4期
关键词:粒子群算法

摘  要:气象数据的数据量通常较大,传统长短时记忆(LSTM)神经网络针对气象数据人为调参十分困难,为了解决这个问题,提出了一种改进PSO-LSTM模型。其通过使用非线性变化惯性权重和学习因子的粒子群算法(PSO)对LSTM神经网络的相关参数进行优化,去除人为调参因素。实验使用两个不同气象站点的气象数据集,结果表明,与竞争预测模型相比,改进PSO-LSTM模型具有更高的预测精度。

关键词:长短时记忆神经网络;粒子群算法;气温预测

中图分类号:TP183     文献标识码:A 文章编号:2096-4706(2020)04-0110-03

Abstract:The amount of meteorological data is usually large. It is very difficult to adjust meteorological data manually by traditional long short memory (LSTM) neural network. In order to solve this problem,an improved PSO-LSTM model is proposed. The PSO algorithm,which uses the nonlinear inertia weight and learning factor,optimizes the parameters of the LSTM neural network and removes the human parameters. The experimental results show that the improved PSO-LSTM model has higher prediction accuracy than the competitive model.

Keywords:long and short-term memory neural network;particle swarm optimization algorithm;temperature prediction

0  引  言

气象温度的预测一直是气象预测的重点问题,同时也是难点问题,对社会生产生活实践有着巨大的影响,是一项具有挑战性和深远意义的工作。本文将神经网络和气象预测的结合作为研究课题,通过在成都信息工程大学软件工程学院中学习相关课程,具有了良好的基础编程技术,对神经网络有了充分的了解,并熟悉了气象预测的数据收集和实验预测等流程,最后进行大量的论文阅读研究和实验论证。

目前,在相关研究中采用较多的是BP神经网络模型[1,2],虽然相关研究表明BP神经网络的预测效果好于传统的预报方法,但是BP神经网络也存在不能获取时序信息的缺点,而气温数据是典型的时序数据,这就限制了BP神经网络获得更好的预测效果。为了解决这个问题,研究者们引入了循环神经网络RNN[3,4](Recurrent Neural Networks)将气温数据之间的时序信息也纳入预测模型中,得到了比BP神经网络更好的预测效果。然而,RNN虽然被设计成可以处理时间序列信息,但是其记忆较深的还是短期信息,长距离的时序信息几乎没有起到作用,而且距离过长还可能会引发梯度消失和梯度爆炸。RNN的这些缺陷导致其不能解决长期时序问题。RNN的一个变体——长短期记忆神经网络LSTM[5-7](Long Short-Term Memory)能够有效解决简单循环神经网络的梯度爆炸和梯度消失问题,能够处理长期时序问题,实现长期记忆。

虽然LSTM解决了梯度爆炸和梯度消失问题且能够很好地处理长期预报问题。但是气象数据通常较大,相应的LSTM模型參数难以确定,在现实中,对于LSTM模型参数的选择往往依靠研究者的经验来确定,随机性较大,会降低模型预测效果,容易陷入局部最优解。

为了解决这个问题,本文提出非线性变化惯性权重和学习因子的PSO算法对LSTM的参数进行优化实现气温预测的方法,通过改进PSO算法提高LSTM参数的全局优化能力,降低其随机性,提升LSTM的预测效果和稳定性。

1  改进PSO-LSTM模型预测方法

采用PSO算法优化LSTM相关参数。将LSTM需要优化的参数作为粒子输入PSO算法进行优化,将得到的最优粒子作为参数输入LSTM中,此时的LSTM为PSO优化过的最优模型,其预测精度得到提升,这个过程没有人为调参因素影响,随机性较低,优化效果比较稳定。

1.1  LSTM神经网络结构

LSTM是一种特殊的循环神经网络,可以解决长期依赖问题,避免传统循环神经网络产生的梯度消失与梯度爆炸问题。它引入了一种被称为记忆单元(Memory Cell)的结构来记忆过去的信息,每个记忆单元拥有三种门结构,包括遗忘门(forget gate)、输入门(input gate)和输出门(output gate)。LSTM记忆单元结构如图1所示,其中方框内上方的那条水平线,被称为单元状态(cell state),可以控制信息传递。遗忘门是以上一单元的输出ht-1和本单元的输入Xt为输入的sigmoid函数(σ是sigmoid激活函数),为ct-1中的每一项产生一个在[0,1]内的值,控制上一单元状态被遗忘程度。输入门和一个tanh函数配合控制新信息加入程度。输出门用来控制当前的单元状态被过滤程度。

改进PSO-LSTM模型的主要思路是利用上述PSO算法的良好参数寻优能力对LSTM的相关参数进行优化,提升LSTM的预测效果。改进PSO-LSTM模型的建模步骤如下:

步骤1:初始化相关参数,初始化粒子群算法参数:种群规模N、空间维数D、迭代次数tmax、粒子的初始位置 和初始速度 。初始化LSTM算法参数:隐藏层为3层,第一层隐含层的初始神经元数  ,第二层隐含层的初始神经元数  ,第三层隐含层的初始神经元数  ,初始学习率α0,初始迭代次数n0;

步骤2:根据需要调整LSTM参数形成相应的粒子,粒子结构为(h1,h2,h3,α,n),其中,h1表示LSTM第一层隐含层的神经元数,h2表示LSTM第二层隐含层的神经元数,h3表示LSTM第三层隐含层的神经元数,α表示LSTM的学习率,n表示LSTM的迭代次数;

步骤3:将平均绝对误差MAE作为粒子适应度值,并根据每个粒子的初始位置  计算初始适应度值确定初始的个体最优位置  和全局最优位置  ;

步骤4:对粒子的位置  和速度  进行更新,再根据新的位置  计算适应度值,更新粒子的个体最优位置  和全局最优位置  ;

步骤5:若迭代次数达到最大,则根据最优粒子训练好的LSTM模型输出预测值;若迭代次数没有达到最大,则返回Step4继续迭代。

2  实验与分析

文本将提出的改进PSO-LSTM模型和BP模型、RNN模型和LSTM模型进行实验对比。实验平台所用操作系统为Windows 7,编程环境为python3.6,程序框架为TensorFlow 1.10.0。实验具体设计及结果分析如下:

实验采用2个数据集对比验证预测结果,数据集均来源于中国气象数据网(http://data.cma.cn/),特征为气温、地温、降水量、气压、湿度、日照时间和风速,采用Z-Score标准化。取数据集前80%数据作为训练集,后20%作为测试集。数据集具体信息如表1所示。

BP神经网络采用n-2n+1-1结构,n为输入层神经元个数取7,隐藏层神经元个数取15,迭代次数800次,学习率取0.001。RNN结构采用3层隐藏层结构,输入层神经元个数取7,隐藏层神经元个数均取15,迭代次数800次,学习率取0.001。LSTM结构与RNN相同。改进粒子群算法迭代次数tmax取20,种群规模N取10,空间维数D取5,wmax=0.9,wmin=0.1,c1max=c2max=2,c1min=c2min=0.6,粒子(h1,h2,h3,α,n)中,h1、h2和h3的取值范围为[1,100],速度取值范围为[-2,2],α的取值范围为[0.0001,0.01],速度取值范围为[-0.0005,0.0005],n的取值范围为[500,1000],速度取值范围为[-20,20],适应度使用平均绝对误差MAE。

实验使用历史气温、地温、降水量、气压、湿度、日照时间和风速7个特征作为输入来预测未来一天的日均气温,并与实际气温数据进行对比分析。为了评价预测效果,实验采用了均方误差(MSE)、均方根误差(RMSE)和平均绝对误差(MAE)作为评价指标,其数值越小,模型预测结果和真实值误差越小,预测精度越高。

各个模型在数据集1上的预测误差如图2所示,在数据集2上的预测误差如图3所示,表2展示了各个模型在不同评价指标下的对比结果。

分析图2和图3可知,各个模型在预测时,BP模型大部分时间点的预测值和真实值都有较大误差,导致其整体预测效果不好。RNN模型误差曲线波动小于BP模型,因此其预测效果要好于BP模型。LSTM模型和改进PSO-LSTM模型整体的误差曲线要好于BP神经网络和RNN模型,而改進PSO-LSTM模型的误差总体上小于LSTM模型的误差。

分析表2可知,在数据集1中改进PSO-LSTM模型相较于BP模型、RNN模型和LSTM模型,预测结果的MAE分别降低了12.10%、9.33%和3.65%,MSE分别降低了17.54%、11.68%和3.73%,RMSE分别降低了9.19%、6.02%和1.88%;在数据集2中改进PSO-LSTM模型相较于BP模型、RNN模型和LSTM模型,预测结果的MAE分别降低了19.38%、7.71%和4.82%,MSE分别降低了32.85%、8.72%和3.22%,RMSE分别降低了18.05%、4.46%和1.63%。这表明改进PSO-LSTM模型在2个数据集中各个评价指标上均优于其他三个模型。

4种模型的预测结果基本符合实际值的变化曲线,改进PSO-LSTM模型在2个数据集中各个评价指标上均优于BP模型、RNN模型和LSTM模型,说明相较于其他三个模型,改进PSO-LSTM模型预测精度更高。

3  结  论

本文提出了一种改进PSO-LSTM模型用于对带时序信息的气温数据进行预测。通过非线性变化惯性权重和学习因子的PSO算法对LSTM进行优化,使用自动调参提升LSTM预测的精度和全局优化能力。使用来源于中国气象数据网的气象数据,预处理后得到了2个不同气象站点的数据集用于实验验证。实验结果表明,相较于BP模型、RNN模型和LSTM模型,改进PSO-LSTM模型具有更高的预测精度。

参考文献:

[1] 施晓芬,陈翔,曹永勇,等.基于回归BP神经网络误差分级迭代法的逐时气温预测方法研究 [J].数学的实践与认识,2019,49(1):145-151.

[2] FUENTES M,CAMPOS C,GARCIA-LOYOLA S.Application of artificial neural networks to frost detection in central Chile using the next day minimum air temperature forecast [J].Chilean Journal of Agricultural Research,2018,78(3):327-338.

[3] LIANG Y,QIU L,ZHU J,et al.A Digester Temperature Prediction Model Based on the Elman Neural Network [J].Applied Engineering in Agriculture,2017,33(2):143-148.

[4] 林希,张政.基于Elman神经网络的气温时间序列预测 [J].科技咨询导报,2007(25):4-5.

[5] 陶晔,杜景林.基于随机森林的长短期记忆网络气温预测 [J].计算机工程与设计,2019,40(3):737-743.

[6] XU C L,CHEN H X,WANG J Y,et al.Improving prediction performance for indoor temperature in public buildings based on a novel deep learning method [J].Building and Environment,2019(148):128-135.

[7] 倪铮,梁萍.基于LSTM深度神经网络的精细化气温预报初探 [J].计算机应用与软件,2018,35(11):233-236+271.

作者简介:杨孟达(1995.06-),男,汉族,四川广元人,在读研究生,研究方向:计算机技术。

猜你喜欢

粒子群算法
几种改进的萤火虫算法性能比较及应用
基于支持向量机的短期电力负荷预测
基于云计算平台的资源调度优化研究
一种基于高维粒子群算法的神经网络结构优化研究
基于PSODE混合算法优化的自抗扰控制器设计
蚁群算法的运用及其优化分析
电力市场交易背景下水电站优化调度研究
基于粒子群算法的产业技术创新生态系统运行稳定性组合评价研究
无线传感器网络联盟初始结构生成研究
交通堵塞扰动下多车场车辆路径优化