基于主成分分析和长短期记忆网络的滑坡地表位移监测数据缺失插补算法
2023-10-09张坤肖慧徐哈宁胡佳超范凌峰
张坤, 肖慧,2*, 徐哈宁, 胡佳超, 范凌峰
(1.东华理工大学核技术应用教育部工程研究中心, 南昌 330013; 2.江西省放射性地学大数据技术工程实验室, 东华理工大学, 南昌 330013)
滑坡地表位移监测中,经常由于监测设备通信故障或者供电异常,致使监测数据出现长时间序列的缺失。数据缺失易导致滑坡预测模型计算失效而不能及时有效预警,因此对监测数据进行插补是数据运行前必不可少的预处理工作。常用的插补方法有删除法、简单插补、冷热卡插补法、回归插补法、机器学习插补法和多重插补法等[1]。滑坡监测数据是多元数据序列,基于机器学习的插补法能通过多变量建立回归模型来预测缺失值,在处理多元数据序列上有一定的优势[2]。
机器学习算法在数据插补中有着广泛的应用,吕勤学等[3]提出一种基于优化随机森林的数据插补模型,实现缺失数据的插补;赵春霞等[4]使用K最邻近算法(K-nearest neighbor,KNN)对不完整信息进行填充;遇茜等[5]通过建立支持向量机填补模型,填补缺失数据;游颖等[6]利用粒子群算法改进BP(back propagation)神经网络,对缺失数据进行重构。上述研究均基于浅层结构的机器学习算法,很难提取具有复杂时空相关性的时序数据的特征,忽略了监测数据随时间变化的影响和数据的前后联系,不能有效处理时序数据问题[7]。
长短期记忆网络(long-short term memory,LSTM)是深度学习算法的一种,能够提取数据时间维度上的周期特征和模式,具有强大的高度抽象化特征能力,相比传机器学习算法具有更强的数据学习能力和泛化能力,在处理时序数据上有很大的优势[8]。杨旭等[9]通过卷积神经网络提取数据特征,结合LSTM对连续缺失数据进行插补;宋维等[10]用LSTM建立插补模型,通过分析缺失数据前后完整序列,对缺失数据进行插补;卢继哲等[11]利用编码器优化聚类,把相似的数据序列划分在一起,再通过LSTM插补缺失数据;可见LSTM在数据插补中的可行性,但目前,鲜见LSTM应用在滑坡地表位移监测数据插补领域的研究报道。上述研究只分析了存在数据缺失的单一变量,而滑坡监测数据为多元数据序列,数据间存在相关性会降低LSTM模型的计算效率和精度,为了解决这一问题,对模型输入进行降维处理。主成分分析(principal component analysis,PCA)能在原始监测变量的基础上找出几个综合性能强且互不相关的变量代替原始变量,实现数据的降维,消除数据间的相关性,在模型优化中有着广泛的应用[12-16]。
基于上述研究背景,针对滑坡地表位移长时间序列的数据缺失问题,现将LSTM算法和PCA算法相融合,建立基于PCA-LSTM的插补模型,以湖北省利川市某滑坡监测数据为样本对模型进行分析,并与其他同类模型进行对比,验证本文方法的有效性。
1 数据获取与预处理
1.1 数据来源
样本数据来自湖北省利川市某滑坡,滑坡平面形态呈不规则长条形,规模等级为中型。滑坡地处鄂西南构造剥蚀中低山区,位于倾向南东方向的斜坡地段,周围植被茂密。该站点监测内容包括雨量(YL)、不同深度的土壤含水率(HS1、HS2、HS3)、地下水位(DX)、泥水位(NW)、3个方向倾角加速度(VX,VY,VZ)、3个方向倾角(X,Y,Z)、裂缝(LF1、LF2)以及地表位移(SD)等。
图1为监测现场的全球导航卫星系统(global navigation satellite system,GNSS)设备,由于植被遮挡太阳能面板,设备供电异常,导致地表位移监测数据出现长时间序列缺失,为了更加准确地分析此滑坡的变形规律,需要插补缺失数据。针对这种数据缺失的情况,本文研究考虑把数据插补问题转化成预测问题,通过分析同一监测点的其他相关监测变量与地表位移之间的关系,建立地表位移预测模型,再采用预测数据填补缺失数据空缺。
图1 监测现场的GNSS设备
1.2 数据预处理
提取滑坡监测点2020年5月—2020年6月的监测数据,滑坡监测设备每小时采集一次数据,得到共计615组样本数据。对于离散程度较大的异常值,首先删除特异值,取均值和众数值,然后对数据进行标准化处理,消除数据序列间纲量的影响。
1.3 地表位移影响因素筛选
根据式(1),利用Pearson相关系数得到各个监测变量与滑坡地表位移之间的相关系数,筛选出与地表位移相关度高的监测变量作为模型输入。
(1)
图2为Pearson相关性分析结果,选择r>0.3的变量作为地表位移的插补参证。经过筛选,用于地表位移预测的监测变量为X、Y、Z、LF1、LF2、NW、DX、HS1、HS2、HS3、YL。
图2 Pearson相关性分析结果
2 PCA-LSTM插补模型设计
2.1 主成分分析
由Pearson相关系数分析结果可知,滑坡地表位移与多个监测变量相关。为了提高LSTM的精度和计算效率,对Pearson相关系数筛选的结果进行PCA降维处理,消除相关监测变量之间的相关性,将累计贡献率超过95%的主成分作为插补参证。PCA处理步骤[12-13]如下:①首先对Pearson筛选得到的11个监测变量进行标准化处理得到标准化矩阵y;②再根据式(1)计算得到y的相关系数矩阵R,通过特征方程|λE-R|=0,其中E为单位矩阵,进一步求得R矩阵的特征值和特征向量;③最后计算累计贡献率,设定百分比阈值来决定保留主成分的个数;④把累计贡献率达到95%的特征值所对应的特征向量组成特征矩阵,得到降维结果。
PCA处理结果如图3所示,可以看出前5个主成分的累计贡献率达到了95%。此时模型输入由11维变为5维,并且5组数据之间互不相关。
图3 PCA处理结果
2.2 LSTM神经网络
LSTM神经网络是改良后的循环神经网络(recurrent neural network,RNN),能够通过历史监测项对地表位移进行映射,充分考虑了地表位移的时序性。LSTM以细胞作为一个基本单元来记忆每个时刻的地表位移信息,通过细胞的更迭,反映长期记忆效应。细胞结构如图4所示。
图4 LSTM细胞结构
与RNN相比,LSTM神经网络通过增加门结构控制细胞存储信息,解决了RNN在处理长期依赖时出现的梯度消失和爆炸,使其能够更好地处理长时间序列的滑坡地表位移数据,其前向计算过程[17]如下。
ft=δ(Wxfxt+Whfht-1+Wxfct-1+bf)
(2)
it=δ(Wxfxt+Whfht-1+Wxfct-1+bi)
(3)
ct=ftct-1+ittanh(Wxcxt+Wxcht-1+bc)
(4)
ot=δ(Wxoxt+Whoht-1+bo)
(5)
ht=ottanh(ct)
(6)
式中:δ为sigmoid激活函数;tanh为双曲正切激活函数,用于实现门结构的筛选功能;输入门it通过δ函数对新输入的地表位移特征信息进行筛选,更新细胞中的滑坡位移信息;遗忘门ft通过δ函数控制储存状态选择性保留历史位移信息;整个细胞通过it、ft更新储存状态ct,输出门ot用于确定储存状态需要输出的地表位移信息;ht为t时刻细胞单元输出的地表位移信息;Wxf、Wxc、Wxo分别为各个门对输入信息x的权值;Whf、Whc、Who分别为各个门对前一时刻的输出ht-1的权值;bf、bc、bo、bi分别为对应各个门的偏置[18]。
2.3 PCA-LSTM滑坡位移预测模型
根据上述算法,为了提高插补精度,构建基于PCA-LSTM的滑坡位移数据插补的模型。模型插补流程如图5所示,详细步骤如下。
图5 基于PCA-LSTM的数据插补流程图
(1)对原始监测数据进行预处理并通过Pearson相关系数法筛选监测变量。
(2)通过PCA对步骤(1)中的处理结果进行降维处理并保留数据95%的信息,然后划分训练集和测试集。
(3)搭建LSTM模型,将步骤(2)处理后的训练集样本输入模型,以平均绝对误差(mean absolute error, MAE)、平均绝对百分误差(mean absolute percentage error, MAPE)和均方根误差(root mean square error, RMSE)为评价指标,调整参数,直到获得目标准确率,构建基于PCA-LSTM的滑坡地表位移数据插补模型。
(4)把测试集输入模型得到插补结果。PCA-LSTM是包含2个LSTM层和1个全连接层(Dense层)的3层深度的模型,其中LSTM层包含64个神经元,Dense层与输出层相连,包含一个神经元,模型时间步长为1,迭代次数为100,学习率为0.001,批量大小为32,损失函数为MSE,优化算法为Adam。
3 实验与分析
3.1 实验内容
为了验证PCA-LSTM数据插补模型的性能,首先用5折交叉验证法测试PCA-LSTM模型的泛化性:把PCA处理后的615组数据随机打乱分为5份,前4份作为训练集来建立LSTM模型,剩下的1份作为验证集来测试模型效果,重复5次实验后,取模型评价指标的平均值作为PCA-LSTM的性能指标。然后把PCA处理后的样本数据按3∶1的比例划分训练集和测试集,输入LSTM模型得到PCA-LSTM的预测结果;再把未经PCA处理的样本数据按相同比例划分训练集和测试集后输入对比模型,得到各个对比模型的预测结果,并与PCA-LSTM模型的预测结果进行对比。
3.2 对比模型
除了把PCA-LSTM模型与单一的LSTM模型对比,还将PCA-LSTM模型与BP神经网络模型、遗传算法(genetic algorithm, GA)优化BP神经网络模型、K近邻模型(K-nearest neighbor, KNN)、支持向量机模(support vector machine, SVM)进行对比。
3.3 实验结果分析
将整理好的数据输入PCA-LSTM模型进行5折交叉验证,5折交叉验证后得到的误差曲线和插补效果图如图6所示。图6(a)、图6(c)、图6(e)、图6(g)、图6(i)为插补值和实际值的变化趋势,可以看到5次实验结果都在样本点数值突变处发生波动,但整体趋势与实际值较为吻合。图6(b)、图6(d)、图6(f)、图6(h)、图6(j)为5次实验的误差图,误差集中分布在[-2,2],其中最大的绝对误差为5.5 mm,5次实验都在初期有着较大的误差,随着模型对历史信息的记忆,插补误差逐渐减小并趋于稳定,即使再次出现地表位移数据突变,插补结果的误差也较为稳定。从5折交叉验证的实验结果可以看出,模型的泛化性能较为理想。
图6 PCA-LSTM模型的处理结果和误差曲线
5次实验后得到的PCA-LSTM模型的MAE、MAPE、RMSE如表1所示,从表1中可以看到PCA-SLTM的平均绝对误差仅有1.214 mm,5次实验MAE的波动范围在[-0.39,0.364]。由此可见PCA-LSTM模型在不同的数据集上均有较为理想插补效果,模型的泛化性能和稳定性较为良好,能够实现长时间序列的缺失数据的精准插补。
表1 PCA-LSTM模型拟合精度分析
为了进一步验证PCA-LSTM插补模型的有效性,把3.1节中划分好的样本数据分别输入PCA-LSTM、KNN、BP、GA-BP、SVM以及LSTM进行对比。为几种算法的误差如图7所示,滑坡地表位移数据平缓变化时,几种模型的插补误差较为稳定;在样本点[80,100]位移量突变,SVM、GA-BP和KNN的插补误差瞬间增大,LSTM和PCA-LSTM模型的插补误差波动相对较小。其中PCA-LSTM模型较于其他几种模型的整体误差最小,精度最高。
图7 各种模型的结果误差
几种插补模型的评价指标如表2所示,PCA-LSTM与单一的LSTM相比,RMSE、MAE和MAPE分别减少了 2.7%、26.4%和18.1%,可看出PCA消除了输入变量之间的冗余性和相关性,提高LSTM模型的插补精度和稳定型。与其他几种模型相比,PCA-LSTM模型精度明显优于KNN、SVM、BP神经网络以及GA-BP神经网络。从对比结果分析可知,PCA-LSTM模型能够更好地处理长时间序列数据缺失问题。
表2 几种模型的插补精度分析
3.4 缺失值填充
提取监测点2020年6月1—15日共计360组样本数据,假设地表位移监测数据在6月7—11日出现数据连续缺失,使用本文方法进行插补,结果如图8所示。
图8 插补结果与真实数据对比
从图8中可以看出,插补结果与原始数据的数值以及趋势均较为相仿,实际插补结果比较理想,但对一些位移突变点的插补仍有待改善。
4 结论
研究了基于PCA-LSTM的滑坡地表位移插补模型,得出如下结论。
(1)通过PCA消除输入变量之间的冗余性和相关性,有利于提高LSTM模型的精度和稳定型。PCA-LSTM模型相比于单一的LSTM模型的RMSE、MAE和MAPE分别提高了2.7%、26.4%和18.1%。
(2)本文提出的PCA-LSTM模型能够很好地拟合滑坡水平位移与其他变量之间的非线性关系,对长时间序列的数据缺失插补的结果和真实值的拟合程度能够达到99%,插补效果较为理想。
(3)本文采用的PCA-LSTM模型与BP神经网络、GA算法优化后的BP神经网络、KNN、SVM等机器学习模型相比,模型评价指标MAE、RMSE和MAPE分别为1.233、0.523和0.009,均优于其他模型。
(4)本文提出的PCA-LSTM模型在一些滑坡地表位移突变数据上的插补精度略差,仍有待提高。