贝叶斯网络水质指标评价方法、水域水质等级评价方法、水质指标预测方法与流程

文档序号:16581652发布日期:2019-01-14 18:01阅读:468来源:国知局
贝叶斯网络水质指标评价方法、水域水质等级评价方法、水质指标预测方法与流程

本发明涉及水质评价方法,特别是涉及利用贝叶斯网络实现的水域关键性水质指标评价方法、水质等级评价方法、水质指标预测方法,属于环境监测、水质评价、专门适用于特定应用的数据处理方法技术领域。



背景技术:

水域水质监测与评价是地表水环境管理的重要领域,其主要工作内容包括对既定水域监测水质指标变化、评价水质等级,两项工作相互相存。一方面,获取水质指标的监测数据样本是评价水质等级的基础。另一方面,对于既定水域,为实现快速准确评价水质等级的目标,又决定了应该对哪些关键性水质指标加以重点监测。目前水质评价的方法有综合污染指数法、多元统计分析评价法、人工神经网络评价法、灰色理论模型和模糊理理论模型等。这些方法都存在各自的缺陷:综合污染指数法无法科学确定各因子权重,多元统计分析评价法公式复杂、计算量大;人工神经网络评价法存在学习时间过长或过度拟合的问题;灰色理论模型和模糊理理论模型考虑了水环境不确定性及水质分类和水质标准的模糊性,灰色理论存在均值化且结果越理想计算越复杂的问题;模糊理论也存在着需要人为构造隶属度函数,带有强烈的主观性和计算繁琐的缺点。

水质评价是一个涉及多个水质指标的综合评价过程,但各水质指标之间往往存在一定的“协同”或“拮抗”作用,呈一定的非线性相关性,由此产生的具体技术问题成为水质评价领域的一个重要问题,即当水质指标发生各异性变化时,即不同水质指标变化大小可能引起水质在不同等级间变化时——如一些水质指标变化可能引起水质等级由ⅰ级变为ⅱ级,而另一些水质指标变化可能引起水质等级由ⅰ级变为ⅲ级或者由ⅱ级变为ⅰ级——应当如何快速准确评价水质等级?该问题最终提高了完成水质评价的时间成本。

《基于贝叶斯网络的水质污染评价及预测》(齐培培,2011)涉及了基于贝叶斯网络的水质污染评价及预测模型。该文献讨论了基于变量之间的预测能力建立贝叶斯网络结构,仅限于探索了指标与水质等级之间的定性关系,当指标浓度产生变化时,水质等级如何改变的具体定量关系并未给出。因此该文献并未形成真正的技术方案,无法解决技术问题。



技术实现要素:

本发明的目的就是针对现有技术的不足,提供一套基于贝叶斯网络实现的综合性水域水质评价方法,能够用以确定直接影响水域水质等级变化的直接关联水质指标,能够在水质指标发生各异性变化时快速评价水质等级,以及能够预测未监测水质指标的浓度范围值。

为实现上述目的,本发明首先提供一种贝叶斯网络水质指标评价方法,其技术方案如下:

一种贝叶斯网络水质指标评价方法,用于从监测水域的水质指标x中确定直接影响水域水质等级f的直接关联水质指标x′,其特征在于:依如下步骤实施:

首先,获取监测水域水质监测数据,根据水质指标x值计算监测水域的水质等级f,所述水质指标x是地表水质评价指标;

其次,以水质指标x、水质等级f作为贝叶斯网络节点变量,计算所有节点的联合概率分布p(z1,z2…zn),再计算所有节点之间的互信息值mi(zv,zw),其中,z为节点空间,n为节点数量,v、w为第v个、第w个节点,由此构建无向网络结构图;

再次,通过贝叶斯网络结构学习确定无向网络结构图的各节点间边的方向,由此构建水质评价贝叶斯网络结构图;

最后,依水质评价贝叶斯网络结构图确定直接关联水质指标x′,所述直接关联水质指标x′是贝叶斯网络结构图中水质等级f的直接父节点。

