本发明涉及滑坡位移预测,具体涉及是一种基于优化蜣螂算法的lstm滑坡位移预测方法。
背景技术:
1、滑坡是一种常见的地质灾害,为了保障人民群众的生命和财产安全,基于滑坡位移实时监测数据进行滑坡位移预测,实现滑坡的预警预报,从而达到科学防灾减灾的目的是十分必要的。
2、目前,滑坡位移预测研究受到国内外广大学者的高度关注,以深度学习为代表的模型被纳入工程应用与科学研究(如lstm,long short-term memory,长短时记忆模型),其促进了滑坡位移预测研究的发展。lstm是一种循环神经网络(rnn,recurrent neuralnetwork)的变体,由于其内部的lstm单元包含输入门、输出门、遗忘门三个记忆单元,能够在网络中保存和访问长期记忆信息,特别适用于处理具有长期依赖关系的序列数据。然而,lstm模型的性能很大程度取决于神经网络模型超参数选择,因此以pso(particle swarmoptimization,粒子群优化算法)为代表的优化算法被应用于神经网络模型超参数选择。具体而言,首先利用粒子群算法的快速收敛能力对lstm模型的超参数进行优化,从而提升lstm模型的训练速度以及对具体预测模型的适应能力。然而滑坡位移预测问题因其内部特征的复杂性(地层岩性、地下水等)和外部环境(降雨、地震、人类工程活动等)的不确定性,造成的监测数据非线性、模糊、高噪声,加剧了滑坡位移预测的复杂性。
3、从滑坡演化模式进行划分可以分为典型的蠕变性滑坡和持续缓速蠕变型滑坡,其中典型的蠕变性滑坡是指具有三阶段演化模式变化的滑坡,包括初始变形阶段、等速变形阶段和加速变形三个阶段。在初始变形阶段,当变形在外界因素的作用下突然启动后,随着外界因素的减弱,其变形速率会逐渐降低;在等速变形阶段,其变形速率基本维持在一恒定值;而一旦进入加速变形阶段,变形速率的不断增加,位移呈逐渐增大的趋势,超过一界限即表示滑坡进入一临滑阶段。
4、而与典型蠕变性滑坡不同的是,持续缓速蠕变型滑坡不完整包含三阶段变形演化阶段,其位移曲线仅包含三阶段中的等速变形阶段和加速变形两个阶段。其位移曲线特征为随着时间增长,位移逐步增大,并且位移速率大于0,具有单调递增性。
5、同时,蜣螂优化算法(dung beetle optimizer,dbo)是一种新型的群智能优化算法,应用在lstm滑坡位移预测中,基于其特性,通常适用于典型的蠕变性滑坡,但是在实际使用中初始化的时候,是一种伪均匀分布的算法,简单描述就是像一个矩形中分布了很多点,伪均匀分布的结果就是这些点要么集中在矩形的顶部,或者底部,或者左侧,或者右侧,存在分布不均的问题。
6、综上所述,这些问题造成既有模型具有泛化能力较弱、预测精度不高,同时优化算法容易陷入局部最优,致使lstm网络结构不能适应实际滑坡位移预测的问题。
技术实现思路
1、本发明针对以上问题,提供一种基于优化蜣螂算法的lstm滑坡位移预测方法。
2、采用的技术方案是,一种基于优化蜣螂算法的lstm滑坡位移预测方法,包括以下步骤:
3、s1.采集滑坡位移数据,构建滑坡位移样本原始数据集;
4、s2.对滑坡位移样本原始数据集进行预处理,得到滑坡位移样本数据集,并将滑坡位移样本数据集划分为训练集和测试样本集;
5、s3.建立初始化lstm网络模型,并设计lstm模型超参数向量结构;
6、s4.建立logistic混沌映射模型,初始化蜣螂算法种群;
7、s5.在logistic混沌映射初始化蜣螂算法种群的基础上,采用蜣螂算法对lstm模型滑动窗口长度、神经元个数及丢弃率等超参数进行寻优;
8、s6.根据蜣螂算法寻优得到的最优超参数,进行lstm模型训练,将待测试的滑坡位移的特征数据代入最终的lstm模型,得到预测结果并计算均方误差。
9、可选的,s1中,所述滑坡位移数据包括gnss监测数据、拉线计监测数据和深层测斜仪数据。
10、可选的,s2中,对滑坡位移样本原始数据集进行预处理包括以下步骤:
11、s2-1.对滑坡位移样本原始数据集进行异常数据处理,包括统一格式和单位、去除无效数据、去除不合理数据、去除离群噪声点、填充数据;
12、s2-2.对异常数据处理过后的滑坡位移样本原始数据集进行归一化处理,使滑坡监测数据信息映射至[0,1]范围内,数据归一化处理采用离差标准化法,计算算式为:
13、
14、式中,xi为某数据归一化后的值,x为数据归一化前的数据值,xmin为样本数据中的最小值,xmax为样本数据中的最大值;
15、s2-3.根据归一化后的滑坡位移样本集dataset,构建训练集trainx、trainy和测试集testx、testy。
16、可选的,s2-3包括以下步骤:
17、s2-3-1.设定训练集大小train_size为归一化后滑坡位移样本集的长度dataset_len,若train_size为小数,则将train_size为整数;设定测试集大小test_size为滑坡位移样本集长度减去train_size;
18、s2-3-2.构建训练集train={ti|ti∈datastet,0≤i<train_size},构建测试集test={ti|ti∈datastet,train_size≤i<dataset_len};
19、s2-3-3.设定时序窗口大小look_back,构建训练集trainx和trainy,数学表达式为:
20、trainx=[x1,x2,x3,...xn],其中x1=[train1,train2,...trainlook_back],x2
21、=[train2,train3,...trainlook_back+1],...xn
22、=[trainn,trainn+1,…trainlook_back+n-1],n
23、=train_size-look_back
24、trainy=[y1,y2,y3,...yn],其中y1=trainlook_back+1,y2=trainlook_back+2,yn
25、=trainlook_back+n,n=train_size-look_back
26、构建测试集testx和testy,数学表达式为:
27、testx=[x1,x2,x3,..,xn],其中x1=[test1,test2,...testlook_back],x2
28、=[test2,test3,...testlook_back+1],...xn
29、=[trainn,trainn+1,...trainlook_back+n-1],n
30、=test_size-look_back←
31、testy=[y1,y2,y3,...yn],其中y1=testlook_back+1,y2=testlook_back+2,yn=
32、testlook_back+n,n=test_size-look_back。
33、可选的,s3中,包括以下步骤:
34、s3-1.建立初始化网络模型,包括3层lstm、1层dropout、1层全连接层、1层输出层,激活函数为relu,lstm模型的损失函数为均方误差,反向传播算法使用adam算法;
35、s3-2.选择6个模型超参数,第1个超参数表示滑动窗口大小look_back,第2个至第4个超参数表示3层lstm的隐藏单元个数,第5个超参数表示dropout层的丢弃率,第6个参数表示训练批次大小batch_size。
36、可选的,s4中,包括以下步骤:
37、s4-1.设定模型超参数向量结构搜索空间的上界ub和下界lb,种群数pop,变量维度dim;
38、s4-2.随机生成一个dim维向量x0,且向量的每个分量在0-1之间;
39、s4-3.基于logistic混沌映射生成pop个向量,logistic混沌映射算式如下:
40、xi+1=μxi*(1-xi);
41、s4-4.将x的每个分量载波到变量的取值区间上,算式如下:
42、popi=xi*(ub-lb)+lb。
43、可选的,s5中,包括以下步骤:
44、s5-1.设定最大迭代次数maxiter;
45、s5-2.在s4中的蜣螂算法初始化种群完毕之后,计算并记录初始化种群的适应度;
46、s5-3.设定蜣螂种群中滚球蜣螂(pballrolling)、育雏球(pbroodbal1)、小蜣螂(psmall)和小偷蜣螂(pthief)的比例,并根据种群数计算各种类蜣螂的数量;
47、s5-4.判断迭代计算器t与最大迭代次数maxiter的大小;
48、s5-5.遍历育雏球蜣螂(pbroodball)的个体,更新位置算式,选出适应度最小值为gbestscore,最小适应度值的位置为gbestpositon,且育雏球蜣螂位置更新算式如下:
49、lb*=max(x*×(1-r),lb),
50、ub*=min(x*×(1+r),ub)
51、式中,x*为当前最佳位置,lb表示下界面,ub表示上界面;
52、且在迭代过程中,位置是动态变化的,算式如下:
53、bi(t+1)=x*+b1×(bi(t)-lb*)+b2×(bi(t)-ub*)
54、式中,bi(t)为当前位置,b1和b2为1×dim的随机向量;
55、判断更新后的位置bi(t+1)是否位于lb和ub之间,如果不是,更新bi(t+1)为lb或ub,并根据步骤s5-2通过育雏球蜣螂个体的新位置,计算适应度,更新gbestscore和gbestpositon;
56、s5-6.遍历小蜣螂(psmall)的个体,更新位置算式,选出适应度最小值为gbestscore,最小适应度值的位置为gbestpositon,小蜣螂位置更新算式如下:
57、xi(t+1)=xi(t)+c1×(xi(t)-lbb)+c2×(xi(t)-ubb)
58、式中:
59、lbb=max(xb×(1-r),lb),
60、ubb=min(xb×(1+r),ub)
61、xb为全局最佳位置,c1为服从正态分布的随机数;c2∈(0,1)为一个随机向量;
62、s5-7.遍历小偷蜣螂(pthief)的个体,更新位置算式,选出适应度最小值为gbestscore,最小适应度值的位置为gbestpositon,小偷蜣螂位置更新算式如下:
63、xi(t+1)=xb+s×g×(|xi(t)-x*|+|xi(t)-xb|)
64、式中,xb为争夺食物的最佳地点,g为服务均值为0,方差为1的正态分布的随机向量,s为一个常数。
65、可选的,在s5-2中,包含以下步骤:
66、s5-2-1.根据s4的初始化种群获取模型超参数,popi,1为滑动窗口大小,popi,2-popi,4为3层lstm的隐藏单元个数,popi,5为dropout层的丢弃率,popi,6为训练批次大小batch_size;
67、s5-2-2.根据s5-2-1的结果初始化lstm模型,并基于trainx和trainy开展模型训练;
68、s5-2-3.完成模型训练后,对testx进行预测生成pred;
69、s5-2-4.计算预测结果pred和testy的均方误差,且该均方误差即为初始化种群的适应度,均方误差计算算式如下:
70、
71、s5-2-5.根据得到的初始化种群的适应度,记录适应度最小值为gbestscore,最小适应度值的索引为gbestpositon。
72、可选的,在s5-4中,当迭代计算器t大于最大迭代次数maxiter时,直接进入s6,否则按如下步骤进行:
73、s5-4-1.遍历滚球蜣螂(pballrolling)的个体,更新位置算式,选出适应度最小值为gbestscore,最小适应度值的位置为gbestpositon,滚球蜣螂位置更新算式如下:
74、xi(t+1)=xi(t)+α×k×xi(t-1)+b×δx,
75、δx=|xi(t)-xw|
76、式中,t为当前迭代次数,xi(t)为第t次迭代时第i只蜣螂的位置信息,α是一个自然系数,表示是否偏离原来方向,根据概率法分配为-1或1,k∈(0,0.2)表示偏转系数,b∈(0,1)表示常数,k和b分别设定为0.1和0.3,xw表示全局最差位置,δx用于模拟光强变化;
77、当滚球蜣螂遇到障碍物而不能前进时,它需要通过跳舞来调整自己的方向,滚球蜣螂跳舞更新位置的算式如下:
78、xi(t+1)=xi(t)+tan(θ)|xi(t)-xi(t-1)|
79、式中,tan(θ)代表偏转系角,θ∈[0,π]表示偏转角,在θ等于0、π/2或π时,蜣螂的位置不会更新;
80、s5-4-2.判断更新后的位置xi(t+1)是否位于lb和ub之间,如果不是,更新xi(t+1)为lb或ub,并根据s5-2所示方法,利用滚球蜣螂个体的新位置,计算适应度,更新gbestscore和gbestpositon。
81、可选的,s6中,根据s5得到的最优超参数,重新构建最优lstm模型,并基于trainx和trainy开展模型训练,对testx进行预测生成testpredict,将测试集testpredict的预测结果转换为原始数据的范围,并计算testy与testpredict的均方误差。
82、本发明的有益效果至少包括以下之一;
83、1、本发明提出一种基于优化蜣螂算法的lstm滑坡位移预测方法,采用logistic混沌映射对原生蜣螂算法进行种群初始化优化,解决原生蜣螂算法初始种群分布不均匀、全局探索和局部开发能力不平衡、易陷入局部最优的问题,并采用基于logistic混沌映射优化的蜣螂算法对lstm模型滑动窗口长度、神经元个数及丢弃率等超参数进行优化,建立lstm模型,采用实际滑坡监测数据对模型进行训练,然后对滑坡位移数据进行预测并评估模型精度。
84、2、基于logistic混沌映射优化蜣螂算法的lstm滑坡位移预测方法可以快速、有效地对滑坡位移数据进行预测,且预测精度高,可以为实际工程中滑坡位移预测提供重要依据。
85、3、解决了现有模型泛化能力较弱、预测精度不高,同时优化算法容易陷入局部最优,致使lstm网络结构不能适应实际滑坡位移预测的问题。
1.一种基于优化蜣螂算法的lstm滑坡位移预测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于优化蜣螂算法的lstm滑坡位移预测方法,其特征在于,s1中,所述滑坡位移数据包括gnss监测数据、拉线计监测数据和深层测斜仪数据。
3.根据权利要求2所述的一种基于优化蜣螂算法的lstm滑坡位移预测方法,其特征在于,s2中,对滑坡位移样本原始数据集进行预处理包括以下步骤:
4.根据权利要求3所述的一种基于优化蜣螂算法的lstm滑坡位移预测方法,其特征在于,所述s2-3包括以下步骤:
5.根据权利要求3所述的一种基于优化蜣螂算法的lstm滑坡位移预测方法,其特征在于,s3中,包括以下步骤:
6.根据权利要求5所述的一种基于优化蜣螂算法的lstm滑坡位移预测方法,其特征在于,s4中,包括以下步骤:
7.根据权利要求6所述的一种基于优化蜣螂算法的lstm滑坡位移预测方法,其特征在于,s5中,包括以下步骤:
8.根据权利要求7所述的一种基于优化蜣螂算法的lstm滑坡位移预测方法,其特征在于,在s5-2中,包含以下步骤:
9.根据权利要求8所述的一种基于优化蜣螂算法的lstm滑坡位移预测方法,其特征在于,在s5-4中,当迭代计算器t大于最大迭代次数maxiter时,直接进入s6,否则按如下步骤进行:
10.根据权利要求9所述的一种基于优化蜣螂算法的lstm滑坡位移预测方法,其特征在于,s6中,根据s5得到的最优超参数,重新构建最优lstm模型,并基于trainx和trainy开展模型训练,对testx进行预测生成testpredict,将测试集testpredict的预测结果转换为原始数据的范围,并计算testy与testpredict的均方误差。