基于灰色预测和SVR算法的地震预测及可视化

2021-11-19 04:43刘议丹黄培煌
闽江学院学报 2021年5期
关键词:震级灰色四川省

游 佳,杨 鑫,刘议丹,黄培煌

(闽江学院数学与数据科学学院(软件学院),福建 福州 350108)

0 引言

地震是一种能给人类社会生活带来严重危害的自然现象。我国地处各大板块的交界地带,时常遭受板块间的碰撞和挤压,是世界上受地震影响最大的国家之一。地震发生所带来的损失巨大,可以说是各种自然灾害之首[1],地震因其毁灭性的影响而引起人们的注意。2008年5月12日的四川省“汶川大地震”之后,为了更好地减轻和避免地震灾害给人类社会带来的严重影响,地震预测越来越受到社会各界的重视。

地震发生过程中会产生地震波,主要是由于地壳快速地释放能量过程所造成震动,其危害巨大。近年来,不少研究者将支持向量回归和灰色预测算法引入到地震预测的研究中。一种具有高度自适应能力的非线性动力系统——支持向量机被引入地震综合预测研究中,该方法适用于小样本事件,能够很好地建立起输入与输出之间的非线性不确定的复杂关系。朱海宁运用改进的支持向量机回归算法对我国大陆地区发生的最大震级进行分析与预测[2];王炜等运用支持向量机在地震综合预测中的初步应用,通过建模预测来研究中国地震,把非线性空间的问题转换到线性空间,降低了算法的复杂度[3-7]。支持向量机克服了传统方法中存在的不足,同时还具备良好的预测能力,适合地震离散数据的建模和预测研究。

地震事件具有较强的随机性,但对某一区域的地震孕育发展过程中,各地震事件之间又有其内在联系,是一个典型的灰色系统。刘丰常根据灰色系统理论的动态(GM)模型,对湖南省的地震活动状态进行数字逼近,并研究预测了其未来三年的地震活动的趋势,效果较为满意[8];刘思峰等采用灰色系统理论在地震预报研究中进行初步应用,且已初步表明,这种方法在中长期预报中可以使用[9-11];盛涛等构建仿真模型,验证了基于SVR的震级预测方法比BP神经网络具有更高的预测精度和可靠性[12]。Zhao Xiangwei等提出了解决当前地震预测遇到的瓶颈问题的可能方案,建立了统一的框架及科学的预测模型[13]。G.Asencio-Cortes等基于回归算法和大数据云基础设施对美国加利福尼亚州进行未来7 d内的地震预测,得到了较有希望的结果,表明回归算法的优势[14]。V.V.Adushkin等根据1997—2018年亚洲地区52次大地震前后记录的地球大气扰动数据,认为重力内波振幅可以用于预报即将到来的地震事件的短期迹象,但仍没有回归算法来得好[15]。

本文对地震数据预测的特点和流程进行分析,结合信息网络技术和现代管理的思想,利用先进的互联网技术,推动地震预测的研究,在SQL和Python的基础上,运用灰色预测和支持向量回归算法来预测,实现了地震数据的查询、信息发布、成果展示和信息共享服务,为地震研究提供全方位的服务,也使得信息获取更加便捷,提高查询效率。

1 数据来源

本文的数据来源于中国地震台网和全球地震历史数据查询网,通过爬虫采集分析了2009—2019年全球的地震数据。本文着重研究四川省的地震数据,因而首先将世界地震数据中四川省的数据筛选出来,数据范围为2008年12月29日至2019年6月30日,总共42 686条数据。

2 地震数据预测及可视化

2.1 灰色预测算法

灰色预测法是一种预测灰色系统的预测方法。灰色预测通过鉴别系统要素之间发展趋势的相异程度,对原始数据进行处理来寻找系统变动的规律,生成有较强规律性的数据序列;在建立灰色预测模型之前,需要对原始时间序列进行数据处理形成生成列,然后建立相应的微分方程模型,来预测事物未来发展趋势的状况。

GM模型是一种灰色预测模型,G表示grey(灰色),M表示model(模型)。灰色预测即运用灰色系统理论,对一定方位内的变化、与时间相关的灰色过程的预测。灰色预测拥有少量数据就可作系统分析,建立模型及预测未来的特点,因而适合用于地震数据预测过程中。

设X(1)的灰导数为

d(k)=X(0)(k)=X(1)(k)-X(1)(k-1)。

(1)

得知Z(1)(k)为数列X(1)的紧临均值生成数列,就是

Z(1)(k)=αX(1)(k)+(1-α)X(1)(k-1),

(2)

α为确定参数,Z(1)(k)为背景值。

从而可以得出GM(1,1)的灰微分方程模型为

d(k)+aZ(1)(k)=b,

(3)

或者

X(0)(k)+aZ(1)(k)=b,

(4)

其中,X(0)(k)称为灰导数,a为是发展灰度,b为灰作用量。

引入矩阵向量记号

(5)

则GM(1,1)模型可表示为

Y=Bu。

(6)

运用最小二乘法,由此可以求出参数a和b的估计值为

(7)

于是方程(4)有特解

(8)

(9)

