云昌盛,徐位墅,叶颖
(1.南方电网大数据服务有限公司,广东 广州 510655; 2.武汉大学测绘学院,湖北 武汉 430079)
电离层是近地空间环境的重要组成部分,电离层总电子含量(Total Electron Content,TEC)是表征电离层状态变化的重要参数,通过获取电离层TEC可以有效地观测电离层的时空变化,因此对电离层TEC进行建模与预报十分必要。同时由于天顶方向的总电子含量(Vertical Total Electron Content,VTEC)能够反映测站上空电离层的总体特征,所以本文采用预测VTEC值来建立电离层模型[1,2]。
对电离层VTEC进行预测的本质是时间序列问题。常用的传统时序预测方法有自回归模型(Autoregressive model,AR)、移动平均模型(Moving Average model,MA)、指数平滑法、霍尔线性趋势法,以及在时间序列预测中被广泛使用的求和自回归移动平均模型(Autoregressive Integrated Moving Average model,ARIMA)等。时间序列模型建立在统计学基础上,其结构简单且短期预测精度有所提高。但是张小红等人在使用ARIMA进行短期TEC预测时指出,当样本序列长度超过30d时相对预测精度随样本序列长度的增加而降低[3,4]。
由于电离层在时空变化和内部结构上的复杂性,建立高精度的电离层模型十分困难。数据量巨大、特征规律难以通过固定公式描述、参数多等问题是传统经验模型和实测模型的痛点,但这却恰好是深度学习模型十分擅长处理的领域。因此利用深度学习对电离层VTEC值进行建模与预报受到了越来越多人的青睐。
人工神经网络(Artificial Neural Network,ANN)是一种典型的非线性模型。ANN是深度学习当中最基础的一种网络,常用的神经网络有BP神经网络、径向基函数神经网络(Radial Basis Function network,RBF)、自组织映射神经网络(Self-Organizing Map network,SOM)等。其中,BP神经网络被广泛应用于时间序列预测问题,其具有极强的非线性映射能力,并且能够自适应调节内部权重,但是其存在局部最优解问题,以及在当前时刻不会考虑上一时刻的状态信息。
为了使网络具有记忆能力,能够处理序列数据,循环神经网络(Recurrent Neural Network,RNN)被提出并被广泛应用于时间序列预测问题[5],但是传统RNN存在梯度爆炸以及梯度消失引起的长期依赖问题。
长短期记忆网络(Long Short-Term Memory network,LSTM)是常见的一种RNN,其有效克服了上述问题。基于上述原因,本文选用长短期记忆LSTM网络构建模型对电离层VTEC值进行单步预测。
长短期记忆网络LSTM是循环神经网络RNN的常见变种,其主要是在标准RNN网络结构的基础上,对隐藏层循环单元中的内部结构进行改进得到的。标准RNN的循环单元结构简单,通常只含一个tanh层或其他非线性激活函数;而LSTM的循环单元则由输入门(input gate)、遗忘门(forget gate)和输出门(output gate)以及储存信息的细胞状态(cell state)组成。这三个门结构可以删除或添加细胞状态中的信息,选择性地让信息通过,帮助每个单元保持稳定,避免了梯度消失和梯度爆炸;同时细胞状态的加入使LSTM可以存储时间序列的历史信息,具备了长期记忆的能力[6,7]。
LSTM模型按照输入和输出值所包含时间步的多少,以及输入变量的多少可分为不同模型。本文对LSTM模型输入VTEC值、时间、纬度、Dst指数和F10.7多个特征变量,并用多个时间步的输入预测下一时刻单一时间步的VTEC值,因此本文使用的是many-to-one LSTM模型进行多变量单步预测。模型结构如图1所示,其中X1-Xn表示输入的n个变量,X(1)-X(t)表示t个时间步的输入变量;y为输出值;u为内部状态[8]。
图1 LSTM many-to-one多变量单步预测网络结构
模型所用的电离层VTEC数据来自欧洲定轨中心(Center for Orbit Determination in Europe,CODE)提供的GIM模型电离层产品(ftp://ftp.aiub.unibe.ch/CODE/),从中选取了经度相同、纬度不同并且涵盖高、中、低纬区域的三个网格点2017—2018年的VTEC数据,选取格网点的经纬度分别为(5°N,120°E)、(30°N,120°E)、(55°N,120°E),数据时间分辨率为1小时。地磁Dst指数和太阳活动指数F10.7数据来自GSFC/SPDF OMNIWeb(http://omniweb.gsfc.nasa.gov),时间分辨率同样是 1 h。
本文数据处理及模型构建流程如图2所示:
图2 数据处理及模型构建流程示意图
(1)构建数据集:利用VTEC值、日期序列值(自0000年1月0日以来的整个天数及其小数值)、地理纬度、地磁Dst指数、太阳 10.7 cm辐射通量F10.7共五个特征变量的数据构建数据集。
(2)数据集的标准化和归一化:以数据集的70%作为训练数据用于训练模型,以10%作为验证数据用于检验模型状态及调整超参数,以20%作为测试数据用于预测及评估模型精度。并首先对训练集中的VTEC值进行标准化,对日期序列值、纬度、Dst、F10.7分别进行归一化。再利用标准化和归一化训练集得到的参数,对验证集和测试集VTEC值进行标准化以及对其他四个特征变量进行归一化,以便于使LSTM模型梯度快速下降,提高预测精度。
(3)构建输入和输出样本序列:分别在训练数据、验证数据和测试数据内进一步划分,依次构造训练集、验证集和测试集的输入和输出样本序列用于放入模型进行训练、验证和预测。由于电离层VTEC有明显的逐日变化特性,故取前 24 h数据作为LSTM模型的输入,未来 1 h的VTEC值作为输出。例如:如果我们要预测某网格点2018年10月10日0时的VTEC值,则需要输入2018年10月9日0—23时的VTEC值、日期序列值、纬度、Dst指数和F10.7,以此构成输入样本序列及其响应[9-13]。
超参数用于控制算法行为,其不能通过算法自身学习得到,需要人为设置。为使结果最优,经过不断调试,本文用到的参数和超参数以及其最终取值如表1所示[14]:
表1 参数和超参数表
(2)模型训练:构建好LSTM模型后,将训练集的输入和输出样本序列放入网络当中进行训练。通过损失函数半均方误差判断模型是否训练完成,当损失函数趋于平稳并且降低至一定程度后,模型训练完毕。
(3)模型预测及预测结果反标准化:利用训练好的LSTM模型对测试集数据进行单步预测,并利用此前标准化训练集时计算得到的参数对预测值进行反标准化,预报未来五天的VTEC值。
将(5°N,120°E)、(30°N,120°E)、(55°N,120°E)三个网格点在平静期(2018年9月15日—2018年9月19日)和磁暴期(2018年8月24日—2018年8月28日)的输入样本序列分别放入训练好的LSTM模型进行预测,得到预测值与电离层模型产品值的对比曲线,并计算两者之间的绝对误差,结果如图3和图4所示:
图3 平静期预测值与真实值对比曲线及Dst和F10.7指数
图4 磁暴期预测值与真实值对比曲线及Dst和F10.7指数
图3(a)、(b)、(c)为(5°N,120°E)、(30°N,120°E)、(55°N,120°E)三个网格点在平静期2018年9月15日—2018年9月19日的预测值与真实值的对比曲线及绝对误差情况;(d)为此期间的地磁Dst指数和太阳 10.7 cm辐射通量F10.7情况。为查验模型在不同磁暴条件下的预测效果,对三个网格点磁暴期进行预测。图4(a)、(b)、(c)为三个网格点在磁暴期2018年8月24日—2018年8月28日的预测结果,其中8月26日Dst达到最小值-174nT,发生大磁暴;(d)为此期间的地磁Dst指数和太阳 10.7 cm辐射通量F10.7情况。
从图3和图4来看,构建的LSTM模型能较为准确地预报出真实趋势,且大多数绝对误差都能控制在2 TECU之内,整体预测效果较为理想。
此外,也分别对平静期和磁暴期的相对误差情况进行统计,如表2、表3所示:
表2 平静期相对误差分布情况统计表
表3 磁暴期相对误差分布情况统计表
对三个网格点相对误差分布的均值进行直方统计,结果如图5所示:
图5 平静期和磁暴期相对误差直方统计对比图
从表2来看,三个网格点相对误差的平均值有九成小于30%,其中一半以上的相对误差均在10%以下,模型预测结果良好。对图5进行分析,相对误差在平静期近正态分布,近35%的数据相对误差小于5%,模型预测结果的相对误差在平静期的表现要优于磁暴期。
为对预测结果进行进一步定量评估及对比分析,本文采用了相关系数(Correlation Coefficient,R2)、均方根误差(Root Mean Square Error,RMSE)、平均绝对误差(Mean Absolute Error,MAE)、平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)这四个评价指标。三个网格点在平静期和磁暴期的评价指标计算结果如表4所示:
表4 三个网格点在平静期和磁暴期的评价指标值
对表4中各评价指标的值进行分析可以看出,对于不同的地理纬度,构建的LSTM模型对中纬度区域的VTEC值预测效果最佳,高、低纬度区域预测结果稍差。对于不同的电离层环境,模型在低纬度和中纬度的表现差异不大;但是在高纬度区域,LSTM模型在电离层平静期的预测效果显著优于磁暴期。因此就整体来看,LSTM模型更适合用于中纬度区域电离层平静期的VTEC值预测。
从上述预测结果及统计分析中不难看出,本文构建的LSTM多变量单步预测模型不论是在高纬度、中纬度还是低纬度区域,不论是在地磁平静期还是在磁暴期,预测结果的RMSE几乎均能小于2 TECU,这表明在多数情况下的回归效果相比真实值平均只相差2 TECU以下,模型预测效果比较理想。但是相比其他纬度和电离层环境,LSTM模型在中纬度区域电离层平静期的VTEC值预测表现更佳。
未来,可以将全球范围内的多个网格点放入模型训练,尝试构建全球电离层模型。此外,还可以在前人工作的基础上进一步改进模型进行VTEC长期预报,如尝试TaiebS.B等人提到的矫正策略[15],或者KimJ.等人将平静期和磁暴期分开建立两个模型用于预测的方法[16]。