中国地震  2022, Vol. 38 Issue (2): 270-279
基于LSTM的震后通信数据异常检测分析
王晓湘1, 刘洞天1, 刘南江2, 丁一2, 姜立新3     
1. 北京邮电大学, 信息与通信工程学院, 北京 100876;
2. 应急管理部国家减灾中心, 北京 100124;
3. 中国地震台网中心, 北京 100045
摘要:震后通信数据会发生异常变化, 通过对通信数据异常进行分析, 有助于提供有效的灾情数据以及更好地了解震后产生的影响, 进而有效地为抗震救灾提供辅助支持。本文基于LSTM对震后的通信数据异常进行分析, 研究内容主要包括通信数据流预处理、基于LSTM的异常检测模型以及数据分布变化检测模型。结果表明, 本文模型能够对通信数据的异常变化进行识别, 为后续的灾情分析提供数据。
关键词通信数据    数据处理    异常检测    数据分布变化    
LSTM-based Anomaly Detection and Analysis of Post-earthquake Communication Data
Wang Xiaoxiang1, Liu Dongtian1, Liu Nanjiang2, Ding Yi2, Jiang Lixin3     
1. School of Information and Communication Engineering, BUPT, Beijing 100876, China;
2. National Disaster Reduction Center of China, Ministry of Emergency Management, Beijing 100124, China;
3. China Earthquake Networks Center, Beijing 100045, China
Abstract: After the earthquake, the communication data usually undergoes abnormal changes. Through the analysis of the communication data abnormality, effective disaster data can be provided, which is a basis for decision-making for earthquake relief. Analyzing abnormal communication data helps to better understand the impact of the earthquake and can provides auxiliary support for following-up command and disaster relief. This paper analyzes the communication data anomalies after the earthquake based on LSTM, which mainly includes: communication data stream preprocessing, anomaly detection model based on LSTM, and data distribution change detection model. The model in this paper is capable of identifying abnormal changes in communication data and provides disaster data for subsequent hazard analysis.
Key words: Communication data     Data processing     Anomaly detection     Data distribution changes    
0 引言

我国是地震灾害最为严重的国家之一,地震会造成次生灾害,破坏当地的道路和交通,造成人员伤亡和财产损失。

震后的灾情分析对于应急救灾尤为关键,而灾情分析需要获取震后的灾情数据。目前,震后灾情数据的获取通常利用实地调查方式,但由于交通被破坏,实地调查往往耗费大量的时间和人力,延误抗震救灾的进度。

随着科学技术的发展,智能设备持有量日益增加,对通信数据的有效分析可以解决许多问题。地震发生后,受设备和电力的影响,通信数据会产生不同程度的变化。2017年九寨沟7.0级地震后,就导致了273个基站退服,因此出现话务拥塞的情况。通过通信数据异常检测,分析震后通信数据出现的异常(白惠文,2019),可为灾情分析提供数据,进而为抗震救灾提供辅助支持,且相较传统的灾情数据获取更加快速和有效。

众多学者对震后灾情数据的获取进行了相关研究。刘在涛等(2011)以震级、震区人口密度等地震有关信息为依据,建立起地震应急响应等级的分类判别规则,从而提供了一种简便、快速的地震应急响应等级初判方法;陈琳等(2011)通过对福建网格离散化,利用地震动峰值加速度对全省的网格进行烈度评估,提出了一种基于地震动峰值加速度的地震灾害程度评估方法;傅征祥等(2008)通过对北方建筑物进行分类,归纳整理出基于倒塌率计算死亡率的公式,但是通过地理数据得到的震后数据只能够体现出地理层面的破坏情况,可能与实际情况不符。真实情况的灾情数据通常需要震后工作人员实地调查得出(薄涛等,2018)。

为快速获取灾情数据,近年来科研人员利用震后通信数据进行了相关研究。通信数据能够反映出人的活动,数据更为准确,且真实性高(董翔等,2007)。Bengtsson等(2011)使用手机用户SIM卡的位置数据来分析震后海地人口的移动趋势,为后续研究震后人员位置和及时救援提供了帮助;Finazzi(2016)基于智能手机的网络数据来检测地震的发生,其通过在手机中加入加速度传感器,当传感器感受到振动时,将信号上传,通过分析信号便得出相关结论。

