一种地下水位监测数据缺失的修复方法技术

技术编号:38587217 阅读:16 留言:0更新日期:2023-08-26 23:28
本发明专利技术公开了一种地下水位监测数据缺失的修复方法,所述方法包括以下步骤:步骤1、获取并整理地下水位监测数据形成地下水时空数据集;步骤2、利用BTF模型对含有缺失值的时间序列数据进行插值;步骤3、利用孤立森林模型对插值后的时间序列数据进行异常值检测;步骤4、对时间序列数据进行再次插值直至数据修复完整。本发明专利技术所述方法有效克服了单纯采用BTF插值方法时会产生部分异常值的缺陷,提高了插值结果的可靠性和准确性;适用于地下水监测数据长时间序列缺失的状况,解决了现有方法对时间序列连续缺失数据插补质量差、无法贴合真实时间序列变化趋势的问题,准确性好,适用度高。适用度高。适用度高。

【技术实现步骤摘要】
一种地下水位监测数据缺失的修复方法


[0001]本专利技术属于地下水位监测
,尤其涉及一种地下水位监测数据缺失的修复方法。

技术介绍

[0002]由于地下水位数据的复杂性,大部分地区地下水监测覆盖不足,或者观测年限较短,目前大多地区的地下水位数据都存在着长时间序列数据的缺失。目前地下水位时间序列数据多采用现有的时间序列数据插值方法,包括:

基于统计学的填充方法,采用时间序列数据中的中值、均值、众数等进行插值;

线性插值方法,将已知的地下水位数据拟合成一条函数,然后对缺失值进行插值;

前后加权均值方法,按照前后时间距离的远近进行加权取均值等等。考虑到地下水位数据具有较强的时间变化特征,季节性降水增多和人工灌溉等多种因素均会对地下水变化产生影响,目前上述的基于统计学原理的时间序列插值方法由于忽略时间序列中的时间信息,同时地下水位数据中连续缺失数据较多,因此基于统计学原理的修复方法效果不太理想,无法直接应用到地下水位时间序列数据修复中。
[0003]当前最新的时空数据插值方法,即贝叶斯时间因子分解时间序列插值方法,以贝叶斯时间分解框架为基础,相较于其他方法,使用该方法对长时间序列地下水数据进行插补能够取得较好的效果。但是这种方法由于在图模型建模中采用高斯分布,因此在插值过程中不可避免产生异常值的影响。因此如何消除异常值的影响从而提高地下水位数据缺失修复的准确率和适用性是目前亟需解决的技术问题。

技术实现思路

[0004]本专利技术的目的在于提供一种地下水位监测数据缺失的修复方法,以解决上述技术问题。
[0005]为实现上述目的,本专利技术提供如下技术方案:
[0006]本专利技术公开一种地下水位监测数据缺失的修复方法,所述方法包括以下步骤:
[0007]步骤1、获取并整理地下水位监测数据形成地下水时空数据集:获取地下水位监测点历年的水位监测数据,将水位监测数据整理成具有时间标签且记录时间间隔相同的时间序列数据,对于缺失值进行标记,形成地下水时空数据集;
[0008]步骤2、利用BTF模型对含有缺失值的时间序列数据进行插值:以地下水时空数据集为基础数据,选取数据集中含有缺失值的时间序列数据作为目标序列,选取数据集中完整的时间序列数据作为训练集,利用训练集对BTF模型进行训练,结合Gibbs采样算法调整模型参数,然后利用训练完成后的模型对目标序列进行插值,直至所有含有缺失值的时间序列数据插值完成;
[0009]步骤3、利用孤立森林模型对插值后的时间序列数据进行异常值检测:选取地下水时空数据集中完整的时间序列数据,将选取的时间序列数据划分为训练数据与测试数据,使用训练数据对孤立森林模型进行训练,再通过测试数据对模型进行验证,调整模型参数,
然后利用训练完成的孤立森林模型对插值后的时间序列数据进行异常值检测,把插值结果中的异常值再次标记为缺失值且剔除;
[0010]步骤4、对时间序列数据进行再次插值直至数据修复完整:使用KNN算法模型对经过异常值检测的时间序列数据再次进行插值,修复时间序列数据中的缺失值,直至所有时间序列数据中的缺失值补全,最后得到完整的地下水位监测数据。
[0011]进一步的是,步骤2中所述利用训练集对BTF模型进行训练的具体过程为:将训练集中的时间序列数据随机缺失10%、20%、30%和40%以模拟现实地下水位时间序列数据的真实情况,然后利用BTF模型对时间序列进行插值,对于插值结果通过引入平均绝对百分比误差MAPE和均方根误差RMSE两个评价指标来比较不同参数BTF模型的插值效果和效率,以确定最优的模型参数;
[0012]其中百分比误差MAPE的计算公式为:
[0013][0014]均方根误差RMSE的计算公式为:
[0015][0016]式中,a
i
为原始地下水位时间序列数据第i个值;b
i
为对应的插值结果。
[0017]进一步的是,步骤3中所述将选取的时间序列数据划分为训练数据与测试数据具体为:将选取的时间序列数据的70%划为训练数据、30%划为测试数据。
[0018]进一步的是,步骤3中所述利用训练完成的孤立森林模型对插值后的时间序列数据进行异常值检测的具体过程为:
[0019]步骤31、从训练集中随机选择r个样本数据点作为子采样集Q={q1,q2,

,q
r
},数据点的维度为z,作为树的根节点;
[0020]步骤32、从当前子采样集中随机选择一个维度B和一个分裂点p,p介于当前子采样集中维度B的最大值和最小值之间;
[0021]步骤33、对于子采样集中的每个样本数据点q
i
,1≤i≤r,按其维度B的值q
i
(B)进行划分,若q
i
(B)<p,则划分至左子树,反之则划分至右子树;
[0022]步骤34、重复执行步骤32~33,不断构造新的左、右子树,直至满足下列条件之一:
[0023]1)Q中只剩下一个数据点或者多个相同的数据点,无法进一步划分;
[0024]2)隔离树的高度达到限定高度;
[0025]步骤35、重复执行步骤31~34,直至隔离树的数量达到指定数量N,由这些隔离树组成一个孤立森林;
[0026]步骤36、对于任意一个插值的地下水位数据l,通过遍历孤立森林里每一棵隔离树计算该数据l在每一棵隔离树的路径长度h(l),进而计算该数据l在孤立森林里路径长度的期望E(h(l)),使用平均路径长度C(r)来记录隔离树的平均路径长度:
[0027][0028]式中,H(r)是调函数,H(r)=ln(r)+δ,其中δ为欧拉常数;
[0029]查询插值的地下水位数据l的异常分数s被定义为:
[0030][0031]插值的地下水位数据l根据如下准则进行异常识别:
[0032]1)当E(h(l))

