一种微博舆情动态时空关联下浒苔灾害空间分布推估方法
技术领域
本发明属于地理信息知识发现领域,具体涉及一种微博舆情动态时空关联下的浒苔灾害空间分布推估方法。
背景技术
在历年浒苔灾害发生的过程中,业务化部门需要进行浒苔灾害的每日应急监测工作。在每日监测的过程中,往往缺失全部或者缺失部分直接的浒苔监测数据,比如:无人机与飞机遥感航拍受天气制约较大、卫星的监测范围大但容易受云、雾等影响、海洋监测船监测范围较小且效率较低等。而在历年浒苔灾害出现、发展、爆发、消亡、消失的过程中,处于不同地点的新浪微博用户会在新浪微博上发布有关于浒苔灾害的相关资讯与个人观点,因此在浒苔灾害发生时新浪微博上存在着一定数量的社会舆情数据,可以辅助确定浒苔灾害的发生的时间与空间分布信息。但微博社会舆情信息的指向性较宽、密度与价值较低,例如微博社会舆情信息仅能提供微博发布者的地理位置、微博文本内容与社会关注度等,直接指向浒苔灾害空间分布与受灾情况的信息较少。如何在当日直接监测数据缺失或数据质量不佳的情况下,基于微博社会舆情,推估当日浒苔发展态势及空间分布,以满足浒苔灾害应急救援的需要是一个关键难点。
发明内容
为解决上述关键难点问题,以微博舆情动态推估当日浒苔发展态势,本研究充分考虑微博社会舆情的时空分布、数量等特征与对应浒苔发展的特征之间的时空关联关系,提出了一种微博舆情动态时空关联下的浒苔灾害空间分布推估方法;
本发明采用的技术方案首先对基于MODIS影像进行监测的灾害监测结果进行特征提取,这些特征包括覆盖面积(CA),浒苔分布的最小面积外接矩形的长度(L1)、宽度(L2)与角度(θ0),浒苔灾害漂移重心以浒苔监测结果的日期为截止日期,提取当年度到截止日期的微博数据的特征,这些特征包括微博分布的标准差椭圆(SDE)的中心坐标(SDEx,SDEy)、角度(α)、长轴(σx)、短轴σy,分布热点区域(Bm)的辐射强度与辐射范围接着,使用浒苔灾害的特征与对应微博社会舆情的特征训练双向联想记忆神经网络(BAM)。将用于训练的浒苔灾害特征与社会舆情特征以年为单位划分为N个子集Yi,(i=1,2,…,N)。每次仅取一年作为测试集,其余为训练集,训练出对应的双向联想神经网络BAMyear及其结果集Yyear′。合并所有的结果集Yyear′,形成新的结果集Y′,将Y′与测试集Y进行残差网络训练;将微博分布的特征进行关联规则提取,得到微博特征规则(ruleX);将浒苔灾害的特征进行关联规则提取,得到浒苔特征规则(ruleY);最后将需要推估浒苔态势的微博社会舆情进行特征提取,将提取得到的特征输入BAM,在BAM运行的过程中使用残差网络、RuleX与RuleY约束其结果,得到对应的浒苔灾害特征以推估浒苔态势,其具体步骤如下:
步骤一:浒苔灾害特征提取,所需提取的浒苔灾害特征包括浒苔灾害的覆盖面积、浒苔灾害的漂移重心、浒苔灾害分布最小外接矩形的长、宽与旋转角度。设历史上的浒苔灾害发生时,存在一组数量为Nd可供浒苔灾害解译分析的MODIS影像,其年份分别为Year={year1,year2,...,yearN},对于集合Year中的任意一年year存在可以解译浒苔灾害的MODIS日期为其中N为总年份数,Nyear为第year年的天数;
步骤11:根据公式(1),计算出基于MODIS影像提取得到的浒苔灾害的覆盖面积(CA);
CA=n×cellsize×cellsize (1)
公式(1)中,n为浒苔灾害在图像中实际覆盖的像元数,cellsize为影像的分辨率,通常为250m;
步骤12:根据公式(2)与(3),计算出浒苔灾害的漂移重心
公式(2)与(3)中,xi与yi分别为浒苔发生位置的横坐标与纵坐标,n为浒苔灾害在图像中实际覆盖的像元数;
步骤13:对监测范围中的任一点(xi,yi)的浒苔灾害,对其实施一个角度为θ的逆时针旋转,得到新的坐标位置(x′i(θ),,y′i(θ),),其计算公式为公式(4)与公式(5);θ的范围为[0°,180°],步长为1°,初值为0°;计算θ取不同值时的横坐标x′i(θ)与纵坐标y′i(θ);将所有x′i(θ)与y′i(θ)的极差作为浒苔分布外接矩形的长L1(θ)与宽L2(θ),其计算公式分别为公式(7)与公式(8);计算θ取不同值时的最小外接矩形面积S(θ),如公式(8)所示;选取外接矩形面积最小时对应的θ0作为浒苔分布的角度特征,如公式(9)所示;取θ0对应的长L1(θ0)与宽L1(θ0)作为浒苔分布的长度与宽度特征,如公式(10)与公式(11)所示;
L1(θ)=R(X′),X={x′0(θ),x′1(θ),...,x′n-1(θ)} (6)
L2(θ)=R(Y′),Y={y′0(θ),y′1(θ),...,y′n-1(θ)} (7)
S(θ)=L1(θ)L2(θ) (8)
minS(θ)→θ0 (9)
L1=L1(θ0) (10)
L2=L1(θ0) (11)
公式(6)与公式(7)中,R(·)表示极差函数;公式(9)中min表示取最小值;
步骤二:微博社会舆情特征提取,所需提取的微博社会舆情特征包括热点辐射范围,热点辐射强度、标准差椭圆分布范围与标准差椭圆旋转角度。利用新浪微博开放接口获取关键字为“浒苔”、“绿潮”的微博数据,发布时间为年份集合Year中的每天。获取的微博社会舆情数据包括微博文本内容、微博发文位置、微博发布时间;设某一天day存在可解译浒苔灾害的MODIS影像,其年份为year,则其对应的社会舆情数据为第year年在发生日期day之前的所有数据。对Year中的每一年year对应的日期Day中的每一天day,进行微博社会舆情特征的提取;
步骤21:根据局部莫兰指数,发掘日期为(year,day)的社会舆情的热点位置B,B={B1,B2,...,BM},M为发掘出的热点位置数量。对任一社会舆情点,根据其空间位置,计算其与所有热点位置的直线距离,选择距离最近的热点位置作为其热点位置。热点位置Bm所对应的社会舆情点集合为Pm,Pm中每条数据与热点位置Bm之间的横坐标距离集合为DXm,纵坐标距离集合为DYm;
步骤22:根据公式(12)与(13),计算任一热点位置Bm(Bm∈B)的辐射范围与
公式(12)与(13)中,为集合Pm的元素数量,与分别表示集合DXm与DYm中第i个元素;
步骤23:根据公式(14)与公式(15),计算任一热点位置Bm(Bm∈B)的辐射强度ρ(Bm);
公式(14)与(15)中,λ(Bm,ti)表示单位时间内,Bm辐射范围内舆情数据点的平均数,t0表示单位时间,E(·)表示平均,N(·)表示计数;
步骤24:设所有的社会舆情点集合P的数量为np,根据公式(16)与公式(17)计算微博社会舆情点的中心坐标(SDEx,SDEy);根据公式(18)计算微博社会舆情点的标准差椭圆旋转角度α;根据公式(19)与公式(20)计算微博社会舆情点标准差椭圆在X与Y轴的分布范围σx与σy;
公式(18)、(19)与(20)中,为第i个舆情点的横坐标xi到中心横坐标SDEx的距离,为第i个舆情点的纵坐标yi到中心纵坐标SDEy的距离;
步骤三:基于浒苔灾害特征与微博社会舆情特征进行双向联想神经网络构建;
步骤31:对于日期为(year,day)的浒苔灾害,将微博社会舆情特征作为
将浒苔灾害的特征作为将Xyear,day与Yyear,day中的每个特征从十进制数据处理为二进制形式,并将0替换为-1;对Year集合与对应的Day集合中的每一日期(year,day)的浒苔灾害数据与微博社会舆情数据执行此步骤,形成X集合与Y集合,其中X={Xyear,day|year∈Year,day∈Dayyear},Y={Yyear,day|year∈Year,day∈Dayyear},X与Y中均包含Nd个元素,X与Y中每个元素的序列长度分别为NX与NY;
步骤32:根据公式(21),计算权重矩阵W,得到双向联想神经网络BAM;
公式(21)中,k为X与Y中记录的序列号,W是一个大小为NX×NY的矩阵;
步骤四:取不同年的浒苔灾害特征与微博社会舆情特征作为测试集,剩余年作为训练集,进行不同年份的双向联想网络训练。基于不同年份的测试集与结果集,构建残差网络;
步骤41:对于年份集合Year中的任一元素year,循环执行(1)-(3);
(1)在X与Y中匹配年份为year的记录,将符合要求的结果记为Xyear与Yyear,不符合要求的结果记为Xyear′与Yyear′,其数量均为Nyear′;
(2)根据公式(22),计算权重矩阵Wyear,其对应的双向联想神经网络为BAMyear;
(3)根据公式(23)、公式(24)与公式(25),输入Xyear,循环迭代计算,直到Xyear与Yyear稳定,即不发生变化为止,得到预测的Yyear′;
公式(23)、(24)与(25)中,f(a,b)为激活函数;
步骤42:汇总所有的Yyear′,将其中的-1替换为0,并恢复为十进制,形成形成新的预测浒苔灾害的特征的序列集合Y′;关于Y与Y′的残差网络,可以描述为公式(26);以均方根(MSE)误差最小为原则,对公式(26)进行拟合,可以得到参数ω1与b1的值;
Y-Y′=ω1Y′+b1 (26)
公式(26)中,ω1为权重模板,b1为偏置;
步骤五:基于历年浒苔灾害与微博社会舆情特征,提取浒苔与微博社会舆情时空规则;
步骤51:设A与B分别为X或Y中某两个特征的状态,D为X或Y所有记录的集合,d为这两个特征状态分别为A与B的所有记录集合,根据公式(27),可以计算A发生时,B亦发生的置信度confidence(A→B);
步骤52:基于APRIORI算法,以置信度最大为目标,发掘集合X与Y中置信度为100%的规则,记为ruleX与ruleY;
步骤六:输入待预测浒苔灾害对应的微博社会舆情数据,进行基于微博社会舆情的浒苔分布预测;
步骤61:输入待预测浒苔灾害分布的年份year′与日期day′,并使用微博开放接口获取年份为year′、日期在day′之前、关键词为“浒苔”、“绿潮”的微博社会舆情数据;
步骤62:执行步骤二,并获取当前舆情信息特征
,将x′处理为二进制形式,并将其中的0替换为-1;
步骤63:根据公式(28)、(29)与(25),在BAM中输入x′,进行循环
计算,当x′与y′保持稳定,即不再发生变化时结束循环;
公式(28)与(29)中,p、q分别为x′与y′中元素的序列号;
步骤64:将y′q中的-1替换为0,并复原为浒苔灾害分布的特征
步骤65:根据公式(30),使用残差网络对BAM的结果进行修正,得到修正后的结果y″;
y″=ω1(y′+I)+b1 (30)
步骤66:对y″中的各类特征,使用ruleY中所有规则进行判断,若符合规则,将y″作为最终结果,若不符合规则,则将y″中不满足的部分替换为满足ruleY中条件的任意值作为最终结果。
本发明使用历年的浒苔灾害和对应的微博社会舆情数据,根据浒苔灾害的覆盖面积、分布长宽、旋转角度与漂移重心,微博社会舆情的热点辐射范围、热点辐射强度、标准差椭圆角度、标准差椭圆范围构建双向联想神经网络,实现在得到微博社会舆情数据时可以推估浒苔空间分布于态势的目的。在使用双向联想神经网络预测浒苔灾害的过程中,使用残差网络对双向联想神经网络稳定状态下的结果进行校正,使用基于APRIORI算法提取得到的浒苔与微博时空关联规则对神经网络运行的结果进行校正,最后得到推估的当前浒苔灾害空间分布与发展的态势。与传统使用遥感影像的人工解译方法相比,本方法具有经济性、高效性和自动化程度高等特点;
附图说明
图1为本发明流程图。
图2为本发明所用的微博社会舆情数据及探索出的热点区域。
图3为本发明的实验结果与对比。
具体实施方式
本实例选取2016年、2017年、2018年与2019年浒苔灾害及其对应的微博社会舆情数据作为实验用的训练数据,2019年的浒苔灾害及其对应的微博社会舆情数据作为实验中的测试数据。实验所用的微博社会舆情数据格式为shapefile格式,共探索出北京、青岛、济南与南通四个热点区域,在ArcMap中显示如图2。针对浒苔灾害特征提取、微博社会舆情特征提取、双向联想神经网络构建、残差网络构建、浒苔与微博社会舆情时空特征提取与基于微博社会舆情的浒苔分布预测的整个过程,给出本发明的一个实施例;
(一)浒苔灾害特征提取
2016年-2019年共存在45组数据质量较好的,可用于浒苔灾害监测的MODIS影像,其具体年份Year与对应日期Day见表1,其中用于训练的数据为2016年、2017年、2018年,用于测试的为2019年;
表1实例中数据日期分布。
步骤11:根据公式(1),计算出基于MODIS影像提取得到的浒苔灾害的覆盖面积(CA),例如2016年5月16日,浒苔灾害的分布面积CA=615km2;
步骤12:根据公式(2)与(3),计算出浒苔灾害的漂移重心,例如2016年5月16日,浒苔灾害的分布重心坐标为(373.86km,3731.48km);
步骤13:根据公式(4)-(11),计算出浒苔灾害分布的长度、宽度与旋转角度,例如2016年5月16日,浒苔灾害分布的长度L1500.58km,宽度L2为217.19km,旋转角度θ0为141°;
(二)微博社会舆情特征提取
步骤21:根据局部莫兰指数,在2016年-2018年的舆情数据中共挖掘出4个舆情分布热点区域,如图2所示。B={北京、济南、青岛与南通};
步骤22:根据公式(12)与(13),计算每个热点位置的辐射范围与例如2016年5月16日,微博社会舆情中,北京的辐射范围为
步骤23:根据公式(14)与公式(15),计算每个热点位置的辐射强度ρ(Bm)。例如2016年5月16日,微博社会舆情中,北京的辐射强度为ρ(B0)=4;
步骤24:根据公式(16)与公式(17)计算微博社会舆情点的中心坐标(SDEx,SDEy)。例如2016年5月16日,微博社会舆情点的中心坐标(SDEx,SDEy)为(191.87km,4024.20km)。根据公式(18)计算微博社会舆情点的标准差椭圆旋转方向α。例如2016年5月16日,其标准差椭圆旋转方向α=102.83°。根据公式(19)与公式(20)计算微博社会舆情点标准差椭圆在X与Y轴的分布范围σx与σy。例如2016年5月16日,其分布范围σx=189.08km与σy=208.82km。
(三)基于浒苔灾害特征与微博社会舆情特征进行双向联想神经网络构建对于日期为(year,day)的浒苔灾害,将微博社会舆情特征作为 将浒苔灾害的特征作为以2016年5月16日的浒苔灾害为例,构建出的X2016,5.16=(150.58km,38.10km,4,113.24km,224.99km,4,39.33km,401.70km,3,737.43km,430.69km,0,191.87km,4024.20km,102°,189.03km,20.88km),Y2016,5.16=(615km2,373.86km,3731.48km,141°,500.58km,217.19km)。将Xyear,day与Yyear,day中的每个特征从十进制数据处理为二进制数据,并将0替换为-1。例如将X2016,5.16集合中的覆盖面积CA特征处理为1-1-111-1-1111;
步骤32:根据公式(21),计算权重矩阵W,得到双向联想神经网络BAM;
(四)取不同年的浒苔灾害特征与微博社会舆情特征作为测试集,剩余年作为训练集,进行不同年份的双向联想网络训练。基于不同年份的测试集与结果集,构建残差网络;
步骤41:对于年份集合Year中的任一元素year,循环执行(1)-(3);
(1)以2016年为例,在X与Y中匹配年份为2016年的记录,将符合要求的结果记为X2016与Y2016,不符合要求的结果记为X2016′与Y2016′,其数量均为37。
(2)根据公式(22),计算权重矩阵W2016,对应的网络结构代号为BAM2016
(3)根据公式(23)、公式(24)与公式(25),输入X2016,循环迭代计算,直到X2016与Y2016稳定,即不发生变化为止,得到预测的Y2016′;
步骤42:汇总Y2016′,将其中的-1替换为0,并恢复为十进制,形成形成新的预测浒苔灾害的特征的序列集合Y′;关于Y与Y′的残差网络,可以描述为公式(26);以均方根(MSE)误差最小为原则,对公式(26)进行拟合,可以得到参数矩阵ω1与b1的值;
(五)基于历年浒苔灾害与微博社会舆情特征,提取浒苔与微博社会舆情时空规则;
基于APRIORI算法,以置信度最大为目标,发掘集合X与Y中置信度为100%的规则,记为ruleX与ruleY。例如ruleX中,L2≤81.18km时,CA≤647km2;
(六)输入待预测浒苔灾害对应的微博社会舆情数据,进行基于微博社会舆情的浒苔分布预测;
步骤61:输入待预测浒苔分布的年份2019年与日期6月23日,并使用微博开放接口获取年份为2020年、日期在6月23日之前、关键词为“浒苔”、“绿潮”的微博社会舆情数据;
步骤62:执行步骤二,并获取当前舆情信息特征;
x′=(78.61km,544.66km,10,500.41km,196.08km,8,152.55km,198.48km,5,167.18km,224.14km,4,15.91km,4029.59km,171°,695.94km,14.08km),将x′处理为二进制形式,并将所有0替换为-1;
步骤63:根据公式(28)、(29)与(25),在BAM中输入x′,循环计算,当x′与y′保持稳定,即不再发生变化时结束循环,得到最终的结果y′;
步骤64:将y′中的-1替换为0,并复原为浒苔灾害分布的特征y′=(2299.17km2,336.09km,3946.37km,6.12°,512.05km,180.29km);
步骤65:根据公式(30),使用残差网络对BAM的结果进行修正,得到修正后的结果y″=(2295.38km2,331.31km,3895.31km,11.62°,288.52km,233.26km);
步骤66:对y″中的各类特征,使用ruleY中所有规则进行判断,若符合规则,将y″作为最终结果,若不符合规则,则将y″中不满足的部分替换为满足ruleY中条件的任意值作为最终结果。2019年6月23日的预测结果符合ruleY,因此不进行修正直接作为结果。
测试分析:将本方法预测的浒苔分布结果与实际的浒苔分布结果进行对比(如图3),可以看出两者具有较高的一致性,其结果优于单纯使用双向联想神经网络进行预测得到的结果。本发明结果的虚警概率为31%,漏判概率为25%,准确度为79%,说明本方法的有效性。此外,与传统使用遥感影像的人工解译方法相比,本方法具有经济性、高效性和自动化程度高等特点。