1.黄河水利委员会中游水文水资源局;
2.黄河水利委员会榆林水文水资源勘测局;
3.黄河水利委员会延安水文水资源勘测局
摘要:我国水利行业信息化建设的发展,至今积累了大量宝贵的水文数据资料。对于如此庞大的水文数据,常规的数据分析方法无法提供面向主题的快速数据分析。而通过数据仓库和多维数据立方体的设计与建立,则可以为不同水文主题下的水文信息提供快速检索和深层次多维分析的功能。快速检索和深层分析功能则可以为水文水资源的分析与调度决策提供科学依据,具有重要意义的工作。
关键词:数据挖掘;水文数据分析;系统设计;
水文数据的海量,多维的特点,结合数据仓库在多维数据分析方面的成熟技术,设计了水文数据多维分析系统。建立了面向水文要素统计分析主题的数据仓库模型,并对数据进行了分析展示。在一定程度上解决了因为原始数据量庞大,数据关系复杂而导致的数据查询速度慢等性能问题。
一、系统设计
1.总体设计。本系统的主要功能是在CognosBI平台的基础上进行设计实现的,并通过B/S架构在前台进行展现。具体系统结构设计如图1所示。
图1水文数据分析系统结构设计图
总体来说,本系统主要分为数据获取与处理、模型设计与建立、数据分析展现三大部分。各个部分的具体功能如下:(1)数据获取与处理:主要有水文数据获取和水文数据的处理两个部分。采用水文历史数据作为系统的源数据。由于源数据的不完整性,其中存在大量的空值、噪声数据和不规范数据,因此在进行数据挖掘前必须对其进行空值处理、极端数据处理等预处理,为下一阶段的数据挖掘提供高质量的、清洁的数据。(2)模型设计与建立:主要包括数据仓库和数据立方体的设计与建立两个部分。数据仓库设计与建立:根据面向主题、数据驱动和原型法设计三个原则,设计并建立相应的概念模型、逻辑模型、物理模型,最后完成数据仓库模型的建立。数据立方体设计与建立:根据数据仓库中的数据设计出维度和度量,以及维度中的层次关系,从而设计出相应的数据立方体,最后通过商业智能解决方案工具完成数据立方体的建立。(3)数据分析展现:基于B/S架构,利用数据表,柱状图,圆饼图等方式在Web网页上展现针对不同主题的数据。
2.数据获取与处理。数据的获取:原始数据来自于全国基础水文数据库,数据的时间范围为建站年份到2009年。原始数据包含测站信息,降水量信息,水面蒸发量信息,水温信息,平均水位信息,平均流量信息,平均含沙量信息和平均输沙率信息等众多信息,其中不乏会有一些空值数据和错误的数据,所以要对原始数据进行处理。数据的处理:经过检查,原始数据中存在大量的空值、噪声数据和重复值,因此采用如下方法进行处理:对于重复值,直接删除这些重复的记录;对于不是大规模连续出现的空值,采用求15日均值填充该空值的方法来消除;对于连续的超过五天但不超过一月的空值,采用求临近5年同期平均值填充来消除;对于连续一个月以上的空值,则删除所有测站同期记录,剔除该月份或年份的所有记录。
3.模型设计。(1)数据仓库的设计。选取对水文要素的统计分析作为数据仓库的应用主题。下面分别介绍数据仓库中概念模型、逻辑模型和物理模型的设计。1)概念模型设计:水文数据仓库以水文要素为事实,其具体的度量为降水量、水面蒸发量、平均水位、平均流量、平均含沙量、平均输沙率、平均水温。基于水文要素的时空间分布特点,设计了测站维(包含一个“测站”层次)、时间维(包含“年”、“月”、“日”三个层次)、空间维(包含“流域”、“水系”、“测站”三个层次);行政区划维(包含“省”、“市”、“县”三个层次)共四个。2)逻辑模型设计:逻辑模型设计主要是基于上一阶段设计的概念模型,定义数据组织的逻辑结构,将其转换为逻辑模型。在数据仓库的逻辑模型设计中,最常用的是星型模型。基于2.3.1节中的概念模型设计,水文要素的统计分析主题的逻辑模型设计如下:维度表:测站维表、时间维表、行政区划维表、空间维表。事实表:水文要素事实表。度量指标:降水量(毫米)、水面蒸发量(毫米)、平均水位(米)、平均流量(m3/s)、平均含沙量(kg/m3)、平均输沙率(kg/s)、平均水温(摄氏度)。3)物理模型的设计:数据仓库的物理模型设计是逻辑模型在具体DBMS上的物理实现,包括了表的数据结构类型定义、索引策略制定、数据存储分配等,其具体内容表现为数据库中的物理表。(2)数据立方体的设计。立方体的维表示事实表中的维。立方体的每个单元表示一个事实,它与立方体中不同维度的粒度对应。
4.功能设计。(1)数据的可视化功能。分析报表开发功能基于Cognos平台提供的相关技术,为主题应用开发者提供数据分析模型的建立以及分析报表的设计开发环境。主题应用开发者可以设计开发表格、图形以及交互式图表等多种分析报表,提供多样的分析展现方式。(2)OLAP查询分析。OLAP查询分析模块包括数据查询和多维分析两大功能。数据查询主要提供主题数据集的简单查询功能,用户可以查询获得相关测站记录的详细水文要素信息;多维分析功能通过提供钻取、切片切块、旋转等操作,可以为决策者提供针对不同层次对象、不同时空阶段、不同属性粒度的分析数据集。比如用户通过在时间维度上对降雨量数据进行钻取,可获得年、月、日等不同时间级别的降雨量数据。
二、系统实现
1.模型建立。数据仓库的建立。水文数据中,有层次结构的维度有空间维、行政区划维等,其中空间维划分为流域、水系、测站三个层次,这里以空间维的划分为例,实施数据仓库的建立过程。测站编码(SID)为8位,其组成结构为X(流域编码)—XX(水系编码)—XXXXX(站码),故可以通过解码操作实现空间维的划分。假设测站表HY_STSC_A的数据样式表如表1所示,假设其中存放3个测站的数据,假设每条数据只有测站名(DNM)、测站类型(ST)两个字段属性(实际表中有很多字段属性,这里只是为了简化数量以做简要说明):
表1抽取前的数据样式表
其中11505200代表该测站属于水系编码为115的水系,20503900代
表该测站属于水系编码为205的水系,20127200代表该测站属于水系编码为201的水系;而115代表该水系属于流域编码为1的流域,205,201代表该水系属于流域编码为2的流域。基于层级关系,设计如下抽取规则:
11505200=1+115+11505200;
20503900=2+205+20503900;
20127200=2+201+20127200;
最终抽取出来的数据样式表如表2所示(其中HID表示水系编码,HNM表示水系名,BID表示流域编码,BNM表示流域名):
表2抽取后的数据样式表
将所有测站数据按上述抽取过程进行抽取,最后将抽取出来的数据表都加载到数据仓库的空间维表中,为下一步建立数据立方体做好准备。
2.分析展现。水文数据多维分析系统的数据可视化功能和OLAP查询分析基于Cognos服务实现。以降水量这一水文要素为例进行分析展现的说明。降水量数据可视化:水文数据多维分析系统有多种可视化方式,包括表格,柱状图,圆饼图,折线图等等。例如将空间维和时间维分别拖拽至表格的行和列,然后将降水量和最大降水量两个度量也拖拽至行中,便可以查看从1985年开始不同流域降水量和最大降水量的情况。降水量OLAP查询分析:对于对于有层次结构的维度,前台页面可提供数据钻取,切片切块、旋转等功能。例如,通过点击图中表格内1987年这一单元格,便可以让时间维从年层次进入月层次,即可以查看1987年1月份到12月份各个流域降水量和最大降水量的情况。而且表格上方所对应的展示图形也会发生变化。
基于数据仓库对水文数据进行多维分析和在线展现的实现方法。包括数据仓库的设计、建模;数据抽取、转换与加载;数据存储与管理;数据展现。此系统提供了从多维角度分析水文数据的方法,为水利综合决策提供了决策支持。
参考文献:
[1]尹定生.浅谈水文数据多维分析系统设计与实现.2016.
[2]占晓安.数据挖掘技术在水库调度中的研究与应用.2017.