基于灾情分析的紧迫性和实地获取灾情数据的限制,本文基于长短期记忆网络LSTM(Long Short Term Memory)对震后的通信数据进行异常检测,分析震后出现的通信数据异常,为灾情分析提供数据支持。由于地震后基站的破坏和人员的活动,震区的通信数据会发生异常变化,利用用户上传的通信数据,建立数据流异常检测模型,对数据进行异常检测并评估异常等级,得出区域通信数据的异常情况,为灾情分析提供数据支持,辅助抗震救灾。利用该模型在实验数据上进行了应用,实验结果表明,对同一区域内的数据进行分析,使用基于LSTM的通信数据流异常检测模型,能够分析出区域内数据的异常程度,进而对应急救灾提供辅助支持。

1 RNN、LSTM网络概述 1.1 循环神经网络RNN

循环神经网络RNN(Recurrent Neural Network)由输入层、隐藏层和输出层组成,相比全连接神经网络,RNN隐藏层的值与当前输入和之前的隐藏层值有关。RNN模型的基本结构如图 1所示,当模型输入xt时,基本单元中隐藏层st的值取决于xtst-1,基于此可得出RNN的表达式,即

$ s_{t}=f\left(U x_{t}+W s_{t-1}\right) $ (1)
图 1 简易RNN模型

其中,UW表示权重值,f函数常用tanh函数。

相比其他神经网络算法,RNN能更好地处理序列信息,但在处理长序列信息时会出现梯度消失和梯度爆炸问题。

1.2 长短期记忆网络LSTM

长短时记忆网络LSTM是针对RNN网络中存在的无法处理长距离依赖的问题而改进的循环神经网络。在时间序列预测分析的问题上,LSTM可以通过过去一段时间的数据特征来预测未来的数据特征。

LSTM网络通过“门”结构使节点可以“记忆”或者“忘记”数据,其主要包含3个“门”:忘记门、信息增加门和信息输出门。通过这3个“门”,使得每次细胞状态的输入包含上一时刻的输出,而此刻的输入也有节点本身存储的部分信息。因此,LSTM在较长的序列上有更好的表现。

2 研究方法

考虑到本研究处理的数据为数据流,数据分布易发生变化且高速生成,故设计了基于LSTM的通信数据异常检测模型,并在模型中引入了数据分布检测模块。

2.1 通信数据预处理

智能设备上传的通信数据以数据流的形式进行收集,极短时间内就会产生大量数据,因此需要对数据进行快速处理,还需要对数据预处理(王晓青等,2000)。本模型使用了基于邻域粗糙集思想的特征约简方法,该方法通过计算每一个属性对于决策属性的重要性进行排序,根据设定好的重要性阈值对属性进行约简。本文利用欧几里得距离公式计算数据间的距离,当两数据距离小于设定阈值,则两数据为一类,即利用邻域粗糙集约简特征的方法进行处理。

考虑到特征间的相关性,本文计算了特征间的相关系数,根据相关系数阈值,对于高度相关的共性特征,只保留重要性更高的特征(Guo et al,2021)。

同时,为了加快模型的处理速度,对数据集进行分块处理,将每个数据块上的特征重要性进行求和,得出最终的特征重要性,使本文方法在处理高维数据时更加快速。

2.2 基于LSTM的通信数据异常检测模型

考虑收集到的通信数据为数据流,以及数据异常检测的基本要求,本文设计了基于LSTM的数据流异常检测模型。对通信数据进行预处理后,对时间序列的数据建模进行预测,且设计了差值正态建模来判断数据异常。

构建LSTM异常检测模型,主要环节如下:

(1) 设定好时间窗口大小K,并按照时间窗口大小对于数据集进行改造,将时间序列转化为有监督序列,即利用过去K个值预测下一时刻的值,原本下一时刻的值作为监督值。

(2) 将使用的数据集划分为训练集和测试集,并将数据的格式转换为LSTM中需要的格式,即[samples,timesteps,features]。