贝叶斯网络是由若干个节点与若干条带箭头的边连接而成的网状结构。每个节点分别代表不同水质指标x或水质等级f,即网络的节点空间定义为z,z包含所有的水质指标x节点与水质等级f节点。节点间的每条边分别代表节点间关联程度的概率值,边箭头的指向表示依赖关系。上述贝叶斯网络水质指标评价方法即是利用贝叶斯网络结构图中节点及带箭头的边的位置与关系,从常规水质指标x中寻找对水质等级f变化有直接关系的直接关联水质指标x′。其主要原理在于:一、水质指标x或水质等级f在分别满足某一条件下的组合概率值通过链式法则进行表示。根据链式法则,联合概率分布可由各水质指标x节点或水质等级f节点的条件概率组成,表示有关联性的不同水质指标x或水质等级f都满足各自某一条件下时的组合概率值。这样,在水质评价的贝叶斯网络中,对每个节点在给定了父节点之后,其联合概率分布即可确定。二、确定有关联性的不同节点采用水质指标x之间的互信息值,其值越大,关联性越强。当互信息值大于设定的阈值时,表示两个节点之间具有直接关联性,反之,表示两个节点之间条件独立,即不存在边的关系。通过计算出各节点之间的互信息值,判断各变量之间是否存在边的关系,由此得到初始无向网络结构图。三、通过贝叶斯网络结构学习确定无向网络结构图中各节点之间的依赖关系,即各节点间边的方向,由此构建出水质评价贝叶斯网络结构图。基于此,便可确定结构图中水质等级f节点的直接父节点。直接父节点所对应的水质指标x即为直接关联水质指标x′。

本发明还提供上述贝叶斯网络水质指标评价方法的优化技术方案,包括两个独立的方案。包括:

优化一、贝叶斯网络结构学习算法

在获得无向网络结构图的基础上,通过贝叶斯网络结构学习可以确定节点间边的方向,从而得到贝叶斯网络结构图。具有离散变量的贝叶斯网络结构学习方法较多,包括搜索评分法、统计法、混合搜索算法等。本发明提供一种互信息与k2算法相结合实现贝叶斯网络结构学习算法。该方案基于无向网络结构图的节点顺序,以k2评分作为评价网络结构的测度完成网络结构学习,用以针对性解决采用k2搜索算法需要首先确定网络节点顺序的问题。具体方案:

基于无向网络结构图的节点顺序,以k2评分作为评价网络结构的测度,确定最优贝叶斯网络结构图;k2评分函数依式4方程组:

式中:zv—第v个节点,v=1,2,...,n,

d(zv)—节点zv的所有可能的父节点集合,

n—节点z的个数,n=m+1,m为水质指标个数,

k—节点zv所有可能的取值,依zv取值范围依离散化标准确定,

s—zv的父节点的取值个数,依zv的父节点的取值范围依离散化标准确定,

nvs—zv的父节点的所有取值量,依数据样本确定,

nvsk—zv=k时,zv的父节点取s值的数量,依数据样本确定。

经实验证明,采用本发明的优化贝叶斯网络结构学习算法,不仅能够确定各节点之间边的方向,还能实现对节点间边关系的增删,优化网络结构,由此构建出的是水质评介最优贝叶斯网络结构图。

优化二、计算水质等级f

根据水质指标x值计算监测水域的水质等级f是水污染领域中的基本问题,现有技术,如国标推荐使用的单因子法已可解决。但单因子法是以最差的水质指标所属的水质等级作用水域水质等级,较粗糙。并且这种方法由于事先约束了所有水质指标x与水质等级f之间的关系,因而计算所得水质等级f作为网络节点,不利于更好地体现本发明方法采用贝叶斯网络综合考察所有水质指标x对水质等级f影响的技术构思。为此,本发明提供一种基于贝叶斯概率的水质等级f计算方案。该方案设所有监测数据样本为t,xi—监测点水质指标x,i—第i个指标,i=1,2,...,m;m—指标的个数,依数据样本确定;xi—第i个指标的监测值,依数据样本确定;ye—t的一个有限划分,规定为水质类别,依标准确定;e—第e类水质,e=1,2...c,c—水质类别数,依《地表水环境质量标准》(gb3838-2002),c=5;yie—第i个指标属于e类水的标准浓度值。先验概率根据杰弗莱均匀分布假设,采用概率相等原则,即在没有任何信息的前提下,水质属于某一类别的概率均为1/c;则以最大后验概率决定最终水质类别的贝叶斯概率公式表示为式1方程组。

