韩 立,李 芳
(1.大连东软信息学院软件与大数据技术系,辽宁 大连 116023;2.大连交通大学档案馆)
气温作为气象预报中最常见的要素,与人们的生活息息相关,准确的气温预报对于人们的生活、生产、交通和运输等有重要的现实意义。很多研究者使用决策树[1]、支持向量机[2]和反向传播神经网络[3]等方法分别建立了气温预测模型。这些传统的机器学习方法在气温预测上虽然取得了良好的效果,但这些方法存在的主要问题是无法表达气象数据的时间相关性,这导致对气象要素预报的准确性很难得到提升。
为了将气象数据的时间相关性考虑在内,有很多学者将循环神经网络引入到气象预报中[4-5]。长短期记忆模型(Long Short-Term Memory Model,LSTM)能够较为有效地编码数据的时间特性[6],对于处理具有时间相关的气象要素来说,具有很高的应用价值。
但是对于气象要素(包括气温等)来说,对其产生影响的因素很多,海温、近地面风速、风力,高空风速、风力,露点温度、湿度、气压、相对湿度、云量、降水等要素都会对气温的变化造成影响。如此众多的特征要素,在使用神经网络算法时容易造成维数灾难,进而降低学习算法的性能。所以从原始特征中获取少量与气温高度相关的特征,对于提高算法的学习效率和预测准确度就具有重要的意义。陶晔等研究者[7]将传统的基于决策树和随机森林的特征选择算法引入到气象预报领域特征选择中,对于降低模型的复杂度起到了一定的作用,但是决策树和随机森林算法模型在特征选择过程中无法评估变量之间的相关关系。
基于动态相关性的特征选择(Dynamic Relevance based Feature Selection,DRFS)算法[8],是以基于信息熵的互信息理论为基础,可以有效地评估变量之间的相关关系,在特征选择的过程中衡量了候选特征和已选特征类别的交互相关性,可以有效提高特征选择的准确率。
本文提出一种结合了DRFS 和LSTM 算法的预测模型,并选取了2018-2020 年大连地区的气象数据作为实验数据对大连地区的气温进行预测。首先利用DRFS 算法从多个气象要素中选择出与气温高度相关的要素,然后以这些要素的数据作为输入变量利用LSTM 网络进行时间相关要素的建模,最终得到DRFS-LSTM 算法模型。对实验结果的分析表明,与传统气温预报方法相比,其能够通过减少低相关性要素降低模型的复杂度,提高学习的效率。且能够处理较大规模、多变量的时间序列数据,进一步提高了对气温预测的准确率。
特征选择可以从高维数据中抽取相关特征,剔除无关和冗余特征,减小数据维度,缩短数据处理和模型训练的时间。决策树和随机森林算法通过持续寻找最优特征,使用最优特征将数据集进行划分,当数据集不可再分或无法选择最优特征时,算法结束并完成特征选择。此类方法避免每次添加新特征时对模型进行训练,但较难构建优化模型,而且在特征的选择过程中,对气象要素之间的相关性考虑不足。而基于动态相关性的特征选择(Dynamic Relevance based Feature Selection,DRFS)算法以互信息为基础,互信息的理论基础是信息熵,可以有效地评估变量之间的关系,在特征选择过程中衡量了候选特征-已选特征-类别的交互相关性,可以提高特征选择的准确率。
基于动态相关性的特征选择(DRFS)算法[8],其评价函数如下:
其中,Fm表示候选特征,Fj表示已选特征;C表示类别;S表示最终选定的特征集合。
长短期记忆网络(Long Short-Term Memory Network,LSTM)[9]是目前最为成功的循环神经网络模型。整个LSTM的公式可以描述为:
其中,σ(·)为Logistic 函数,其输出区间为(0,1),xt为当前时刻的输入,ht-1为上一时刻的外部状态。
图1 给出了LSTM 网络的循环单元结构,其计算过程为:
图1 LSTM网络的循环单元结构
首先,利用上一时刻的外部状态ht-1和当前时刻的输入xt,计算出三个门,以及候选状态;
其次,结合遗忘门ft和输入门it来更新记忆单元ct;
最后,结合输出门ot,将内部状态的信息传递给外部状态ht。
LSTM模型可以建模时间序列数据之间的相关性,能十分有效地避免了梯度消失问题。
本文提出将DRFS和LSTM相结合的模型:
首先,利用DRFS 算法从原始的气象要素特征集合(包括:温度,湿度,露点,近地面风速、风向,920Hpa高空风速、风向,气压)中筛选出与气温高度相关的四种的特征。
然后,将这四种特征数据按时序进行划分,并进行归一化处理之后输入到LSTM 模型进行运算,以此进行数据整合同时提高预测精度。
本文采用两层LSTM 进行预测建模,如图2 所示。在两层LSTM 网络中使用随时间反向传播(BP Through Time,BPTT)算法进行训练,为了防止模型带来的过拟合,我们在每一层LSTM 层之后加入Dropout正则化。
图2 DRFS-LSTM模型示意图
我们利用Pytorch2.0 完成模型构建和数据注入,实现了时间序列和气象特征数据的关联,我们利用过去1 小时的气象数据来建立未来1 小时的短临气温预报。
⑴DRFS特征选择
气象预报属于典型的大数据行业,是目前数据积累最多,最完整的行业之一。气象要素预报是一个典型的多因素、互影响的复杂业务,某一气象要素的预报通常会受到非常多因素的影响;而且这些因素也会相互影响。对预报要素来说,众多的影响因素中有相关性高的重要因子,也有相关性很低的噪音。传统的预报方法都是根据预报人员的经验来确定影响因素,这样费时费力,而且普适性很低,某一地区的经验,通常不符合另一地区的预报要求。一些研究者利用决策树和随机森林对样本数据进行特征选择[7],但是由于随机森林只能够计算单个特征变量的重要性,无法描述变量之间的交互性和相互影响,本文使用DRFS算法来对影响气温的特征要素进行选择,陈永波等人的研究工作[8]给出了DRFS算法的详细步骤:
①对需要筛选的特征变量进行初始化;
②对每个候选特征与类别的互信息进行计算,选出具有最大互信息值的特征,并添加到已选特征集合中;
③计算原始集合和已选特征集合中所有特征的条件和交互相关性,将具有最大信息量的特征添加到已选特征集合中,同时将这个特征从原始集合中删除。
重复步骤②-③,直到满足选择特征数为止。
⑵LSTM模型训练
LSTM 采用随时间反向传播算法,主要有三个步骤:
首先,LSTM 训练过程前向计算每个神经元的输出值;
其次,反向计算每个神经元的误差项δ,在t时刻LSTM 的输出为ht,则t时刻的误差为δt=,L 为损失函数,目的是要计算出t-1时刻的误差。根据公式⑵-公式⑷和全导数公式,可以将误差项向前传递到任意k时刻:
最后,假设LSTM 的当前层是第l层,则将误差传递到上一层的公式为:
为了验证本文提出的基于DRFS-LSTM 模型对大连地区气温预测的效果,将2018-2019 年的气象数据作为训练和测试数据集,其中80%为训练集,20%为测试集。
数据采用2018~2019 年大连地区两年观测数据(要素包括:近地面的湿度、露点、气压、风速、风向;920hPa 的相对湿度、气温和露点),将2020 年3-4 月的数据作为检验样本,用来检验模型的预报效果。
数据质量的高低,直接决定模型训练结果的准确度。由于气象数据观测和整理过程中容易出现数据缺失和错误值,为保证数据集的质量,本研究所收集的海面探测数据、地面观测数据和高空探测数据,都经过了时间一致性检验,内部一致性检验和界限值检查[10-12]。从数据时间连续性、准确性和一致性三个方面对所收集到的数据集进行进一步治理。具体方法见表1。
表1 气温数据治理策略描述
我们利用DRFS 算法获得与气温高度相关的因子之后,为了减少不同量纲对预测模型带来的不稳定影响,且为了加快梯度下降求最优解的速度,我们利用归一化算法来对计算样本数据进行归一化。
本文使用标准差来对样本数据进行归一化,使得经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:
其中,μ为所有样本数据的均值,σ 为所有样本数据的标准差。
利用DRFS 算法对因子进行训练,设k=4,得到的因子为风速、露点、湿度和925hPa 温度。然后我们将风速、露点、湿度、925hpa 气温和历史气温这五个因子进行归一化处理之后输入到LSTM 模型中。利用过去一小时的数据来预测未来一小时的短临气温要素。
从图3 中可以看出,训练集与测试集的损失函数值很接近,且很快趋于稳定收敛。
图3 训练与测试
为了进一步评价DRFS-LSTM 模型的效果,本文用2020 年3 月和4 月的数据对三个模型BP、LSTM 和DRFS-LSTM 的预测效果进行评价。其中BP 模型的输入要素与DRFS-LSTM 模型经过DRFS 筛选后的要素相同,是历史气温、露点、相对湿度、近地面风速和920hPa 气温。LSTM 模型的结构和参数与DRFSLSTM 中的LSTM 模型层相同,输入的要素为未经过DRFS 筛选的要素(近地面的温度、湿度、露点、气压、风速、风向;920hPa 相对湿度、气温和露点),具体的结果见表2。
表2 2020年3~4月气温预报结果评分
从表2 可以看出,DRFS-LSTM 模型在三个评价指标:均方根误差(RMSE),平均绝对误差(MAE)和决定系数(R2)上都要优于LSTM 和BP 模型,表明了DRFS-LSTM 模型预测的精度更高,预测出的气温值与实际气温值之间的误差更小,模型对气温预测的拟合度更好。
动态相关性的特征选择算法在对气温高相关性特征进行选择的同时,考虑了多要素之间的相关性。与传统方法相比,带有长短期记忆单元的循环神经网络能很好地描述气象要素之间的时间相关性。我们利用动态相关性的特征选择算法对多要素气象时间序列数据进行特征选择,为LSTM 网络模型的构建提供了更准确的特征数据,进一步降低了网络的复杂度。本文构建了基于DRFS-LSTM 的网络模型,利用大连地区2018年~2019年的气象数据作为训练集进行训练,并利用该模型对大连区2020 年3 月~4 月的气温进行预测。实验结果显示预报结果具有较好的效果,对气温短临预报具有较好的指导意义。与BP、LSTM模型相比,DRFS-LSTM 模型在有效降低数据维度和网络复杂度的前提下,具有更高的预测准确率,由于气象要素的特征选择不再基于气象预报人员的经验,所以模型具有更高的普适性。本文是利用历史数据来预测未来一小时的短临预报,未来需要对中长期预报方法做进一步研究。