基于长短期记忆神经网络的大气温度预测
——以合肥市为例

2021-10-25 03:36雷凯
科学技术创新 2021年30期
关键词:风速大气气象

雷凯

(安徽大学,安徽 合肥 230601)

一直以来,大气温度的变化与人类的生产生活都密切相关,它一方面影响着人类的日常正常活动,能否保证人类的正常出行,社会的正常运作;另一方面也影响着农业、社会工业、生产业等行业的发展,极端高温、低温等天气现象对于各行业生产,特别是对于农业生产的影响极为重大;还有一方面也影响着生态环境的可持续性的发展。

在大气温度研究领域上,最早是气象人员通过自身从事气象预测的经验来对未来可能出现的气温剧烈变化进行预测。但这种方法缺乏科学上的数据解释分析,对研究人员的要求也比较高,因此预测误差也比较大。然后,随着科研人员将统计学知识应用到大气温度研究领域,先收集大气温度的历史数据,得到各气象因素之间的相关性,借助于可用到的数学统计等原理建立较为准确的预测模型。随着大数据技术的火热发展,可以处理更大规模的数据量,速度更快,精度更高,用于预测大气温度可建立的模型也随之越复杂起来。通过数据挖掘技术,我们可以在气象研究领域挖掘更多的气象信息,从而获得了海量相关的数据,我们能够充分利用海量气象数据解决气象领域的相关问题。另外深度学习在随着大数据时代的发展,也得到了火速发展,深度学习通过对数据的拟合,使得该方法在不同领域得到应用。

1 气温预测模型

1.1 RNN 模型

标准的RNN 模型结构如图1 所示,循环神经网络相对于传统神经网络只注重当前时刻的处理,会考虑上一时刻留存下来的信息对当前时刻的影响。图1 左边是RNN 循环体的简易图,xt为t 时刻输入,输出为yt,ht是RNN 模型的隐藏层。在每一个t时刻,RNN的输出yt都是由当前时刻的输入xt,以及上一时刻的隐藏层状态ht-1共同决定的。循环结构展开图就如图1 右边所示,每一时刻的隐藏层状态都会保留下来,传输给下一时刻,这就保证了RNN 模型具备一定的记忆能力,将之前的输入信息记录下来,作用于下一时刻。

图1 RNN 结构图

可以看到,RNN 模型在一定程度上可以保留之前的信息,但是随着数据的不断输入,之前输入信息的记忆就会逐渐消退,所以RNN 模型在处理长期依赖问题上就会出现困难,这就引入了LSTM模型。

1.2 LSTM模型

LSTM是由RNN 衍生出的特殊形式,它主要针对循环神经网络中存在的梯度消失、梯度爆炸等问题提出来一种优化算法。它能够通过特别的门状结构和细胞状态更新更加优越的保存下长期记忆,通过存储单元保留与时间相关信息来解决梯度消失和梯度爆炸问题。

图2 所示的结构是LSTM 神经网络隐层内部的链状结构。通过每一个Memory Cell 内部结构都有三个门状结构遗忘门(forget gate)、输入门(input gate)、输出门(output gate)构成。

图2 LSTM 结构

遗忘门的输入ft由输入xt和t-1 时刻的隐藏单元输出ht-1决定,然后放进sigmoid 函数中,忘记或留存多少信息有它决定,计算公式如下:

输入门控制t 时刻Memory Cell 输入的向量传输多少信息到t 时刻的Memory Cell的状态。计算公式如下:

输出门:决定t 时刻Memory Cell的状态向量有多少信息到t 时刻Memory Cell的实际输出。计算过程如下:

2 气象数据来源及数据预处理

2.1 数据来源