获得监测水域的水质指标x数据样本,依照《地表水环境质量标准》确定监测水域的水质类别e及水质类别个数c,依式1方程组计算c个贝叶斯概率值pe,最大概率值ph对应的水质类别即为监测水域的水质等级f:

上式中,ph为最大后验概率,表示在获得水质信息的条件下水质属于某一类别的最大可能性,pe为后验概率,表示在获得水质信息的条件下水质属于某一类别的可能性,表示监测点第i个指标对水质的影响权重,为条件概率,表示监测点水质属于不同类别时,出现某一水质指标相应的可能性。

本发明上述贝叶斯网络水质指标评价方法,地表水质评价指标是指在地表环境水监测、地表环境水污染技术领域中通常使用的水质指标。地表水质评价指标可以采用各种必要的现有技术(如行业标准、技术规范、相关研究成果、针对监测水域的专门选择)与监测水域实际常规监测指标相结合的方法加以确定。本发明前期研究发现,优先条件下,地表水质评价指标应当包括各种秏氧类指标、监测水域常规监测指标,前者应当包括溶解氧、高锰酸盐指数、化学需氧量、氨氮、总氮、挥发酚,砷。此外,五日生化需氧量、氟化物、总磷等也可作为水质指标。

以上述贝叶斯网络水质指标评价方法为基础,本发明同时提供一种利用这些方法实现的贝叶斯网络水域水质等级评价方法,用于针对既定水域,以具有特征性的水质指标而非常规性或普遍性水质指标的监测值为基础评价其水质等级。其技术方案如下:

利用上述贝叶斯网络水质指标评价方法实现的贝叶斯网络水域水质等级评价方法,其特征在于:构建水域水质评价贝叶斯网络结构图,确定直接关联水质指标x′;通过贝叶斯网络参数学习计算水质评价贝叶斯网络结构图或水质评价最优贝叶斯网络结构图中直接关联水质指标x′节点与水质等级f节点间的条件概率表,获取直接关联水质指标x′监测值,通过条件概率表评价水域水质等级f。

上述贝叶斯网络水域水质等级评价方法,首先构建出水域的水质评价贝叶斯网络结构图(包括贝叶斯网络结构图、最优贝叶斯网络结构图),确定该水域的直接关联水质指标x′;再利用贝叶斯网络参数学习,确定直接关联水质指标x′与水质等级f之间的依赖关系(即条件概率表);最后将直接关联水质指标x′的监测值代入已建立的条件概率表评价该水域的水质等级f。

通过贝叶斯网络参数学习确定各节点条件概率表可以通过贝叶斯估计法与极大似然估计法实现。本发明结合水质指标数据样本的特征,具体提供极大似然估计的方法来进行网络参数学习的优化技术方案。优化方案定义为一个由m个水质指标x={x1,x2,…xm}与一个水质等级f组成节点数为n的贝叶斯网络结构φ,第v个节点zv与其父节点π(zv)的取值分别为k、s,k=1,2…a,s=1,2…q,a与q均依据数据或数据离散化标准确定,则网络的参数为θvsk=p(zv=k|π(zv)=s)。当所有的数据样本满足独立同分布,对θvsk进行极大似然估计,得到式5,所得值即为各节点的条件概率极大似然估计值。

以上述贝叶斯网络水质指标评价方法为基础,本发明同时提供一种利用这些方法实现的贝叶斯网络水域未监测水质指标预测方法,用于针对既定水域,预测水质评价贝叶斯网络结构图中的未能监测水质指标的浓度范围。其技术方案如下:

利用上述贝叶斯网络水质指标评价方法实现的贝叶斯网络水域未监测水质指标预测方法,其特征在于:所述未监测水质指标是水域水质评价贝叶斯网络结构图/水质评价最优贝叶斯网络结构图中的水质指标节点;首先确定未监测水质指标xx在贝叶斯网络结构图/最优贝叶斯网络结构图中的节点位置及其所有直接父节点,其次依节点条件概率表判断未监测水质指标xx的浓度范围预测值;所述判断规则是:若xx仅一个直接父节点,则以直接父节点的监测值为基础,根据xx与其直接父节点的最大条件概率确定水质指标xx的浓度预测值;若水质指标xx有多个直接父节点且直接父节点之间有关联性,则首先确定xx与所有直接父节点构成的最长网络线节点组合,然后以直接父节点的监测值为基础,根据最长网络线节点组合之间的最大条件概率确定水质指标xx的浓度范围预测值。