0时,即s

1,则地下水位数据l被识别为异常数据;
[0033]2)当E(h(l))

r

1时,即s

0,则地下水位数据l被识别为正常数据。
[0034]进一步的是,步骤4中所述使用KNN算法模型对经过异常值检测的时间序列数据再次进行插值,修复时间序列数据中的缺失值的具体过程为:对于时间序列数据中的每一个缺失值,通过欧几里得距离计算该缺失值和周围其它已知地下水位记录值的距离,然后根据距离的大小升序排序并选取其中前k个地下水位记录值,计算前k个地下水位记录值的均值作为该缺失值的补全值;
[0035]欧几里得距离的计算公式为:
[0036][0037]式中,x
i
,x
j
为缺失值的坐标;y
i
,y
j
为已知记录值的坐标;
[0038]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种地下水位监测数据缺失的修复方法,其特征在于,所述方法包括以下步骤:步骤1、获取并整理地下水位监测数据形成地下水时空数据集:获取地下水位监测点历年的水位监测数据,将水位监测数据整理成具有时间标签且记录时间间隔相同的时间序列数据,对于缺失值进行标记,形成地下水时空数据集;步骤2、利用BTF模型对含有缺失值的时间序列数据进行插值:以地下水时空数据集为基础数据,选取数据集中含有缺失值的时间序列数据作为目标序列,选取数据集中完整的时间序列数据作为训练集,利用训练集对BTF模型进行训练,结合Gibbs采样算法调整模型参数,然后利用训练完成后的模型对目标序列进行插值,直至所有含有缺失值的时间序列数据插值完成;步骤3、利用孤立森林模型对插值后的时间序列数据进行异常值检测:选取地下水时空数据集中完整的时间序列数据,将选取的时间序列数据划分为训练数据与测试数据,使用训练数据对孤立森林模型进行训练,再通过测试数据对模型进行验证,调整模型参数,然后利用训练完成的孤立森林模型对插值后的时间序列数据进行异常值检测,把插值结果中的异常值再次标记为缺失值且剔除;步骤4、对时间序列数据进行再次插值直至数据修复完整:使用KNN算法模型对经过异常值检测的时间序列数据再次进行插值,修复时间序列数据中的缺失值,直至所有时间序列数据中的缺失值补全,最后得到完整的地下水位监测数据。2.根据权利要求1所述的一种地下水位监测数据缺失的修复方法,其特征在于,步骤2中所述利用训练集对BTF模型进行训练的具体过程为:将训练集中的时间序列数据随机缺失10%、20%、30%和40%以模拟现实地下水位时间序列数据的真实情况,然后利用BTF模型对时间序列进行插值,对于插值结果通过引入平均绝对百分比误差MAPE和均方根误差RMSE两个评价指标来比较不同参数BTF模型的插值效果和效率,以确定最优的模型参数;其中百分比误差MAPE的计算公式为:均方根误差RMSE的计算公式为:式中,a
i
为原始地下水位时间序列数据第i个值;b
i
为对应的插值结果。3.根据权利要求1所述的一种地下水位监测数据缺失的修复方法,其特征在于,步骤3中所述将选取的时间序列数据划分为训练数据与测试数据具体为:将选取的时间序列数据的70%划为训练数据、30%划为测试数据。4.根据权利要求1所述的一种地下水位监测数据缺失的修复方法,其特征在于,步骤3中所述利用训练完成的孤立森林模型对插值后的时间序列数据进行异常值检测的具体过程为:
步骤31、从训练集中随机选...

【专利技术属性】
技术研发人员:孙永华张王宽成星路曹许悦王衍昭
申请(专利权)人:首都师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1