刘海军,刘迅源
(1.防灾科技学院应急管理学院,河北 三河 065201;2.防灾科技学院智能信息处理研究所,河北 三河 065201)
研究成果表明,地震发生前孕震区及其周围地区地下介质应力积累和介质性质变化的信息,有可能通过地下流体的动态变化特征表现出来。地下流体异常作为可靠地震前兆,在我国地震预报中起着举足轻重的作用[1-2]。 其中地热(水温)变化异常与地震的密切关系已被较多震例所证实[3-5]。 鉴于地热监测数据的重要性,我国目前拥有的1000 余口地下流体观测井均有地热观测点对地热数据进行连续观测。 连续观测产生了大量的观测数据,数据的异常检测和分类是数据处理人员的一项重要日常工作,目前这项工作主要以人工为主,前兆数据处理人员依赖其多年工作经验,从连续观测的地热数据中识别出异常,并判断是震兆异常还是干扰数据。 当数据量较小时,人工方法很有效,多年的数据分析经验使得工作人员很容易做出判断,当数据量较大时,人工检测效率极其低下,因此,采用计算机来初步检测异常数据,由人工对筛选出来的异常数据进一步分析和处理,能大大提高数据处理工作人员的工作效率。
要想让计算机能自动检测出异常数据,需要了解数据的正常变化。 因此,研究地热数据的变化规律,对地热时间序列数据进行建模,是自动检测异常数据的前提。 地热数据是典型的时间序列数据,具有短期的、中期的、长期的变化规律。 目前地震前兆时间序列数据分析中,主要通过建立适当的数学模型拟合历史时间趋势曲线,作为地热数据的背景场模型。 目前拟合趋势曲线的典型方法有滑动平均模型(Moving Average Model,MA)、自回归模型(Auto-Regressive,AR)[6]、自回归滑动平均模型(Auto-Regressive and Moving Average Model,ARMA)[7-8]及其变种等等。 这些模型均为线性模型,当数据量较少时,线性模型效果良好;数据量较大时,传统的线性模型拟合能力有限。
近年来,深度学习技术由于其强大的特征学习功能,在图像识别、自然语言处理等诸多领域取得了瞩目的成就[9]。 为了解决时间序列分析问题,研究者开发具有数据记忆功能的循环神经网络(recurrent neural networks,RNN)[10]。 传统的循环神经网络由于梯度消失、梯度爆炸等问题,无法解决数据的长期依赖。 为了解决该问题,出现了一种特殊的深度循环神经网络,长短期记忆网络(Long Short-Term Memory, LSTM)[11]。 LSTM通过精心设计的含有输入门、遗忘门、输出门的神经单元结构,有效地解决了数据长期依赖问题,在语音识别、 视频分析等领域取得了显著的成就[12,13]。
本文搜集毛垭温泉泉水温度2006 年1 月1日至2009 年12 月31 日共计4 年日采样数据,共计1461 条数据。 以90%数据作为训练,10%数据作为预测,并将LSTM 方法与传统的AR 模型和ARMA 模型进行了对比实验。
地震前兆数据属于典型的时间序列数据,相邻的数据具有很强的相关性,传统的神经网络无法描述并记住这种相关性,长短期记忆网络(LSTM)是一种特殊的循环神经网络(RNN)允许信息的持久化,是处理时间序列问题的深度神经网络结构。 LSTM 基本结构如图1 所示。 其中等号左侧为LSTM 网络结构。 其中xt为输入,ht为输出,A 为LSTM 处理单元。 等号右侧为LSTM循环结构的展开。
图1 LSTM 神经网络及其展开结构Fig.1 Structure of the LSTM neural network and its unfolded structure
从图1 可以看出,LSTM 处理单元A 接受输入数据x0,得到预测输出h0,同时把h0传递到下一层,与下一层的输入x1一起作为输入,共同预测h1。 在LSTM 神经网络中,最重要的部分为LSTM 处理单元A,其通过精心设计的门结构,实现数据的记忆与遗忘功能。 LSTM 处理单元详细结构如图2 所示。
从图2 中可以看出,LSTM 处理单元包含3 个结构,遗忘门、输入门和输出门,它们对应的激活向量分别为ft、it和ot。 贯穿于3 个门结构之间的单元状态ct。
遗忘门决定LSTM 单元从单元状态中忘记哪些信息,它检查来自前一个LSTM 处理单元的输出向量ht-1和当前时刻的输出向量xt,并输出0~1 的数,0 表示彻底忘记,1 表示完全保留。 遗忘门的激活向量ft计算如下:
式中,xt为输入到LSTM 处理单元中的向量,W、U和b 为神经网络的参数,需要从训练数据中学习出来,σg为sigmoid 函数,其方程为:
式中,σc为tanh 激活函数,其计算公式如下:
然后更新状态变量ct的值,具体如公式(6)所示:
图2 LSTM 处理单元详细结构Fig.2 Detailed structure of LSTM processing cell
式中,*运算符为向量的Hadamard 积运算。
在输出门,计算输出门激活函数如公式(7)所示;同时根据状态变量的值和输出门激活函数的值,计算整个处理单元的输出ht, 如公式(8)所示:
从整个LSTM 处理单元数据流动可以看出,LSTM 处理单元的核心为单元的状态ct。 从图2中可以看出,ct就像是一个传送带,将遗忘门的激活向量ft、输出门的激活向量it和输出门的激活向量ot串联起来,传递向下一个处理单元。
利用LSTM 进行时间序列分析时,首先搭建LSTM 网络。 搭建LSTM 网络需要指定输入数据的维数、隐藏层节点(即LSTM 处理单元)数量、输出层设计。
以理塘毛垭温泉泉水温度数据为例,介绍LSTM 在泉水温度预测中的应用。
理塘毛垭温泉位于川中地区理塘断裂带,海拔3960m,为上升泉,岩性为石灰岩、砂板岩和安山岩,泉水循环深度大于1500m,属HCO3-Na 型。该温泉水温与降水、气温和气压的相关性较弱[5]。 在周边几次中强以上地震前,该泉水水温均出现显著的快速上升异常。 因此,在理塘毛垭设立地震地下水动态观测站点理塘川51 号地下流体观测井,记录泉水温度,研究泉水温度变化规律,预测未来泉水温度,对于及时发现和检测异常数据具有重要意义。
地热变化异常与地震的密切关系已被较多震例所证实,本文中的地震前兆观测数据为理塘川51 号井水温日观测数据,单位为(℃)。 为地下流体观测井,海拔3960m,为深循环温泉,是全国地震地下水动态观测网的观测点之一。 该观测井水温数据为典型的时间序列数据,可以描述为{ x1,x2,x3,…,xt}。 其中xi为时间i 的泉水温度观测值。 本文选取2006 年1 月1 日至2009 年12 月31 日理塘毛垭温泉泉水温度日观测数据,共计1461 条数据。
时间序列分析建模要求数据为平稳数据,因此需要采用ADF 方法对理塘垭温泉泉水温度数据进行平稳性检验。 所谓的平稳数据是指数据的均值和方差在时间过程上都是常数,并且在任何两时期的协方差值仅仅依赖于该两时期的距离,不依赖于计算这个协方差的实际时间。
ADF 检验结果表明,理塘垭温泉泉水温度数据为非平稳过程,在建模之前首先要进行差分处理,将其变为平稳过程。 差分计算公式如下:
图3 数据平稳化处理Fig.3 Data stationary processing
式中,Δ 为差分算子,xt为时间序列t 时刻的观测数据。
图3 显示了理塘毛垭温泉差分处理前后的数据。 从图3(a)可以看出,原始数据波形起伏较大,为非平稳数据,无法直接建模,因此首先对原始数据进行差分处理,处理之后的结果如图3(b)所示。 经过差分处理之后,数据变为平稳数据,可以对数据进行建模处理。
纯随机序列,又称白噪声序列,序列中数值变化没有任何相关关系,完全为无序的随机波动,则该类序列式没有任何信息可提取的序列,可以终止对该序列进行分析。 对于泉水温度数据来说,温度数据随着季节的变化有规律的起伏波动,不是纯随机序列,可以进行时间序列分析。
为了避免数据发散,更好的拟合数据,在使用模型之前首先对数据进行z-score 标准化预处理,具体为:
式中,x 为原始观测数据;μ 为原始观测数据的均值;σ 为原始观测数据的标准差;z 为标准化之后的数据。
原始观测数据经过平稳性检测与一阶差分处理之后,进行纯随机性检验,并进行z-score 规范化处理。 首先将数据集分割为训练集和测试集。训练集用于确定LSTM 网络参数,测试集用于验证LSTM 模型的效果。 本文将数据集按照9 ∶1的比例进行划分,采用1314 条理塘毛垭温泉泉水温度日观测数据作为训练集,147 条数据作为测试集。 并将LSTM 方法与传统的AR 方法、ARMA方法进行了对比实验。
LSTM 隐藏层节点数量和隐藏层数量是LSTM 网络结构重要的参数,采用试验方法,最终确定LSTM 网络包含2 个隐藏层,每个隐藏层包含1 个节点。 训练网络采用sgdm 方法,最大迭代次数为200 次,每次迭代样本数量为64。 初始学习率为0.005,为了防止过拟合,将dropout 因子设置为0.2。 使用训练集确定神经网络参数后,再将测试集送入模型中测试模型准确率,并对模型进行评估。 评价指标为均方根误差(root-meansquare error,RMSE)。 基于LSTM 的温泉水温预测结果如图4 所示;基于AR 模型的预测结果如图5 所示;基于ARMA 的温泉水温预测结果如图6 所示。
图4 基于LSTM 的理塘毛垭温泉水温预测结果Fig.4 Prediction result of water temperature of Maoya Hot Spring in Litang based on LSTM
从图4 ~6 以及表1 可以看出,在准确率方面,3 种方法的观测值与预测值均十分接近。 但是在稳健性方面,采用LSTM 模型预测时,RMSE值最小,为0.90256;采用AR 模型预测时,RMSE为0.9645;采用ARMA 模型预测时,RMSE 为0.9558,这说明在准确率相近的情况下,LSTM 对数据的稳定性拟合强于AR 和ARMA。 综合来看,LSTM 在毛娅理塘毛垭泉水水温预测的问题上的表现明显优于AR 方法和ARMA 方法。
图5 基于AR 的理塘毛垭温泉水温预测结果Fig.5 Prediction result of water temperature of Maoya Hot Spring in Litang based on AR
图6 基于ARMA 的理塘毛垭泉水水温预测Fig.6 Prediction result of water temperature of Maoya Hot Spring in Litang based on ARMA
表1 理塘毛垭泉水水温预测实验统计结果Tab.1 Prediction statistical result of water temperature of Maoya Hot Spring in Litang based on three method
研究地热的动态变化规律,是地热数据异常检测自动化、智能化的基础,是研究地热异常数据和地震关系的前提,对地震学科相关研究意义深远。 地热数据,作为一种典型的时间序列数据,具有明显的短期、中期和长期变化规律,可以采用时间序列分析方法去分析建模。
LSTM 方法作为一种新兴的非线性时间序列分析方法,在语音识别、视频分析等诸多领域取得了令人瞩目的成就,而且在地震前兆时间序列分析中的应用还比较少。 本文将LSTM 技术引入了地震前兆数据处理中,主要结论有如下几点:
(1)拓宽了地震前兆数据分析的方法:采用LSTM 技术对历史地热动态变化规律进行建模,并对未知地热变化趋势进行预测,为地震前兆数据分析引入了新思路。
(2)为地热数据异常自动检测提供了技术基础:通过对正常数据变化规律建模,可以预测未来数据变化趋势,当实际观测数据与预测数据偏差较大时,可以认为出现异常数据。 这种方法可以方便计算机自动处理地热数据。
(3)拓宽了LSTM 的应用领域:目前LSTM 技术应用于地震前兆数据处理中的应用还比较少,论文采用其对地热变化规律建模,并与传统的AR 方法、ARMA 方法相比,发现LSTM 具有拟合精度高、预测时间长、适应性强等特点,论文的研究拓展了LSTM 的应用领域。
本文的方法的不足之处在于,采用LSTM 对地热数据动态变化建模,只能为数据异常检测提供辅助,无法分析异常数据是干扰异常还是震兆异常,异常的进一步分类,还需要人工完成,或者采用其它机器学习方法来完成。