(3) 通过不断尝试,确定模型中使用的参数,包含迭代次数、每次迭代的数据量以及神经元的数量。

(4) 建立LSTM模型。对数据流中的数据进行预测的模型构建好后,即可对数据进行预测。将数据格式进行相应的反变换,计算监督值与预测值的差,利用当前时刻前K时刻数据的预测差值进行正态分布建模,计算当前时刻预测差值概率密度值的倒数,作为异常分数,当异常分数大于设定的阈值时,认为数据异常。

LSTM数据流异常检测模型算法如下:

输入:数据集Data,时间窗口K

输出:异常值集合

(1) 将数据集转化为有监督学习问题并进行归一化;

(2) 将数据集划分为训练集和测试集,并重构为规定形式;

(3) 搭建LSTM模型并进行优化;

(4) 利用模型对数据进行预测,并根据与真实值的差异来判断数据异常。

2.3 数据分布变化检测

随着时间的推移,数据分布可能会发生变化,导致异常检测模型的性能变差。本文在模型中设计了数据分布变化检测方法,通过比较前后2个数据块的数据分布变化进行判断,当模型性能发生显著变化,利用新数据重构异常检测模型。

SVM(Support Vector Machin)是常用的机器学习方法,其能够完成线性和非线性的分类(Minku et al,2012)。SVM主要思想是寻找特征空间最大化间隔的线性分类超平面,将不同类的样本区分开,同时使得数据点到平面的间隔最大。

本文设计了基于SVM模型参数的数据分布检测法,其通过前后数据块学习得到的参数差异,判断数据分布变化的发生。通过对两数据块M1和M2进行学习,可以得出相应的分类平面向量W1和W2,通过计算向量的夹角余弦最大值来衡量是否有模型性能变化的发生,进而对模型进行相应的调整,提高模型的泛化能力。

SVM参数法算法如下:

输入:数据块M1,M2,阈值θd

输出:是否发生模型性能变化

(1) 将M1、M2输入SVM模型,计算出前后两窗口数据的分类平面向量W1W2

(2) 计算cosθ=max cos(W1W2);

(3) 如果cosθ < θd,算法收敛,返回正确;

(4) 否则,返回错误。

由此,得出通信数据流异常检测模型整体的框架,如图 2所示。利用设计的LSTM模型检测数据异常,得出异常分数;不断对数据流的数据分布进行检测,当模型性能产生明显变化时,利用新数据重新训练模型。

图 2 基于通信数据的异常检测模型框架
3 分析和讨论 3.1 实验相关说明

本研究实验环境为:Intel Core i5 CPU,4GB内存,Windows10操作系统,Python3.7,使用PyCharm作为开发工具。实验通信数据为基于2017年九寨沟7.0级地震发生前后数据变化规律构造的通信数据集,数据包含地震前后共120min、10000个样本的数据。

使用NAB数据集分析LSTM与k-sigma、均值漂移聚类的异常检测效果,具体使用的数据流描述如下(Rampisela et al,2021):

(1) Real Tweets-GOOGLE:主要记录了Twitter上关于GOOGLE网站的提及次数,数据每5min进行一次统计。

(2) Real Ad Exchange:收集了在线广告点击率,包含每次点击成本CPC(Cost per click),以及每千人印象成本CPM(Cost per thousand impressions)。

(3) Real Known Cause:主要包含导致异常的数据,数据特征包含环境温度、CPU使用情况、定集群CPU使用情况、CPU使用率。

(4) 大气污染数据集:记录了北京某空气监测站收集的天气信息和空气污染指数,数据每小时采集一次,数据特征包括日期、PM2.5浓度、露点、温度、风向、风速、累积小时雪量和累积小时雨量。

(5) 电力数据集:共有45312个数据,记录了澳大利亚的电价数据,数据集中有8个特征,两种类别表示电价的变化趋势。

3.2 结果分析