在实际水质监测中,往往因为多种原因导致在某些情况下对于一个监测水域不能完成全部水质指标的监测,存在一些未监测水质指标xx。此时便需要根据监测数据预测一些未能监测到的水质指标的大致状况,主要是未能监测的水质指标所属的水质等级范围。本发明上述贝叶斯网络水域水质指标预测方法,能够用于预测浓度范围值的水质指标是属于贝叶斯网络结构图节点的水质指标,并且要求其所在节点的所有直接父节点数据全部可知。预测浓度时依照条件概率表进行:若xx只有一个直接父节点,则以直接父节点的监测值为基础,根据xx与其直接父节点的最大条件概率确定水质指标xx的最大可能浓度值,即其浓度预测值。若水质指标xx有多个直接父节点,并且直接父节点之间有关联性,则首先确定xx与所有直接父节点构成的最长网络线节点组合,然后查找最长网络线节点间的最大条件概率,确定xx浓度预测值及对应水质等级f。

与现有技术相比,本发明的有益效果是:(1)本发明贝叶斯网络水质指标评价方法利用水质指标与水质等级为节点的有向无环图表示节点之间的条件依赖关系,并借助条件概率分布将依赖关系参数化,由此综合性地评价水质指标与水质等级之间的定性、定量关系。该方法能够解决现有技术在指标数据处理时存在过度拟合、主观性强以及不能表示水质指标之间定量关系等问题。在此基础上,能够从水域的各种监测水质指标中确定与直接影响水质等级的直接关联水质指标。有效地减少了评价指标,可掌握该河流污染物的特点及水质指标间影响关系,指导河流水质控制。在日常情况下,该方法有利于确定既定水域的重点监测指标;在突发水污染情况下,该方法有利于迅速确定直接导致水质变化的水质因子、排查污染源,缩减污染危害时间,减少污染损失。(2)本发明贝叶斯网络水质等级评价方法能够在构建既定水域贝叶斯网络的基础上,利用直接关联水质指标与水质等级的贝叶斯网络关系迅速评价水质等级,在保证评价结果可检验的前提下有效减少评价指标,从而有效降低水质等级评价的时间成本,更有效解决了现有技术在有限时间条件下难以妥善去除因水质指标交错关系对水质等级评价的干扰问题。(3)本发明贝叶斯网络水域未监测水质指标预测方法在构建既定水域贝叶斯网络基础上,利用节点之间贝叶斯网络关系,实现对缺失水质指标浓度范围值预测,解决了水环境管理实际工作中由于资金、技术等原因造成的监测水平制约从而导致的长期或偶发性的监测指标缺失问题,有利于完善流域水环境管理水质数据。(4)本发明提供的在同一构思下的三种技术方案共同形成水质评价的综合性方案,该综合性方案能够在各类评价结果可检验的前提下提供定性且定量的评价思路,并有效减少各类评价的时间成本,评价过程简便快捷,便于快速掌握突发水域污染事件下水域污染物的特点,对于水环境污染事件危机管理具有很高的实用价值。

附图说明

图1是实施例一方法流程示意图。

图2无向网络结构图。

图3是水质评价最优贝叶斯网络结构图。

图4是实施例二方法流程示意图。

图5是实施例三方法流程示意图。

具体实施方式

下面结合附图,对本发明的优选实施例作进一步的描述。

实施例一

如图1~图3所示,用本发明方法评价某水域的水质指标与水质等级。

图1是实施例一方法流程示意图。监测水域位于四川省内青衣江某县段入境断面1、出境断面2之间。

1、计算监测水域的水质等级f

获取监测水域水质监测数据是入境断面1、出境断面2两个站点在2013年、2014年、2015年三年36个月的水质监测数据。根据地表水质评价常规水质指标与站点实际水质监测数据样本最终选取溶解氧(do)、高锰酸盐指数(codmn)、化学需氧量(codcr)、生化需氧量(bod5)、氨氮(nh3-n)、总氮(tn)6个水质指标作为水质指标x。依照《地表水环境质量标准》确定水质类别个数c=5。

