灰色系统在地下水污染预警系统中的应用

2010-06-13 01:14郑海燕曾德熹
科技传播 2010年3期
关键词:预警系统调用灰色

郑海燕 ,肖 羽 ,曾德熹

1.长江水利委员会水文局上游局,四川宜宾 644007

2.深圳富晋天维信息通讯技术有限公司,广东深圳 518010

0 引言

地下水系统作为自然环境的组成部分,其水质特征是系统本体与系统环境综合作用的结果。在水质预测过程中,往往只掌握地下水的水质特征值,却很难搞清系统内部的发展演化过程以及外部诸因素对系统的作用。即系统的输出信息明确,而结构信息和关系信息不明确。所以,地下水系统属于灰色系统把灰色模型用于地下水水质预测,无疑能够体现地下水系统的灰色特征。

灰色系统按照预测问题的特征,可分为5种基本类型,即数列预测、灾变预测、季节灾变预测、拓扑预测和系统综合预测。这5种类型的预测方法,都是地理学中重要而且常用的预测方法。GM(1,1)模型是常用的一种灰色模型,用于单个时间序列的动态预测。就是对某一指标的发展变化情况所作的预测,其预测的结果是该指标在未来各个时刻的具体数值。

1 灰色模型建模与方法

1.1 原理与建模

灰色模型以微分方程为描述形式,它所揭示的是事物发展的连续过程,它符合地下水质量的渐变规律。模型的建立过程即是对地下水系统的辨识过程,运用确知的水质数据去揭示系统的动态特征,但由于其它信息的不明确,因而这个过程是灰色的逆运算过程。地下水水质预测模型就是基于最基本的灰色GM(n,h)模型[3]建立起来的。其中h表示变量的个数,n表示微分方程的阶次,n越大则模型所描述的内涵可能越丰富,但阶次过高的系统其特征方程的求解困难,而且精度不一定高,其结果也不是解析的,所以我们通常建立n=1的GM模型。

由于地下水系统的结构信息和关系信息不明确,因此建模时只需要考证水质特征值的动态变化规律,即变量唯一,h=1,那么所需建立的模型就是GM(1,1)模型,其一般表示形式如下所示:

式中:a为模型系数;u为待辨识参数。

GM(1,1)模型的建模和预测:

1)数据处理。将原始数据列X(0)(i)作一次累加,得到生成数据列X(1)(k),

2)构成数据矩阵B与数据列Yn:

式中:n为监测数据个数。

3)计算模型系数a和待辨识参数u,

[a,u]T=(BTB)-1BTYn

4)建立时间响应模型:

5)将时间响应离散化:

6)将K值代入离散化模型公式,计算出X(1)(k)

7)将预测累加值 X(1)(k) k∈{n+1,n+2,…}还原为预测值X(0)(k) k∈{n+1,n+2,…}。

1.2 精度检测

1)平均精度检验

将计算出的与实测值X(0)(k)对照,算出逐对残差:

然后计算出平均相对误差如果平均精度符合实际要求,即可进行预测。2)后验差检验

为了判断预测值的可靠性,采用后验差进行检验,计算出实测标准差(S1)和残参标准差(S2)。

计算后验差比值C,及小误差概率P。

然后就可以根据数据表进行预测精度检验了,本系统因为运用于实际,

所以就只用了前一种检测方法,根据所给数据,结果完全符合要求。

2 模型实现与运用

本研究是实现“地下水污染预警系统”之预测模块,拟采用与整个系统其他开发人员分工合作,相互配合的软件开发方式。以Visual C++ 6.0 Windows应用程序开发工具作为开发平台,利用动态链接库技术,实现GM(1,1)预测模型编程,在深入研究ArcView二次开发语言Avenue调用外部动态链接库的方法的基础上,开发出能提供给系统方便调用接口的动态链接库。在Windows中,应用程序通过一种称为“动态链接库”(Dynamic-Link Library,简称DLL)的特殊函数集来实现代码和资源的共享,以最大限度地节约空间。在Windows下使用动态链接库可以使多个应用程序之间共享代码和资源,从而提高运行效率。

2.1 Avenue下DLL的使用

Avenue能够直接地调用DLL中的函数,并且可以相互的传递数据。在Avenue中的DLL和DLLProc类提供了支持DLL载入和调用的函数。

在调用DLL中的对象之前需要先创建一个DLL类的实例,当你想调用时再为每个函数、进程创建一个DLLProc 实例。当一个DLL对象被创建,这个DLL就被载入内存然后被使用。当这个对象被撤销时,它将自动地释放内存。

调用DLL中的函数可能需要传递一些参数,可能还会返回值。输入、输出变量在你创建DLLProc实例时创建。ArcView支持多种类型的参数,更多了解请阅读DLLProc类的详解。创建和执行一个DLL函数需要4步:

1)首先必须有一个系统所需要的DLL;

2)装载DLL并且构造它;

3)用DLLProc 类分别为每一个函数在你向调用的DLL中,但是你必须要注意输入输出变量的类型;

4)用DLLProc 调用你需要的DLL函数,传入相关的参数,是否任何函数返回的参数都能够存储在Avenue变量中。

2.2 Modeling DLL 的设计与实现

整个模块设计流程图(见图1):

图1 程序设计流程图

3 实例应用

以焦作市地下水污染预警系统中的地下水质的各方面预测例说明灰色系统的应用。

从上表可以看出决定地下水水质的因子很多,我们可以对每个因子分别进行预测其未来变化情况;也可以综合打分之后,直接对整体水质进行预测,二者均可。

地下水水质变化正好吻合GM(1,1)模型,符合地下水系统的灰色特征,模型适用性好,预测结果与环境状况吻合。

图2 预测模型在ArcView下的应用实现

4 结论

在详细地知道了地下水的水质变化规律和GM(1,1)的预测机理,并对焦作市地下水污染预警系统采用本系统对地下水水质进行预测,符合地下水系统的灰色特征,模型适用性好,预测结果与环境状况吻合。

图3 对金箭公司井中PH值的预测结果

[1]杨位钦,顾岚.时间序列分析与动态数据建模[M].北京:北京理工大学出版社,1988.

[2]朱东海,任爱珠,江见鲸.ArcView应用开发中动态链接库方法研究[J].计算机工程,2000,26(9).

[3]张兴和,等.灰色系统理论在地下水水质预报中的应用[J].长春地质学院学报,1988(2).

猜你喜欢
预警系统调用灰色
民用飞机机载跑道入侵预警系统仿真验证
浅灰色的小猪
一种基于CNN迁移学习的井下烟、火智能感知预警系统
核电项目物项调用管理的应用研究
基于ZigBee与GPRS的输电杆塔倾斜监测预警系统
LabWindows/CVI下基于ActiveX技术的Excel调用
桥、隧安全防范声光预警系统
灰色时代
她、它的灰色时髦观
基于系统调用的恶意软件检测技术研究