异常检测数据集通常正负样本不均衡,仅通过准确率等指标很难评估模型。因此使用AUC(Area Under Curve)分析模型的效果,其能够避免数据样本不均衡导致的评价失误。AUC的值为ROC(Receiver Operating Characteristic Curve)曲线下的面积,面积越大,代表分类效果越好。将不同模型在NAB的CPC数据(Swiniarski et al,2003)、Real Tweets中的GOOGLE数据、Real Known Cause中的request数据上进行测试(Sachin et al,2020),得出结果如图 3所示。

图 3 NAB数据下不同模型的ROC曲线

图 3中使用LSTM+差值正态建模的ROC曲线基本均超过了其他曲线,曲线下的面积更大,即AUC值更大,分类性能更强,对数据流中的异常检测效果更好。综合模型的准确率、召回率等指标对模型进行评估,结果如表 1所示。

表 1 不同数据下不同异常检测模型的数据

表 1中,使用LSTM+正态建模异常检测模型的AUC面积更大,且模型的F1值更优,代表在异常数据的识别表现更好,更能捕捉数据流的变化,在异常数据检测能力上优于其余3种模型。

通过进一步实验测试加入数据分布变化检测模块的效果。实验基于Python3.5进行实现和验证。将LSTM整体模型和不同的检测方法结合,应用于测试数据集上,使用电力数据集和大气污染数据集,其与通信数据具有大部分时间正常、少数时间异常的相似点。

将LSTM模型和常用的检测方法ADWIN、DDM以及SVM参数法应用于电力数据集与大气污染数据集上,得出的结果如图 4所示。

图 4 电力数据(a)和大气污染数据(b)的平均准确率曲线

图 4可见,起初数据流分布较为稳定,模型性能没有明显差异,随着数据不断输入,不同的方法根据自身对于数据分布变化的判断更新模型,模型准确率发生变化,可以看出本文方法的准确率优于其他2种方法。

由不同数据下的检测算法性能表现(表 2)可见,LSTM+SVM方式的准确率较优于其他3种方式。在处理时间和占用内存上,由于SVM参数法需要计算两数据块的分类平面,因此处理时间会相对较长,占用内存也会相对较大,但考虑到通信数据流异常检测中更需要保障模型的性能,因此使用该方法分析通信数据流效果更好。

表 2 不同数据下的检测算法性能表现

通过获取到的2017年九寨沟7.0级地震前后部分区域的平均信号强度数据、可连接基站数和可连接Wi-Fi数等数据的变化,包含地震前后各1h共计120min的数据变化,通过模拟均值和方差以及震后的数据变化,对数据进行扩充,生成了实验通信数据,包含10000个网格的120min变化数据。

利用特征约简算法进行约简,得到的每个属性的重要性评分,如表 3所示,可以看出网速和未读短信数重要性较差,因此约简后的属性保留3个:基站数、信号质量和Wi-Fi数量。

表 3 属性重要性评分

将设计的模型应用于通信数据上,其中时间窗口设置为10,异常分数阈值设为0.35,验证模型在通信数据异常检测上的可行性,得到的结果如表 4所示,可以看出,LSTM+差值建模异常检测模型的性能相比其他异常检测模型更优。

表 4 通信数据下的模型性能表现

不同程度的地震会造成不同程度通信数据的变化,通过对异常分数进行划分,评估异常等级。将异常分数按照大小划分为0~5共6个等级,利用2017年九寨沟7.0级地震通信数据,选取第70min数据得出的异常分数,按照[0~0.35]、[0.35~0.48]、[0.48~0.6]、[0.6~0.7]、[0.7~0.75]、[0.75~1]的评级方式评估大致异常等级。

通过对通信数据异常等级进行评估(图 5),能够对受影响区域进行大致划分,越靠近中心的区域,异常等级更高。同样在通信数据集上,使用数据分布检测3种方法进行测试,得到的结果如表 5所示,其中SVM模型参数法时间窗口设置为160,阈值设置为0.2。

图 5 通信数据异常等级评估结果

表 5 不同检测方法在通信数据上的应用

表 5可见,使用SVM模型参数法提升了异常检测模型的准确率。本文方法在通信数据上仍有良好的表现,能够完成对通信数据流的异常检测。

将10000个网格按照1km重新划分网格,新网格异常等级按照包含网格的等级平均值计算,通过WebGIS可以将得到的评估结果在地图上进一步展示,如图 6所示。

