CN113377750A - 水文数据清洗方法及系统 - Google Patents
水文数据清洗方法及系统 Download PDFInfo
- Publication number
- CN113377750A CN113377750A CN202110545803.5A CN202110545803A CN113377750A CN 113377750 A CN113377750 A CN 113377750A CN 202110545803 A CN202110545803 A CN 202110545803A CN 113377750 A CN113377750 A CN 113377750A
- Authority
- CN
- China
- Prior art keywords
- data
- cleaning
- filling
- rainfall
- evaporation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Remote Sensing (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了水文数据清洗方法及系统,获取待处理的水文数据;对待处理的水文数据进行第一次清洗;所述第一次清洗包括:缺失数据监测和不合理数据剔除与填补;对第一次清洗后的水文数据进行第二次清洗;所述第二次清洗包括:对因果关系不一致的数据剔除与填补;对清洗结果进行检验水文数据的多元二次清洗能为进一步水文研究提供合理且一致的数据。
Description
技术领域
本发明涉及水文数据清洗技术领域,特别是涉及水文数据清洗方法及系统。
背景技术
本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
对产汇流数据进行清洗是构建水文模型及产汇流计算的第一步,合理、一致的产汇流数据能提高水文模型及产汇流计算结果的准确性,进而提高防洪抗涝、预报预警决策的科学性。近年来,水利行业数据清洗正朝着人工智能方向发展,国内外学者进行了相关研究:何贵成等使用R语言,对全国取水许可台账数据进行了数据清洗研究,包括字段空值检测、业务逻辑错误检测和年取水总量的异常检测等数据清洗工作,减少了人工查错的比例与工作量,提高了纠错效率;为区分大坝安全监测数据中因粗差和环境突变引起的异常值,郑霞忠等提出了一种利用关联规则约束和引导大坝安全监测异常数据清洗方法,可以甄别监测效应量中环境突变引起的异常值,并提高大坝安全监测数据中数据清洗的准确性;李伟华等,对基于多种距离的K-Means算法、KNN算法、基于马氏距离的异常值检测法、基于欧式距离的异常值检测法进行编程,对丁东水库健康监测数据进行缺失值填补和异常值检测,填补效果较好,其填补值与缺失值的均方根误差的均值低至0.155;彭大为等,提出了一种水利自动化实时流式大数据的处理方法,能够对水利自动化设备实时上报的高频流式大数据进行有效的数据清洗;Azim S等,提出了一种基于模糊C-Means聚类和多层感知器的双阶段混合模型,分别与K-Means聚类、模糊C-Means聚类进行了比较,与单阶段相比清洗结果更为准确。
作为人工智能的核心,机器学习是一门多领域交叉学科,主要研究计算机模拟学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。自20世纪90年代以来,机器学习进入多元发展及跨领域融合时期,涌现了人工神经网络、支持向量机、决策树等一系列优秀算法,能对各领域数据进行监测、分析、挖掘及填补。国内外学者对机器学习在数据清洗中的应用进行了相关研究:曹勇等提出了基于K-Means算法的空调系统运行数据的噪声清洗方法,可以有效识别和清洗空调系统运行数据中的异常值和噪声值;吴小康等根据南方电网调度要求及自动化领域相关规范,构建了变电站信息清洗与重构机器学习模型,有效提高了信号识别匹配能力及电网监控效率;余康龙等基于K-Means算法,利用文本向量求向量之间的相似度,对广告的相似度进行研究,可实现根据类号对同一类型广告进行查阅;Abidin N Z等对比了三种机器学习分类器(KNN、决策树和贝叶斯网络)在数据插补精度方面的性能,结果表明贝叶斯分类器的插补结果最为理想,研究比较了各机器学习算法的优点与局限性以更好理解算法特性。
不同机器学习算法具有各自的优势,对不同种类数据的适用性也不同,根据数据特点选用合适的算法能提高清洗的准确性。而以上研究主要是全国取水许可台账数据、大坝安全监测数据、水库监测数据的清洗等水利行业数据清洗,及利用机器学习对空调系统运行、变电站、广告等领域中的数据进行清洗,及没有针对性地结合产汇流数据的特性及机器学习的优势提出适合产汇流数据的清洗方法。
发明内容
为了解决现有技术的不足,本发明提供了水文数据清洗方法及系统;可以智能快捷地完成数据清洗任务,为水文研究提供合理且一致的数据。
第一方面,本发明提供了水文数据清洗方法;
水文数据清洗方法,包括:
获取待处理的水文数据;
对待处理的水文数据进行第一次清洗;所述第一次清洗包括:缺失数据监测和不合理数据剔除与填补;
对第一次清洗后的水文数据进行第二次清洗;所述第二次清洗包括:对因果关系不一致的数据剔除与填补;
对清洗结果进行检验。
第二方面,本发明提供了水文数据清洗系统;
水文数据清洗系统,包括:
获取模块,其被配置为:获取待处理的水文数据;
第一次清洗模块,其被配置为:对待处理的水文数据进行第一次清洗;所述第一次清洗包括:缺失数据监测和不合理数据剔除与填补;
第二次清洗模块,其被配置为:对第一次清洗后的水文数据进行第二次清洗;所述第二次清洗包括:对因果关系不一致的数据剔除与填补;
检验模块,其被配置为:对清洗结果进行检验。
第三方面,本发明还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第一方面所述的方法。
第四方面,本发明还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
与现有技术相比,本发明的有益效果是:
清洗方法的简便与合理可靠性:结合水文数据的特点及机器学习的优势,利用Python语言编程进行清洗算法求解,除KNN算法及K-Means算法k值外,其他参数均为默认值,为维持时间序列的结构并对待剔除数据定性标记,分别将缺失值与剔除值标记为-50与-100,可以智能快捷地完成数据清洗任务;对降雨量、流量、蒸发量等水文数据进行多元二次清洗,第一次清洗能对缺失数据监测与填补、不合理数据剔除与填补,第二次清洗能对不一致数据剔除与填补,清洗后降雨径流双累积相关图的相关系数从0.9980增大到0.9985,其一致性有所增强,蒸发量数据清洗后突变点个数由5个下降至1个,既没有丢失蒸发量在2017年-2012年突变情况发生较为频繁的信息,也降低了数据的突变性,因此,水文数据的多元二次清洗能为进一步水文研究提供合理且一致的数据。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为决策树概述图;
图2为清洗流程图;
图3为年降雨量缺失数据监测及不合理数据剔除图;
图4为年径流量缺失数据监测及不合理数据剔除图;
图5为年蒸发量缺失数据监测及不合理数据剔除图;
图6为KNN算法k值误差图;
图7为年降雨量缺失及不合理数据填补图;
图8为年径流量缺失及不合理数据填补图;
图9为年蒸发量缺失及不合理数据填补图;
图10为不一致数据剔除图;
图11为KNN算法k值误差图;
图12为不一致数据填补图;
图13(a)和图13(b)为雨径流双累积相关图;
图14(a)和图14(b)为蒸发量数据清洗前(左)后(右)Mann-Kendall突变检验图;
图15为历城区清洗后数据;
图16(a)和图16(b)为历城区一致性检验;
图17(a)和图17(b)为历城区突变性检验。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例提供了水文数据清洗方法;
水文数据清洗方法,包括:
S101:获取待处理的水文数据;
S102:对待处理的水文数据进行第一次清洗;所述第一次清洗包括:缺失数据监测和不合理数据剔除与填补;
S103:对第一次清洗后的水文数据进行第二次清洗;所述第二次清洗包括:对因果关系不一致的数据剔除与填补;
S104:对清洗结果进行检验。
进一步地,所述待处理的水文数据,包括:待处理的若干个站点的点雨量数据、待处理的流量数据和待处理的蒸发量数据;
进一步地,所述S102:对待处理的水文数据进行第一次清洗;包括:
S1021:分别对待处理的若干个站点的点雨量数据、待处理的流量数据和待处理的蒸发量数据,进行缺失数据监测,并进行不合理数据剔除处理;
S1022:对缺失的点雨量数据和剔除后的不合理的点雨量数据,进行缺失值填补处理,得到第一次填补后的每个站点的点雨量数据;
S1023:基于第一次填补后的点雨量数据,分别对不合理的流量数据和蒸发量数据,进行缺失值填补,得到第一次填补后的流量数据和第一次填补后的蒸发量数据。
进一步地,所述S103:对第一次清洗后的水文数据进行第二次清洗;包括:
S1031:根据泰森多边形,求出各雨量站面积占整个区域的面积权重,利用权重将第一次填补后的点雨量数据加权求和,转化为面雨量数据;
S1032:根据面雨量数据、流量数据、蒸发量数据进行成因关系分析,剔除不一致的数据;
S1033:对剔除的不一致数据进行填补,首先填补面雨量数据,然后将填补所得的面雨量根据权重进行修正得第二次填补后点雨量数据;
S1034:基于第二次填补后的点雨量数据,对不一致数据剔除后的的流量数据和蒸发量数据,进行缺失值填补,得到第二次填补后的流量数据和第二次填补后的蒸发量数据。
进一步地,所述点雨量数据,是指:同一流域,若干站点,同一时间步长的点雨量数据。
进一步地,所述流量数据,是指:同一流域,水文站同一时间步长的流量数据。
进一步地,所述蒸发量数据,是指:同一流域,水文站同一时间步长的蒸发量数据。
进一步地,所述面雨量,是指:描述整个区域(流域)内单位面积上的平均降水量的物理量,能较客观地反映整个区域的降水情况。
进一步地,所述S1021:对待处理的若干个站点的点雨量数据、待处理的流量数据和待处理的蒸发量数据,分别缺失数据监测,并进行不合理数据剔除处理;具体包括:
对待处理的若干个站点的点雨量数据、待处理的流量数据和待处理的蒸发量数据,分别缺失数据监测;
利用拉伊达准则,分别对待处理的若干个站点的点雨量数据、待处理的流量数据和待处理的蒸发量数据,进行不合理数据剔除处理。
进一步地,所述S1022:对缺失的点雨量数据和剔除后的不合理的点雨量,进行缺失值填补处理,得到第一次填补后的每个站点的点雨量数据;具体包括:
使用KNN(k-近邻)算法,对缺失数据监测和不合理数据剔除后的待处理的每个站点的点雨量数据进行缺失值填补处理,得到第一次清洗后的点雨量数据。
进一步地,所述S1023:基于第一次填补后的点雨量数据,分别对不合理的流量数据和蒸发量数据,进行缺失值填补,得到第一次填补后的流量数据和第一次填补后的蒸发量数据;具体包括:
以第一次清洗后的若干个站点的点雨量数据为标签,已有流量数据为属性,建立决策树,得到第一次清洗后的流量数据;
以第一次清洗后的若干个站点的点雨量数据为标签,已有蒸发量数据为属性,建立决策树,得到第一次清洗后的蒸发量数据。
进一步地,所述S1031:根据泰森多边形,求出各雨量站面积占整个区域的权重,利用权重将第一次填补后的点雨量数据加权求和,转化为面雨量数据;具体包括:
通过构造泰森多边形,按每个站点与整个区域的面积比例得到权重;
依据权重,对第一次清洗后的每个站点的点雨量数据进行加权求和,得到面雨量数据。
进一步地,利用ArcGIS软件,通过构造泰森多边形,按面积比例将第一次清洗后的若干个站点的点雨量数据,转换为面雨量数据。
进一步地,所述S1032:根据面雨量数据、流量数据、蒸发量数据进行成因关系分析,剔除不一致的数据;具体包括:
根据成因关系,剔除在没有人为干预的情况下产生了径流大于设定阈值却没有监测到降雨或监测到降雨量小于设定阈值、发生了暴雨却没有监测到产生径流或监测到产生径流小于设定阈值、无雨或雨量小于设定阈值时,监测到蒸发量大于设定阈值、雨量大于设定阈值时,监测到无蒸发量或蒸发量小于设定阈值的情况下的数据。
进一步地,所述S1033:对剔除的不一致数据进行填补,首先填补面雨量数据,然后将填补所得的面雨量根据权重进行修正得第二次填补后点雨量数据;具体包括:
采用K-Means算法,对面雨量数据进行缺失数据填补;
构建整个监测区域的泰森多边形;
根据每个站点面积与整个监测区域的面积比例;
将面积比例作为每个站点的权重;
将面雨量数据与每个站点的权重进行相乘,得到第二次清洗后的点雨量数据。
进一步地,所述S1034:基于第二次填补后的点雨量数据,对不一致数据剔除后的的流量数据和蒸发量数据,进行缺失值填补,得到第二次填补后的流量数据和第二次填补后的蒸发量数据;具体包括:
以第二次清洗后的点雨量数据为标签,已有流量数据为属性,建立决策树,得到第二次清洗后的流量数据;
以第二次清洗后的点雨量数据为标签,已有蒸发量数据为属性,建立决策树,得到第二次清洗后的蒸发量数据。
进一步地,所述对清洗结果进行检验;具体包括:
对清洗后的点雨量数据、流量数据和蒸发量数据进行双累积分析与突变检验,如果检验结果满足设定要求,则停止清洗,否则继续清洗。
拉伊达准则(即3σ准则或3-标准差准则):
根据统计理论表明,监测值的偏差超3σ的概率已小于l%。故可以认为测量值与真实值偏差超过3σ的监测值为不合理的异常数据,应当剔除。
KNN算法是一种常见的有监督学习的分类算法。其主要思想是先选取距待分类点距离最近的k个已知类别点,当模型有定性需要时,再计算k个点中每种类别出现的频率,出现次数最多的类别即为待分类点的分类类别;当模型有定量需要时,可对选中的k个值求均值或反距离加权,所得值即为待填补值。本发明选用反距离加权平均法计算填补值,权重计算公式为:
其中:ωi为第i点权重,Li为第i点距待填补点距离。
KNN模型不需前期模型训练,结构较为简单易于理解,精度较高且对异常值不敏感。考虑到降雨量在空间上的分布具有明显规律,是沿暴雨中心逐渐向外侧递减的。待填补雨量数据与邻近站的雨量数据有较大关联,因此选用KNN算法对点雨量数据进行填补。
决策树算法是一种通过概率分析从无规则、无次序的事例中生成分类规则,以对未知数据进行分类、预测的分类算法。事例集合定义为X,包含若干属性及一个标签。属性为决策结果的影响因素,标签为决策结果。一般而言,决策树包含一个根节点、若干个内部节点和若干个叶节点。其中,根节点包含全部样本,内部节点表示属性测试即还需进一步划分,叶节点对应决策结果。节点选择的大原则是:将无序数据变得更加有序。通常选用信息期望值来量化,其表达式为:
其中,p表示事件发生的概率,n为分类数目,xi∈X为样本。H越大,随机变量的不确定性就越大。为描述以不同属性划分节点时不确定性减少的程度,引入信息增益的概念,按照信息增益最大来划分节点。
为避免决策树的过拟合现象,可采用极小化决策树整体的损失函数或代价函数来对已构建的决策树进行剪枝。
不进行剪枝的决策树的概述图如图1:
决策树具有速度快、准确性高、不需要任何领域知识和参数假设、适合高维数据等优点。在实际情况中,一个流域内往往包含多个点雨量数据和一个流量(或蒸发)数据,若直接将点雨量转化为面雨量分析其与流量(或蒸发)数据的关系容易丢失信息。若选用点雨量数据为属性、流量(或蒸发)数据为标签构建决策树,能更充分提取信息。
成因关系剔除法:因降雨量数据、流量数据与蒸发量数据之间存在较强的因果关系,将成因关系不一致的数据予以剔除,主要包括剔除在没有人为干预的情况下产生了过大径流却没有降雨或降雨较小、发生了暴雨却没有产生径流或产生过小径流、无雨或小雨时蒸发量过大、暴雨时无蒸发量或蒸发量过小的情况下的数据。
K-Means聚类算法是一种简单且有效的聚类分析算法。K-Means算法相似性的评价指标是距离,即两个研究对象的距离越近,其相似度越大。由距离靠近的对象组成簇,将紧凑且独立的簇作为最终分类结果。K-Means算法是一种迭代求解的聚类算法,其步骤是随机选取k个研究对象作为初始的聚类中心,再计算每个研究对象与各聚类中心之间的距离,将各研究对象分配给距其最近的聚类中心,组成k个新簇,每个簇再重新确定该簇的聚类中心,如此为一次循环。这个过程将不断重复直至满足终止条件,最终形成k个簇。可采用试算法定k值。模型在对k值的设定上较敏感,不同的k值将会对分类结果有直接的影响。通常选用试算法,计算选出误差最小的k值。
已考虑雨量数据在空间上的分布规律,而降雨在时间上的分布也具有规律。对于面雨量时间序列,可采用K-Means算法分类,以每类的均值对面雨量进行数据填补。
降雨量、流量、蒸发量等水文数据具有各自特点及规律,据此分别利用不同的方法进行清洗。
点雨量数据填补:场次降雨在空间上具有随暴雨中心向外递减的特点,因各站点降雨量数据与邻近站数据有较大关联,可用邻近站点的雨量数据进行填补。选用以距离为相似性评价指标的KNN算法可依据点雨量数据空间分布对其进行填补。
面雨量数据填补:对异常的降雨数据剔除后,需要填补。根据降雨量年内变化规律,选用K-Means算法以时间为横坐标、面雨量为纵坐标对面雨量聚类分析,依据其时间分布规律进行填补。
径流量数据、蒸发量数据填补:一般而言,流域内雨量站数量远大于水文站,同一流域往往测量多组点雨量数据和一组流量数据、蒸发数据。决策树是针对一对多关系的填补方法,选用点雨量数据为属性、流量(或蒸发)数据为标签构建决策树对流量(或蒸发)数据进行填补。
水文数据成因关系剔除:径流量、蒸发量与流域降雨量息息相关。有时由于检测仪器设备出现故障,或工作人员在数据收集、整理时出现差错,有时有可能会出现同时期降雨、径流、蒸发不一致现象,例如产生了过大径流却没有降雨或降雨较小、发生了暴雨却没有产流或产流过小、无雨或小雨时蒸发量过大、暴雨时无蒸发量或蒸发量过小等情况。如公式(3)所示,满足如下情况的数据为不一致数据,应予以剔除。
其中,rbig为过大流量、rsmall为过小流量、pbig为过大暴雨量、psmall为过小雨量、ebig为过大蒸发量、esmall为过小蒸发量。根据实测数据分析,异常值一般在数据95%累积百分位位置。因此,为了保证其一致性,本发明阈值通过数学统计方法中百分位法确定,即将一组数据从小到大排列,计算相应的累计百分位,处于p%位置的值称为第p百分位数。
多元二次清洗方法:结合水文数据的特点和机器学习的优势,本发明提出了一种水文数据多元二次清洗方法:第一次清洗在监测出缺失数据的基础上,针对不合理的特大值、特小值进行清洗;第二次清洗是根据降雨、径流、蒸发的成因关系,利用一致性特性进一步清洗异常数据。清洗方法能有效提高数据质量,流程如图2所示。
第一次清洗:首先,对缺失数据监测,再利用拉伊达准则将流量数据、点雨量数据和蒸发量数据中的不合理值进行剔除;然后,利用KNN算法对点雨量数据进行首次填补,形成第一次清洗后的雨量数据SDYqx1;最后,以SDYqx1为属性,分别以流量及蒸发量数据为标签,构建决策树,对流量数据及蒸发量数据进行填补,形成一次清洗后的流量数据SJqx1及蒸发量数据SZqx1。
第二次清洗:首先进行雨量转换与清洗,利用ArcGIS软件构造泰森多边形按面积比例p将点雨量SDYqx1转化为面雨量SMY,再根据成因关系剔除流量SJqx1、蒸发量SZqx1与面雨量SMY因果关系不一致的数据形成SMYtc,并利用K-Means算法进行填补,形成清洗后的面雨量数据SMYqx2,按照比例p将面雨量数据SMYqx2转化为点雨量SDYqx2;然后进行流量及蒸发量数据清洗:以SDYqx2为属性,分别以流量及蒸发量数据为标签构建决策树,对流量数据及蒸发量数据进行填补,形成二次清洗后的流量数据SJqx2及蒸发量数据SZqx2。
清洗效果检验:将清洗结果进行进行双累积相关分析与Mann-Kendall突变检验。
清洗方法的适用性:本发明选用济南市长清区1980年1月-2014年12月实测水文数据进行清洗,时间步长为月。若能满足一定的时间步长,本清洗方法还能对实时数据(30min或1h等步长)、周数据、年数据等进行清洗。
此清洗方法对流域的选择没有严格要求,通过机器学习算法对影响水文现象因素的内在规律进行学习,不需要输入流域温度、下垫面条件、海陆位置、流域河流结构等因素的具体情况就能达到学习效果。因此,不同流域水文数据均能采用本法进行清洗。
以济南市长清区各水文站1980年-2014年实测数据为实例进行数据清洗,数据如表1:使用python语言编程,其中KNN算法、K-Means算法及决策树算法使用Python语的sklearn库编程,除KNN算法及K-Means算法k值外,其他参数均为默认值。
表1济南市长清区各水文站1980年-2014年实测数据
注:NA表示缺测
(1)缺失数据监测及不合理数据剔除
原始数据存在部分缺失值,在应用拉伊达准则时只考虑非空数据。为维持时间序列的结构并对待剔除数据定性标记,将缺失值标记为-300,不满足拉伊达准则的剔除值替换为-600,(下同)。年降雨量数据、年径流量数据、年蒸发量数据的缺失数据监测及不合理数据剔除结果如图3、图4和图5:
(2)缺失及不合理数据填补
选用KNN算法对点雨量数据进行填补,根据k值误差图选择k值为4,填补值为反距离加权如公式(1),误差计算公式如(3),k值误差如图6,填补结果如图7:
其中,n为待填补个数,Xi为第i个待填补数的填补值,Yi为第i个待填补数的原始值。
以已清洗一次的点雨量数据为属性、标签分别为年径流量数据及年蒸发量数据,构建决策树对年径流量数据及年蒸发量数据进行填补,填补结果如图8和图9:
(3)不一致数据剔除
利用ArcGIS软件创建泰森多边形,将点雨量转化为面雨量。再对年面降雨量数据、年径流量数据及年蒸发量数据进行分析。将产生了过大径流没有降雨或降雨较小的数据,发生了暴雨没有产流或产流过小的数据,无雨或小雨时蒸发量过大、暴雨时无蒸发量或蒸发量过小的数据替换成-600,如图10:
其中,过大流量、过小流量、过大暴雨量、过小雨量、过大蒸发量、过小蒸发量依据python语言中percentile(5)及percentile(95)函数确定,如表2:
表2参数确定表
过大流量 | 过小流量 | 过大雨量 | 过小雨量 | 过大蒸发量 | 过小蒸发量 | |
长青 | 10694.00万<sub>m</sub><sup>3</sup> | 109.60万<sub>m</sub><sup>3</sup> | 762.42<sub>mm</sub> | 308.82<sub>mm</sub> | 1158.22<sub>mm</sub> | 910.47<sub>mm</sub> |
(4)不一致数据填补
对年面降雨量时间序列进行填补,根据误差公式(4)得k值误差图如图11,选择k值为4,其他参数均为默认值,填补值为簇均值。以点雨量数据为属性、标签分别为年径流量数据、年蒸发量数据构建决策树,对年径流量数据及年蒸发量数据进行填补,填补结果如图12:
(5)结果检验
水文资料是否具备一致性与水文模型参数的代表性密切相关,并且在很大程度上影响水文模拟计算的精度和可靠度。科学分析水文资料突变性对于认识水文循环的演变规律,研究环境变化对水文过程的影响具有重要的科学意义。为检验清洗结果,分别将清洗前后年降雨量与年径流量数据进行一致性检验,年蒸发量数据进行突变性检验。
一致性检验
双累积曲线可以准确地表示降雨径流关系及其变化趋势,是检验降雨径流资料一致性的主要方法。分别用清洗前后数据,建立降雨径流双累积相关图,如图13(a)和图13(b)。
由图13(a)和图13(b)可知清洗后降雨径流双累积相关图的相关系数从0.9948增大到0.9952。
突变性检验
Mann-Kendall突变检验法是一种常见的统计检验突变法,已广泛地用来分析降水、径流和气温等要素时间序列的变化情况。采用Mann-Kendall突变检验来对年蒸发量数据进行突变性检验。位于置信区间内两曲线的交点即为突变点,其结果如图14(a)和图14(b):
由图14(a)和图14(b)可知,流量数据清洗后突变点个数由3个下降至1个,既没有丢失年蒸发量在2007年后突变情况发生较为频繁这一信息,也降低了数据了突变性。
实施例2:
实例2以济南市历城区各水文站1958-2009年实测数据为实例进行数据清洗,数据如表3:
表3济南市历城区各水文站1980年-2014年实测数据
历城区清洗后数据如图15。
分别用清洗前后数据,建立降雨径流双累积相关图,如图16(a)和图16(b)。
由图16(a)和图16(b)可知清洗后降雨径流双累积相关图的相关系数从0.9121增大到0.9996。
采用Mann-Kendall突变检验来对年蒸发量数据进行突变性检验。位于置信区间内两曲线的交点即为突变点,其结果如图17(a)和图17(b)。
实施例二
本实施例提供了水文数据清洗系统;
水文数据清洗系统,包括:
获取模块,其被配置为:获取待处理的水文数据;
第一次清洗模块,其被配置为:对待处理的水文数据进行第一次清洗;所述第一次清洗包括:缺失数据监测和不合理数据剔除与填补;
第二次清洗模块,其被配置为:对第一次清洗后的水文数据进行第二次清洗;所述第二次清洗包括:对因果关系不一致的数据剔除与填补;
检验模块,其被配置为:对清洗结果进行检验。
此处需要说明的是,上述获取模块、第一次清洗模块、第二次清洗模块和检验模块对应于实施例一中的步骤S101至S104上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
实施例四
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.水文数据清洗方法,其特征是,包括:
获取待处理的水文数据;
对待处理的水文数据进行第一次清洗;所述第一次清洗包括:缺失数据监测和不合理数据剔除与填补;
对第一次清洗后的水文数据进行第二次清洗;所述第二次清洗包括:对因果关系不一致的数据剔除与填补;
对清洗结果进行检验。
2.如权利要求1所述的水文数据清洗方法,其特征是,对待处理的水文数据进行第一次清洗;包括:
分别对待处理的若干个站点的点雨量数据、待处理的流量数据和待处理的蒸发量数据,进行缺失数据监测,并进行不合理数据剔除处理;
对缺失的点雨量数据和剔除后的不合理的点雨量,进行缺失值填补处理,得到第一次填补后的每个站点的点雨量数据;
基于第一次填补后的点雨量数据,分别对不合理的流量数据和蒸发量数据,进行缺失值填补,得到第一次填补后的流量数据和第一次填补后的蒸发量数据。
3.如权利要求1所述的水文数据清洗方法,其特征是,对第一次清洗后的水文数据进行第二次清洗;包括:
根据泰森多边形,求出各雨量站面积占整个区域的权重p,利用权重p将第一次填补后的点雨量数据加权求和,转化为面雨量数据;
根据面雨量数据、流量数据、蒸发量数据进行成因关系分析,剔除不一致的数据;
对剔除的不一致数据进行填补,首先填补面雨量数据,然后将填补所得的面雨量根据权重p进行修正得第二次填补后点雨量数据;
基于第二次填补后的点雨量数据,对不一致数据剔除后的的流量数据和蒸发量数据,进行缺失值填补,得到第二次填补后的流量数据和第二次填补后的蒸发量数据。
4.如权利要求2所述的水文数据清洗方法,其特征是,分别对待处理的若干个站点的点雨量数据、待处理的流量数据和待处理的蒸发量数据,进行缺失数据监测,并进行不合理数据剔除处理;具体包括:
对待处理的若干个站点的点雨量数据、待处理的流量数据和待处理的蒸发量数据,分别缺失数据监测;
利用拉伊达准则,分别对待处理的若干个站点的点雨量数据、待处理的流量数据和待处理的蒸发量数据,进行不合理数据剔除处理;
或者,
对缺失的点雨量数据和剔除后的不合理的点雨量,进行缺失值填补处理,得到第一次填补后的每个站点的点雨量数据;具体包括:
使用KNN算法,对缺失数据监测和不合理数据剔除后的待处理的每个站点的点雨量数据进行缺失值填补处理,得到第一次清洗后的点雨量数据;
或者,
基于第一次填补后的点雨量数据,分别对不合理的流量数据和蒸发量数据,进行缺失值填补,得到第一次填补后的流量数据和第一次填补后的蒸发量数据;具体包括:
以第一次清洗后的若干个站点的点雨量数据为标签,已有流量数据为属性,建立决策树,得到第一次清洗后的流量数据;
以第一次清洗后的若干个站点的点雨量数据为标签,已有蒸发量数据为属性,建立决策树,得到第一次清洗后的蒸发量数据。
5.如权利要求3所述的水文数据清洗方法,其特征是,根据面雨量数据、流量数据、蒸发量数据进行成因关系分析,剔除不一致的数据;具体包括:
根据成因关系,剔除在没有人为干预的情况下产生了径流大于设定阈值却没有监测到降雨或监测到降雨量小于设定阈值、发生了暴雨却没有监测到产生径流或监测到产生径流小于设定阈值、无雨或雨量小于设定阈值时,监测到蒸发量大于设定阈值、雨量大于设定阈值时,监测到无蒸发量或蒸发量小于设定阈值的情况下的数据。
6.如权利要求3所述的水文数据清洗方法,其特征是,对剔除的不一致数据进行填补,首先填补面雨量数据,然后将填补所得的面雨量根据权重p进行修正得第二次填补后点雨量数据;具体包括:
采用K-Means算法,对面雨量数据进行缺失数据填补;
构建整个监测区域的泰森多边形;
根据每个站点面积与整个监测区域的面积比例;
将面积比例作为每个站点的权重p;
将面雨量数据与每个站点的权重p进行相乘,得到第二次清洗后的点雨量数据;
或者,
基于第二次填补后的点雨量数据,对不一致数据剔除后的的流量数据和蒸发量数据,进行缺失值填补,得到第二次填补后的流量数据和第二次填补后的蒸发量数据;具体包括:
以第二次清洗后的点雨量数据为标签,已有流量数据为属性,建立决策树,得到第二次清洗后的流量数据;
以第二次清洗后的点雨量数据为标签,已有蒸发量数据为属性,建立决策树,得到第二次清洗后的蒸发量数据。
7.如权利要求1所述的水文数据清洗方法,其特征是,所述对清洗结果进行检验;具体包括:
对清洗后的点雨量数据、流量数据和蒸发量数据进行双累积分析与突变检验,如果检验结果满足设定要求,则停止清洗,否则继续清洗。
8.水文数据清洗系统,其特征是,包括:
获取模块,其被配置为:获取待处理的水文数据;
第一次清洗模块,其被配置为:对待处理的水文数据进行第一次清洗;所述第一次清洗包括:缺失数据监测和不合理数据剔除与填补;
第二次清洗模块,其被配置为:对第一次清洗后的水文数据进行第二次清洗;所述第二次清洗包括:对因果关系不一致的数据剔除与填补。
9.一种电子设备,其特征是,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110545803.5A CN113377750B (zh) | 2021-05-19 | 2021-05-19 | 水文数据清洗方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110545803.5A CN113377750B (zh) | 2021-05-19 | 2021-05-19 | 水文数据清洗方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113377750A true CN113377750A (zh) | 2021-09-10 |
CN113377750B CN113377750B (zh) | 2022-03-29 |
Family
ID=77571290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110545803.5A Active CN113377750B (zh) | 2021-05-19 | 2021-05-19 | 水文数据清洗方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377750B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113887635A (zh) * | 2021-10-08 | 2022-01-04 | 河海大学 | 一种流域相似性分类方法及分类装置 |
CN114969009A (zh) * | 2022-06-09 | 2022-08-30 | 四川鲁尔物联科技有限公司 | 雨量数据处理系统、方法、电子设备以及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399925A (zh) * | 2013-08-05 | 2013-11-20 | 河海大学 | 一种基于水文数据的降雨多维分析系统及其实现方法 |
CN105303492A (zh) * | 2015-10-27 | 2016-02-03 | 中国疾病预防控制中心环境与健康相关产品安全所 | 一种面向大气污染健康风险评估的健康数据清洗方法 |
CN108304668A (zh) * | 2018-02-11 | 2018-07-20 | 河海大学 | 一种结合水文过程数据和历史先验数据的洪水预测方法 |
CN110134675A (zh) * | 2019-05-23 | 2019-08-16 | 大连海事大学 | 一种面向海洋数据流的数据清洗方法和系统 |
CN110134907A (zh) * | 2019-05-07 | 2019-08-16 | 中国科学院深圳先进技术研究院 | 一种降雨缺失数据填补方法、系统及电子设备 |
CN111913239A (zh) * | 2020-09-03 | 2020-11-10 | 贵州黔源电力股份有限公司 | 基于气象水文观测数据的水库有效面雨量计算方法及系统 |
CN112286924A (zh) * | 2020-11-20 | 2021-01-29 | 中国水利水电科学研究院 | 一种数据异常动态识别与多模式自匹配的数据清洗技术 |
CN112528557A (zh) * | 2020-11-30 | 2021-03-19 | 北京金水信息技术发展有限公司 | 基于深度学习的洪水流量预测系统和方法 |
CN112561133A (zh) * | 2020-11-30 | 2021-03-26 | 西安科锐盛创新科技有限公司 | 一种基于神经网络的水流量预测系统和方法 |
-
2021
- 2021-05-19 CN CN202110545803.5A patent/CN113377750B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399925A (zh) * | 2013-08-05 | 2013-11-20 | 河海大学 | 一种基于水文数据的降雨多维分析系统及其实现方法 |
CN105303492A (zh) * | 2015-10-27 | 2016-02-03 | 中国疾病预防控制中心环境与健康相关产品安全所 | 一种面向大气污染健康风险评估的健康数据清洗方法 |
CN108304668A (zh) * | 2018-02-11 | 2018-07-20 | 河海大学 | 一种结合水文过程数据和历史先验数据的洪水预测方法 |
CN110134907A (zh) * | 2019-05-07 | 2019-08-16 | 中国科学院深圳先进技术研究院 | 一种降雨缺失数据填补方法、系统及电子设备 |
CN110134675A (zh) * | 2019-05-23 | 2019-08-16 | 大连海事大学 | 一种面向海洋数据流的数据清洗方法和系统 |
CN111913239A (zh) * | 2020-09-03 | 2020-11-10 | 贵州黔源电力股份有限公司 | 基于气象水文观测数据的水库有效面雨量计算方法及系统 |
CN112286924A (zh) * | 2020-11-20 | 2021-01-29 | 中国水利水电科学研究院 | 一种数据异常动态识别与多模式自匹配的数据清洗技术 |
CN112528557A (zh) * | 2020-11-30 | 2021-03-19 | 北京金水信息技术发展有限公司 | 基于深度学习的洪水流量预测系统和方法 |
CN112561133A (zh) * | 2020-11-30 | 2021-03-26 | 西安科锐盛创新科技有限公司 | 一种基于神经网络的水流量预测系统和方法 |
Non-Patent Citations (2)
Title |
---|
余宇峰等: "水文数据库数据质量控制与管理应用研究", 《水文》 * |
孟庆煊: "基于立体感知的智慧水务大数据清洗算法研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113887635A (zh) * | 2021-10-08 | 2022-01-04 | 河海大学 | 一种流域相似性分类方法及分类装置 |
CN114969009A (zh) * | 2022-06-09 | 2022-08-30 | 四川鲁尔物联科技有限公司 | 雨量数据处理系统、方法、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113377750B (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106650767B (zh) | 基于聚类分析和实时校正的洪水预报方法 | |
CN110634080B (zh) | 异常用电检测方法、装置、设备及计算机可读存储介质 | |
CN111104981B (zh) | 一种基于机器学习的水文预报精度评价方法及系统 | |
CN113377750B (zh) | 水文数据清洗方法及系统 | |
CN108985380B (zh) | 一种基于聚类集成的转辙机故障识别方法 | |
CN112735097A (zh) | 一种区域滑坡预警方法及系统 | |
CN101826090A (zh) | 基于最优模型的web舆情趋势预测方法 | |
Cacciola et al. | Aspects about air pollution prediction on urban environment | |
CN111145546A (zh) | 一种城市全域交通态势分析方法 | |
CN116842459B (zh) | 一种基于小样本学习的电能计量故障诊断方法及诊断终端 | |
CN104679860A (zh) | 一种不平衡数据的分类方法 | |
Mishra et al. | Rainfall-runoff modeling using clustering and regression analysis for the river brahmaputra basin | |
CN105930900A (zh) | 一种混合风力发电的预测方法及系统 | |
CN113379116A (zh) | 基于聚类和卷积神经网络的台区线损预测方法 | |
CN109657287B (zh) | 基于综合得分法水文模型精度识别的方法 | |
CN117078114A (zh) | 引水工程影响下受水湖泊水质评价方法和系统 | |
CN107977727B (zh) | 一种基于社会发展和气候因素预测光缆网阻断概率的方法 | |
CN109886288A (zh) | 一种用于电力变压器的状态评价方法及装置 | |
Lin et al. | The study on classification and prediction for data mining | |
CN115374709A (zh) | 一种基于深度森林模型和flus模型的土地分析方法及系统 | |
CN114692729A (zh) | 基于深度学习的新能源场站不良数据辨识与修正方法 | |
CN114818849A (zh) | 基于大数据信息的卷积神经网络和遗传算法的反窃电方法 | |
CN114139408A (zh) | 一种电力变压器健康状态评估方法 | |
Cabanes et al. | On the use of Wasserstein metric in topological clustering of distributional data | |
CN113723670A (zh) | 变时间窗口的光伏发电功率短期预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |