式中,E为累积误差;W为权重矩阵;B为截距矩阵;Yi为预测水位Y的第i个分量;Yitarget为真实水位的第i个分量;η为学习速率;ΔEp(W,B)为针对第p个样本的E的偏导数。
(4) 计算全局误差,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数时结束算法,否则返回到步骤(3),进入下一轮学习。
1.3 方法使用模式
如图 3所示,本文提出的PFD&S方法具备面向传感器提供者和洪涝事件订阅者两种服务模式。传感器提供者可以通过文献[28]中的方法发布传感器及其观测数据。洪涝事件订阅者可以通过提交订阅请求的方式,过滤传感器数据并获得其中感兴趣的洪涝事件通知。首先,事件订阅者可以通过选取洪涝传感器ID和设置洪涝规则参数的方式提交洪涝事件订阅请求;其次,在接收到用户订阅请求后,SOS-SES-Feeder将主动从SOS数据库中匹配传感器ID,并将对应的观测数据传递到SES中;再次,SES依据用户订阅模型进行观测数据过滤和洪涝阶段判断,并将判断得到的洪涝事件阶段信息进一步传递到处理单元;然后,处理单元进行洪涝阶段变化检测,并根据检测结果触发相应洪涝服务;最后,洪涝服务执行对应操作,并将阶段探测结果和服务通知消息返回给事件订阅者。

图 3 面向传感器提供者和事件订阅者的服务模式时序Fig. 3 Sequence diagram of service provider and event subscriber-oriented service pattern
图选项
2 洪涝过程动态探测与准实时服务原型系统2.1 原型系统设计
本文基于第1节中的PFD&S方法开发了洪涝过程动态探测与准实时服务原型系统。原型系统设计遵循OGC传感网标准,采用B/S架构,前后端分离,由数据库层、中间服务层、业务逻辑层和用户交互层4层组成。其中,数据库层由SOS数据库、SOS-SES-Feeder数据库、SES订阅管理数据库和洪涝数据库组成;中间服务层由Apache Storm、SOS、SES、SOS-SES-Feeder和WNS组成;业务逻辑层包括洪涝事件订阅编码和注册业务、OGC传感网标准解析业务、登录逻辑判断业务、洪涝阶段服务业务以及数据接入业务等,是PFD&S原型系统的核心;用户交互层包括用户注册/登录、洪涝传感器接入管理、洪涝传感器地图展示、洪涝事件订阅、洪涝事件管理以及洪涝阶段服务6大模块。
2.2 原型系统实现
洪涝过程动态探测与准实时服务PFD&S原型系统的整体架构基于52° North(52n)公司(https://52north.org/)的开源代码实现,选择52n开源代码作为基础的主要原因在于该代码持续更新,且能够支持较多种类型的操作。原型系统客户端采用React框架,使用Ant Design 2.13.11组件实现基本设计,React-Amap 1.1.3组件实现地图功能,React-Highcharts 15.0.0丰富数据展示。原型系统服务器端采用Spring MVC和Hibernate框架,并由Apache Storm 1.0.0, 52n SOS 3.5.0, 52n SES 1.2.2, 52n SOS-SES-Feeder 1.0.0和WNS 0.1.0支持系统运行。本文使用的数据库是开源且能够支持较为强大的空间操作的PostgreSQL 9.2,采用的编码语言是Java、JavaScript、CSS和Html。
3 洪涝过程动态探测与准实时服务试验3.1 试验区域与数据
汉江全长1532 km,为长江第一大支流,汉江中下流坡度减小,水流减慢,导致洪涝灾害频率发生,损失严重。因此,如图 4所示,本文以汉江中下流的黄汉流域为研究区域,以区域内2016年夏季发生的洪涝事件为例,验证该方法可行性和有效性。试验区域中共有谷城、襄阳、钟祥、天门、孝感等5个气象站点,以及黄家港、襄阳、皇庄、沙洋、潜江、仙桃、刁汊湖、汉川等8个水位站点。气象站的监测变量为降雨量、气压、气温、地表温度、风速、蒸散发、相对湿度、日照等8个气象参数,水位站的监测变量为水位。总体试验数据时间范围为2016年1月1日至12月31日,采样频率为1次/日。为了便于试验模拟,观测数据全部重采样到1次/分,即试验中第n分的数据对应实际自2016年1月1日起第n天的数据。构建水位预测神经网络中使用的试验数据时间范围比总体试验数据长,具体时间范围为2000年1月1日至2016年12月31日,采样频率同样为1次/日。

图 4 试验区域(黄汉流域)及洪涝传感器分布Fig. 4 Experimental area (Huanghan basin) and the floodsensor distribution
图选项
3.2 洪涝事件订阅
洪涝过程探测规则和水位预测模型的参数输入及模型构建均在洪涝事件订阅模块进行,前者以汉川站水位为输入,图 5为订阅模型构建界面,用户依次输入洪涝事件诊断、准备、响应和恢复4阶段的阈值、时间窗口和出现频次等参数之后,系统将自动生成订阅模型。本次试验中采用的水位阈值W1=28、W2=29和W3=28.5,其中28 m和29 m分别为湖北省水利厅发布的汉川河道保证和警戒水位。4个阶段的时间窗口均为1 min,出现频次均为1次。

图 5 洪涝过程探测规则与准实时服务系统订阅模型参数配置界面Fig. 5 Parameter setting interface of the PFD&S prototype
图选项
图 6为水位预测模型参数配置界面,具体参数包括学习速率、最大迭代次数、最大误差,以及参与水位预测的传感器站点及观测属性等。试验中参数设置如下:初始权重为1,训练网络结构为(47,4,7,1),学习速率为0.01,最大误差为1.0×10-6,最大迭代次数为5.0×104次。水位预测试验中采用前100日上游水位站的水位数据和全流域的气象数据来预测未来2日下游汉川水位站的水位,且所有训练数据的时间范围为2000年1月1日至2015年12月31日,测试数据的时间范围为2016年1月1日至2016年12月31日。参与水位预测的有黄家港、襄阳、皇庄、沙洋、岳口、仙桃、刁汊湖等7个水文观测站和房县、谷城、钟祥、天门、孝感等5个气象观测站。水文观测站监测水位,气象观测站监测气压、气温、地表温度、风速、降水、蒸散发、相对湿度及日照等8种因子。