图 6 通信数据异常等级评估结果的WebGIS展示

图 6可见,网格约简后图形更加简约直观,且排除了少数噪声点对于图的影响,能够大致判断受影响的区域,从而辅助抗震救灾。后续还可通过异常等级与灾区等级进行数据对应,利用通信数据异常分析震后的灾情(Wang et al,2016)。

因此,通过基于通信数据流的异常检测能够对通信数据的异常变化进行识别,并且能够对模型中出现的数据分布变化进行识别,并对模型进行更新,应用于震后的通信数据上,能够检测灾后出现的异常通信数据变化,从而进行一定程度上的灾情分布推测。

4 结论

针对震后灾情数据获取不及时的情况,本文设计了基于LSTM的数据异常检测模型,识别震后通信数据发生的异常变化;针对数据流模型中出现的数据分布变化,使用SVM参数法进行检测。通过在实验通信数据上测试,证明了模型对通信数据异常检测的可行性。此外,通过WebGIS的展示,证明通过统计所有区域内的异常等级,可为灾情分析提供有效数据,为应急救灾提供帮助。

参考文献
白惠文, 2019. 基于核判别分析的数据流的在线学习算法研究. 硕士学位论文. 大连: 大连理工大学.
薄涛、李小军、陈苏等, 2018, 基于社交媒体数据的地震烈度快速评估方法, 地震工程与工程振动, 38(5): 206-215.
陈琳, 张明, 朱耿青, 等, 2011. 基于地震动峰值加速度的地震灾害评估方法研究. 见: 2011中国地理信息产业大会暨中国地理信息产业协会成立大会. 北京: 中国地理信息产业协会.
董翔、肖兰喜、杜宪宋等, 2007, 基于网络的山东地震灾情收集分析处理系统, 华北地震科学, 25(3): 6~10, 33. DOI:10.3969/j.issn.1003-1375.2007.03.002
傅征祥、丁香、王晓青, 2006, 2020年前中国大陆发生7级以上大地震频次和最大震级预测的初步研究, 地震, 2006(1): 35-39.
刘在涛、王栋梁、张维佳等, 2011, 基于贝叶斯判别分析的地震应急响应等级初判方法, 地震, 31(2): 114-121.
王晓青、傅征祥、丁香等, 2000, 地震灾害损失预测系统计算原理与主要功能, 地震, 20(增刊Ⅰ): 222-226.
Bengtsson L, Lu X, Thorson A, et al, 2011, Improved response to disasters and outbreaks by tracking population movements with mobile phone network data: A post-earthquake geospatial study in Haiti, PLoS Med, 8(8): e1001083. DOI:10.1371/journal.pmed.1001083
Finazzi F, 2016, The earthquake network project: Toward a crowdsourced smartphone-based earthquake early warning system, Bull Seismol Soc Am, 106(3): 1088-1099. DOI:10.1785/0120150354
Guo Y K, Li Y Y, Xu Y, 2021, Study on the application of LSTM-LightGBM Model in stock rise and fall prediction, MATEC Web Conf, 336: 05011. DOI:10.1051/matecconf/202133605011
Minku L L, Yao X, 2012, DDD: a new ensemble approach for dealing with concept drift, IEEE Trans Knowl Data Eng, 24(4): 619-633.
Rampisela T V, Andarlia H T, Rustam Z, 2021, Classification of the likelihood of Indonesian Facebook users in spreading hoaxes using Support Vector Machine(SVM), J Phys: Conf Ser, 1725(1): 012019.
Sachin M M, Baby M P, Ponraj A S, 2020, Analysis of energy consumption using RNN-LSTM and ARIMA Model, J Phys: Conf Ser, 1716(1): 012048.
Swiniarski R W, Skowron A, 2003, Rough set methods in feature selection and recognition, Pattern Recogn Lett, 24(6): 833-849.
Wang Y Q, Huang M L, Zhu X Y, et al, 2016. Attention-based LSTM for aspect-level sentiment classification. In: Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. Austin: Association for Computational Linguistics, 606~615.