灰色预测算法的通用性比较强,模型可检验,参数估计方法简单,对小数据集有很好的预测效果,可以应用于地震预测。

2.2 支持向量回归算法

支持向量回归(support vector regression,SVR)的样本点最终只有一类,它的目标是使所有的样本点离超平面的总偏差最小。而回归方法指的是寻找若干变量之间统计关系的一种方法,利用所找的关系对某一个变量作未来某一时刻的估计,即预报值。

对于回归问题,给出训练样本{(x1,y1),(x2,y2),…,(xn,yn)},yi∈R,目标是找到一个函数f(x)=ωTx+b,使得其与y尽可能地接近,ω、b是待确定的参数。在这个模型中,只有当f(x)=y时,损失才为零,而SVR的回归假设所能容忍的f(x)与y之间最多有ε的偏差,当且仅当f(x)与y的差别绝对值大于ε时,才计算损失。

如果数据离回归函数的偏差|yi-ωTxi-b|<ε,则认为是被预测正确的,所以约束条件是保证更多的数据点能够落在接受的精度范围内,即 |yi-ωTxi-b|<ε。

支持向量回归模型可用于连续型目标变量的预测分析,这使得它在探寻变量之间的关系、评估趋势、做出预测等科学领域应用中极具吸引力。

2.3 地震数据预测及可视化

本文首先构建Scrapy框架(图1)来获取所需要研究的数据;接着基于Django框架与数据库连接,将数据传到前端,进行绘图实现可视化操作;绘图在前端进行,Python请求数据库,再将数据传给前端,同一个框架里面设计多个网页,将数据传到Python——数据库(MySql)进行筛选——前端Html5+CSS+JavaScript——运用灰色预测算法和支持向量回归算法对四川省地震数据的分析与预测实现最终目的。

图1 Scrapy框架流程Fig.1 Flow chart of Scrapy framework

图2为Django核心框架示意图,在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式;使用该框架可以快速开发所需要的可视化系统。

图2 Django核心框架Fig.2 Django core framework

2.3.1 基于灰色预测与SVR算法的地震预测

采用四川省2008—2019年地震数据作为训练集,测试集则为四川省2020年的地震数据。利用灰色预测算法和支持向量回归算法共同预测,从而得出以下结果。

在表1中,运用了2009年至2019年四川省最大的一次地震的经纬度、深度、频次、平均震级及其震级作为本文的训练数据,基于灰色预测算法得到2020年预测出四川省可能发生的最大一次地震longitude=103.48°、latitude=28.94°、depth=16.03 km、frequency=114.14次,avg_M=3.50 km。

表1 2009—2020年四川省地震信息

基于支持向量回归算法得到,2020年四川省最大震级为5.85 km。

图3为四川省2009—1019年实际震级与实际所预测震级的对比图,蓝色折线图中y为实际震级,红色折线图的y_pred是实际所预测出来的四川省地震的震级。

图3 实际震级与预测震级对比图Fig.3 Comparison of actual magnitude and predicted magnitude

表2所示为2009年至2019年某个经纬度(地区)所对应的实际震级与预测震级,以及两者之间的震级差.可以看出预测的震级与实际震级之间相差不大,结果与实际值符合较好,所以用灰色预测和支持向量回归算法来预测2020年四川省的最大地震是比较理想的。因此可以运用这两种算法来预测世界发生的地震情况。

表2 2009—2019年某个经纬度(地区)的实际震级与预测震级

2 地震数据可视化

可视化流程:

用户提交请求(url)→Django中路由系统识别并分配→调用相应view.py文件和对应函数→函数接受POST请求并调用Mysql数据库→数据库按条件筛选数据并返回→Django进行处理并转递给html→htmlcssjavascript实现绘图、可视化显示(图4)。

图4和图5地震数据可视化系统可以实现与用户的交互,用户可对地震发生时间、发生地震位置、震级进行数据筛选,输出绘制散点图、时间—每年地震次数折线图、各震级环形图;只需要输入经纬度范围(建议10°之间,区域过大会导致预测效果不理想),通过灰色预测和支持向量回归算法进行预测,预测结果输出相应列表,并在世界地图中绘制所预测出来的地震地点。

图4 地震数据可视化Fig.4 Visualization of seismic data

图5 地震预测系统Fig.5 Earthquake prediction system

3 结论

鉴于地震预测一直以来受到的关注,分析了灰色预测算法、支持向量机回归算法作为研究地震预测的优势,并利用这两种算法共同对四川省地震数据进行预测,从而得到2020年四川省可能发生地震的频次和平均震级,以及最大一次地震的经纬度、深度。此外,通过可视化形式直观清晰展示了预测的结果。综上,结合运用这两种算法的方式,可扩展用于预测世界发生的地震情况,在现有条件下提供了一个具有良好准确度的地震预测方式。

猜你喜欢
震级灰色四川省
多种震级及其巧妙之处*
速读四川省第十二次党代会报告
基于累积绝对位移值的震级估算方法
地震后各国发布的震级可能不一样?
浅灰色的小猪
新震级标度ML和MS(BB)在西藏测震台网的试用
四川省高考志愿填报流程简图
中共四川省第十一届委员会常委名单
灰色时代
她、它的灰色时髦观