将数据样本及依照《地表水环境质量标准》确定的变量代入式1方程组,得到监测水域的水质等级f。部分结果如表1所示。

表1部分水质指标数据样本及水质等级f

2、构建无向网络结构图

将各水质指标x与水质等级f作为节点变量,因此网络节点为name={do、codmn、codcr、bod5、nh3-n、tn、f}。

由于各水质指标的浓度变化范围差异较大,且为了符合贝叶斯网络方法要求,需要首先对变量进行离散化处理。各指标按照《地表水环境质量标准》(gb3838-2002)中各类水标准限值划分,例如,溶解氧指标实际监测值>7.5mg/l,则离散化取值为1,若溶解氧指标实际监测值为6.0-7.5mg/l,则离散化取值为2;对于水质等级f,若计算值为i类,则离散化为1,以此类推。水质评价的贝叶斯网络的节点变量离散化标准及取值见表2。

表2指标变量离散化标准及取值(监测值单位:mg/l)

数据经过离散化标准处理之后变成了由离散数据组成的属性值矩阵,存储为纯文本txt格式,共72条数据样本,将其分为两部分,60条作为训练集,12条作为测试集。

以水质指标x、水质等级f作为贝叶斯网络节点变量需计算所有节点的联合概率分布p(z1,z2…zm)。

将利用训练数据集计算节点的联合概率分布p(z1,z2…zm)。水质评价贝叶斯网络中的水质指标在分别满足某一条件下的组合概率值通过链式法则进行表示。在贝叶斯网络结构图中,若z1(父节点)、z2(子节点1)、z3(子节点2)分别代表为三个节点。根据链式法则,联合概率分布可由各节点的条件概率组成,表示有关联性的z1与z3都满足各自某一条件下时的组合概率值,即p(z1,z3)=p(z1)·p(z3|z1),同理可得p(z1,z2)=p(z1)·p(z2|z1)。因此,在水质评价的贝叶斯网络中,对每个节点给定了父节点之后,其联合概率分布可表示为式2。

式中,n—节点个数,依数据样本确定;v—第v个节点,v=1,2,...,n;zv—第v个节点的值;pa(zv)—除节点zv以外的所有节点。

将所有节点的组成的训练数据代入式2,有每两个节点之间的联合概率分布p(zv,zw)。

利用训练数据集计算所有节点之间的互信息值mi(zv,zw)。节点之间互信息计算定义如下:对于两个指标zv、zw,zv、zw分别表示zv、zw指标的离散化取值,依表2有zv、zw的取值范围均为1~5;则zv与zw之间的互信息值表示为式3。

将训练样本中所有节点数据代入式3,得到两两节点之间的互信息值mi(zv,zw),见表3。

表3节点之间的互信息值

依阈值规则,即将大于50%的互信息值所在区间的下限设置为互信息值阈值,本例中为0.004。取各水质指标x之间的互信息值大于0.004时,表示两个变量之间存在关联性,根据表3所有水质指标x与水质等级f之间的互信息值进行降序排列,可以得到网络节点顺序为{tn,nh3-n,codmn,do,codcr,bod5,f},即得到如图2所示的无向网络结构图。

3、贝叶斯网络结构学习

基于无向网络结构图的节点顺序,以k2评分作为评价网络结构的测度完成网络结构学习。具体在matlab平台上运行下述程序:

step1:指定节点变量数量,n=7;

step2:为每个变量创建数组空间,即各指标的取值范围,ns=[5,5,5,5,5,5,5];

step3:定义节点变量名,name={‘do’,’codmn’,’codcr’,’bod5’,’nh3-n’,’tn’,’f’};

step4:据互信息指定节点顺序,order={tn,nh3-n,codmn,do,codcr,bod5,f};

step5:设定父节点个数,max_fan_in=2;

step6:导入存储在d盘的训练数据样本,fn=’d:\matlab7.0\data7.txt’;

step7:读入数据,并进行数据矩阵转置,data=load(fn);data_train=data’;

step8:调用matlab平台的bnt软件包利用k2搜索算法进行网络结构学习,dag=learn_struct_k2(data-train,ns,order,’max_fan_in’,max_fan_in);