气象数据时间序列来源于中国气象官网(http://data.cma.cn)发布的“中国地面国际交换站气候资料日值数据集(V3.0)”。它包含了中国166 个站点1951 年1 月以来本站气压、气温、降水量、蒸发量、相对湿度、风向风速、日照时数、的日值数据。本文选用的是安徽合肥(站点位置:58321)2010 年1 月1 日至2021 年5 月9 日的日频20-20 时降水量等16 个变量,如表1。

表1 原始数据

2.2 数据预处理

为了缩短LSTM 模型的训练时长、提高LSTM的预测准确度,需要对原始数据做归一化处理,可将所有有量纲的数据转化为[0,1]区间的无量纲数据。本文选择的是通过最值标准化处理,公式如下所示:

式中,Xmax是所有数据的最大值,Xmin是所有数据的最小值。X 是所有数据通过最值标准化后的值。

由于并不是每个特征都能够很好地影响最高气温,所以需要对特征变量进行一个选择,最终我们保留下了降水量、极大风速、极大风速的风向、平均气压、平均2 分钟风速、平均水气压、平均相对湿度、日照时数、最低气压、最高气压、最大风速、最大风速的风向、最小相对湿度这13 个变量。将经过标准化之后的数据按照7:3的比例划分训练集和测试集。

3 实验结果与分析

3.1 评价指标

对于预测结果的判定好坏的方法,选用均方误差(RMSE,Root Mean Squared Error)和判定系数(R2)两个指标。公式如下所示:

3.2 预测结果分析

我们采用的是合肥市2010 年1 月1 日-2021 年5 月9 日的风速、风向等13 个气象特征数据来预测每日最高气温。此模型是在Python 平台的TensorFlow框架中训练。在训练模型的过程中,为了从根本上加快模型机器的学习速率,收敛速率,并且利用的资源更少,本文加入Adam 优化器进行优化。

另外,为了防止神经网络模型经常会出现的问题,即过拟合现象,本文采用加入Dropout 层来解决。具体原理是在模型学习训练过程中,依据一定的概率随机将神经网络单元从网络中移除,本文将Dropout 参数设置为0.2,即每一层都以0.2的概率随机舍弃每一层搭建的网络的神经元权重,以提升所搭建模型的泛化能力。

为了比较长短期记忆网络对于大气温度预测的有效性,我们将其与循环神经网络进行了一个对比。表2 记录了RNN 模型与LSTM模型的均方误差(RMSE)和判定系数(R2)的对比结果。

表2 模型预测结果对比

预测气温值与真实气温值之间波动幅度、方向大体一致,可能一些极值位置重合性较差,但是还是较能直观反应出预测值与真实值较为接近。具体预测精度如下表所示:

由表2 可知,RNN 和LSTM的测试判定系数都为为0.975,均方误差分别为0.004079、0.004037,这说明RNN 模型和LSTM模型都对气温预测有较好的效果,说明LSTM模型对于大气温度预测是有效的。并且LSTM模型相对于RNN 模型来说RMSE更小,LSTM模型的预测精度更高。

4 结论

由于大气温度时间序列受各种气象因素的影响,只考虑历史气温数据并不能很好地预测出未来气温值,所以本文考虑利用降水量、极大风速等13 个气象影响因子来预测合肥市最高气温。并且采用的是加入Adam 优化器和Dropout 层的LSTM 模型。Adam 优化器的加入使得LSTM模型训练速率、收敛速率更加迅速,并且利用的资源更少;Dropout 层防止了LSTM模型可能出现的过拟合现象。LSTM模型在RNN 模型的基础上,加入了解决了记忆模块效果不佳的问题,从预测结果来看,LSTM模型相对于RNN 模型精度更高。在大气温度预测问题上,LSTM模型具备良好的性能。

猜你喜欢
风速大气气象
1960—2021年商丘风速风向时空变化分析
合作市最大风速的变化对农牧业的影响
气象树
专栏:红色气象 别有洞天
宏伟大气,气势与细腻兼备 Vivid Audio Giya G3 S2
如何“看清”大气中的二氧化碳
大气光学现象
2006—2016年平凉市风速变化特征分析
大国气象
《函数》测试题