step9:导出网络结构图,bnet2=mk_bnet(dag,ns);draw_graph(dag).

最终获得包含7个节点(6个影响因子和1个决策因子)和若干条有向边的网络结构,结构学习结果如图3。

图3所示的网络结构和图2做比较,可以发现,经k2网络结构学习后,不仅增加了各节点间边的方向,还对某些节点间关系(codcr和bod5之间的边关系)进行了删减,确定了其他各条边的指向。从图3可以看出,tn为网络父节点,tn对codmn与nh3-n有直接影响,nh3-n对codmn又有直接影响。从图3还可以得出,do指标也主要受到tn、nh3-n与codmn的影响,而codcr与bod5则主要与tn有直接的影响。各水质指标间关系均符合专业原理。因而,结构学习后的网络是优化之后的水质评价最优贝叶斯网络结构图(图3)。

4、确定直接关联水质指标x′

图3中,水质等级f的直接父节点有tn、nh3-n、codmn,因而tn、nh3-n、codmn是直接关联水质指标x′。

验证:监测水域为饮用水源地,属于清洁水体,因而经本发明方法确定的直接关联水质指标x′是合理的。

实施例二

利用实施例一构建水质评价最优贝叶斯网络图继续评价监测水域水质等级f。

1、网络参数学习

图4是实施例二方法流程示意图。

根据已确定好的水质评价最优贝叶斯网络结构,按照极大似然估计方法(式5)统计计算出tn、nh3-n、codmn三个直接关联水质指标x′与水质等级f之间的条件概率值。

对于节点tn,tn无父节点,则它的边缘概率值为同时有p(tn=2)=0.217、p(tn=3)=0.55、p(tn=4)=0.133、p(tn=5)=0.033。

对于节点nh3-n,其父节点为tn,则条件概率为同理可求得剩余nh3-n与其他节点的条件概率值。

表4表示了网络父节点tn的边缘概率值,表5表示以tn为父节点的nh3-n的条件概率值,表6表示了以tn、nh3-n为父节点的codmn节点的条件概率值。同理可以得到tn与codmn、codmn与do、cdomn与f等之间的条件概率。

表4tn节点的条件概率表

表6codmn节点的部分条件概率表

2、预测水质等级f

例如,以tn=3、nh3-n=2、codmn=1时的水质各等级的条件概率为例,计算出此时水质等级f=1的概率为p(f=2|tn=3,nh3-n=2,codmn=1)=0.35,p(f=3|tn=3,nh3-n=2,codmn=1)=0.15,p(f=4|tn=3,nh3-n=2,codmn=1)=p(f=5|tn=3,nh3-n=2,codmn=1)=0,根据计算所得各条件概率值,将水质等级评定为i类。依次可得到在tn、nh3-n、codmn条件下,f的条件概率值见表7,从而确定水质等级。

表7水质等级f的条件概率表

验证:将12条测试集样本数据中的tn、nh3-n、codmn带入表7,就可以得到一个预测的水质等级,预测水质等级与实际水质等级对比结果见表8。

表8水质等级预测结果对比

测试数据集一共12条数据,由表8可以看出,预测等级与实际等级相符合的有10条,则预测准确度达到83.3%,效果较好,表明利用所构建水质评价最优贝叶斯网络结构图评价监测水域水质等级有效。

实施例三

利用实施例一构建水质评价最优贝叶斯网络图预测缺失水质指标xx的浓度预测值。

图5是实施例三方法流程示意图。

以高锰酸盐指标(codmn)作为缺失指标xx为例,现需要对codmn指标进行预测。根据建立的最终优化贝叶斯网络结构图(图3)知道,codmn指标对应的直接父节点为tn与nh3-n,且tn与nh3-n之间存在关联性。因而,首先确定codmn与所有直接父节点tn与nh3-n构成的最长网络接点线节点组合为tn—nh3-n—codmn,然后在知晓tn、nh3-n指标监测值情况下,将这两个指标的监测浓度值按照离散化标准进行离散(若tn=1、nh3-n=3),带入表6(codmn的条件概率表),确定五个概率值中最大为0.833,对应codmn的离散化值=1,再根据表2确定codmn的浓度范围预测值=0mg/l~2mg/l,且符合i类水等级。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1