APP下载

基于PG-BP 神经网络的流域洪涝预测及仿真

2021-05-25韩卓慧闫长青

软件导刊 2021年5期
关键词:大沽洪水可视化

韩卓慧,闫长青

(1.山东科技大学计算机科学与工程学院,山东青岛 266590;2.山东科技大学智能装备学院,山东泰安 271019)

0 引言

我国洪涝灾害频发,其破坏程度极其严重,因洪涝灾害造成的损失不计其数。因此,对洪涝灾害进行预测及模拟仿真非常必要。河流水位数据是分析洪水淹没范围的重要数据,精准的水位预测可以为洪水淹没范围模拟提供可靠的参考信息。在大数据时代,利用数据驱动模型对已有数据进行分析进而预测下一阶段的数据成为研究热点。其中,BP 神经网络是一种灵活的数据驱动模型,可以应对各类非线性问题并达到理想精度。已经有众多专家学者使用BP 神经网络对不同领域进行预测研究[1-2]。Xiao 等[3]提出结合Purelin、Logsig 和Tansig 激活函数的BP 神经网络方法以预测水产养殖中的溶解氧,并与常见的预测模型CF、AR、GM、SVM 作比较,实验结果表明神经网络预测精度最高,并且所有预测值小于误差极限的5%,可以满足实际应用需求;He 等[4]提出一种集合经验模态分解(EEMD)和BP 神经网络的建模方法,用于预测南海的月平均海平面,实验结果表明,与直接使用BP 相比较,结合EEMD 海平面建模方法的精度更高;Li 等[5]提出基于人工蜂群(ABC)优化算法的BP 神经网络预测模型,以准确预测西北过度开发干旱地区的地下水位,实验表明ABC-BP 模型的拟合精度、收敛速度和稳定性均优于粒子群优化(PSO-BP)、遗传算法(GA-BP)和BP 模型,从而证明了ABC-BP 模型可以成为预测地下水位的新方法。由以上可知,在数据预测领域,BP 神经网络虽然有着非常广泛的应用,但是单一的BP神经网络预测模型仍然存在局限性[6]。若使用单一的BP神经网络进行预测,不仅会使预测模型的网络规模和运算时间增加,导致收敛性能及泛化能力大大降低[7],还会因为输入层变量之间可能存在的相关性,导致输入信息重叠,模型准确率降低。因此,本文提出一种PG-BP 神经网络预测模型用于预测研究区域的河流水位。

主成分分析法(Principal Component Analysis,PCA)是一种多元统计方法,它将一组相关变量通过正交变换转化为一组正交且不相关的变量,转化后的这组变量叫作主成分[8](Principal Component,PC)。其目标是从数据集中提取最重要的信息,通过减少维数来压缩数据集的大小,同时保证不会丢失太多信息,因此在各类指标评价中常用PCA筛选最能够概括全局信息的指标[9-10]。Xu 等[11]使用主成分分析消除了评价指标之间的相互影响,然后采用偏最小二乘法(PLS)建立了SBS 改性沥青老化行为预测模型,并且用实验证明了该模型预测的准确性;Wang 等[12]提出一种基于主成分分析(PIMRO-ARFTCN)的自适应接收场时域卷积网络的预测模型,并且用实验数据证明与其他方法相比,该方法在时间序列建模中具有更好的预测性能;张成君等[13]使用主成分分析法消除了影响土壤肥力因素之间的相关性,并且得到了优选的影响因子,从而提高了综合评价结果的准确性。以上研究表明,主成分分析法能够使用少数几个主成分较好地表征样本信息,不仅减少了网络规模,而且去除了变量之间的相关性,非常符合BP 神经网络特征优化的要求。遗传算法[14](Genetic Algorithm,GA)通过模拟生物的遗传机制和进化过程自适应地进行全局最优解搜索,其在并行性、鲁棒性和全局性等方面均有良好表现,通过将遗传算法引入BP 神经网络,不仅显著降低了陷入局部最优解的风险,还实现了网络初始权阈值优化,最终进一步提高了网络的稳定性[15]。

大沽河流域降水量丰沛,主要集中在汛期,有产生洪涝灾害的可能性[16],因此有必要对大沽河流域进行洪水水位预测并实现洪水淹没仿真模拟。因此,本文以山东省青岛市大沽河流域为研究区域,利用计算机和虚拟现实等技术实现对大沽河流域的高真实感三维地形可视化;根据基于PG-BP 神经网络的水位预测模型预测下一年汛期(6-9月)的河流水位,在给定水位的条件下,开展基于GIS 的洪水淹没模拟研究,在地形模型上直观地显示出洪水的淹没范围和受灾地区,为研究区域的洪水灾害风险评价提供更好的依据,为防洪减灾提供强有力的支撑。

1 研究区域概况

大沽河流域位于山东半岛西部,约在东经120°03′~120°25′,北纬36°10′~37°12′之间,干流全长179.9km,总流域面积为6 131.3km2,其中青岛市境内面积为4 781.01km2,是山东半岛最大的河流[16]。大沽河流域走向大致与干流走向相同。大沽河流域汛期降雨量较为丰沛,暴雨多出现在流域北部山丘区,而山丘区植被覆盖率较低,水土流失较严重,会导致洪水下泄,占满河槽,使下游平原因排水困难产生内涝[17]。因此,精准预测河流水位变化,高效快速地进行洪水仿真模拟,能够有效支持防洪决策,减少损失。

2 大沽河流域提取

2.1 数据来源

数字高程模型(DEM)是地形表面形态的数字化表达。它是一组有序数值的集合,其中包含了空间位置特征和地形属性特征的信息。数字高程模型主要有3 种形式:栅格型、矢量型和不规则三角网。本文采用栅格型30m*30m 的DEM,研究区域的高程数据从地理空间数据云中获取。轮廓图来源于国家基础地理信息系统。

2.2 数据预处理

由于在地理空间数据云中下载的高程数据不是连续的,不能直接使用,需要对它们进行预处理,如裁剪、镶嵌、填洼等操作。

在ArcGIS 中对高程数据进行镶嵌,使分块的DEM 数据拼接起来,然后根据研究区域轮廓图对镶嵌得到的DEM数据进行裁剪,就能够获取研究区域的高程数据。

对DEM 进行填洼。洼地的形成有两种情况,一种是真实地理情况,如盆地、湖泊、喀斯特地貌等,还有一种是人为因素造成的地形误差[18]。这种人为因素造成的误差由采集地形信息的工作人员在采集数据时因选取精度问题而产生[19]。因此,在使用ArcGIS 软件对DEM 数据进行水文分析时,会因为一些异常数据产生错误的分析结果,流域在进行水文分析之前,必须剔除这些异常数据,这些异常数据也被称为伪洼地。填洼前和填洼后对比如图1 所示(彩图扫OSID 码可见)。

2.3 流域水文分析

2.3.1 流向分析

本文采用D8 单流向算法进行流向分析。D8 算法是假定雨水降落在地形中某一个格子上,该格子的水将会流向周围8 个格子地形最低的格子中。如果多个像元格子的最大下降方向都相同,则会扩大相邻像元范围,直到找到最陡下降方向为止。流向分析结果如图2(a)所示。

Fig.1 Comparison before and after filling图1 填洼前后对比

2.3.2 流量统计

流量统计的实际意义在于在一定流量值时会产生地表径流,在径流达到一定数值时成为常规河流。因此,在进行流量统计后,必须对统计的栅格数据进行重分类和筛选。流量统计结果如图2(b)所示。

Fig.2 Flow direction and flow accumulation图2 流向与流量统计结果

2.3.3 河流水系生成与流域划分

通过示范区建设,加强农业基础设施,改善农民的生产、生活条件,扩大农机化服务功能,提高了科技对农业的贡献率,并通过技术培训,使农民的科技文化素质得到提高。

河流主要根据水流累积量大小判定,水流累积量越小,河流划分越细,流域划分结果如图3(a)所示。流域提取是根据河流的流向和出水口共同确定的空间范围,流域提取结果如图3(b)所示。图3(c)是最终提取出的大沽河流域。

Fig.3 Formation of river system and division of river basin图3 河流水系生成与流域划分

3 水位预测模型

3.1 灰色关联度分析

关联度指两个系统之间的因素随时间或者不同对象的变化而产生变化的关联性大小的度量。在系统发展过程中,若两个因素的变化趋势一致,代表二者之间关联程度较高;反之,则较低。因此,灰色关联分析方法是根据因素之间发展趋势的相似或相异程度作为衡量因素间关联程度的一种方法[20-21]。

3.2 主成分分析原理

假设X1,X2,…,Xn为n个随机变量,记X=(X1X2…Xn)T。设取自X的一个容量为m的简单随机样本xi(i=1,2,…,m),S为xi的样本协方差矩阵,其特征值及相应的单位正交向量为λ1≥λ2≥… ≥λn≥0 和e1,e2,…,en,则第i个样本主成分为:

式中,x=(x1x2…xn)T,T为X的任一观测值,ei=(ei1ei2…ein)T。当依次代入X 的m个观测值时,便得到第i个样本主成分的m个观测值Yki(k=1,2,…,m),并称为第i个主成分的得分。第i个特征值与各特征值之和的比值称为第i个样本主成分的贡献率,选取前p个样本主成分,使其累计贡献率达到一定要求(如80%以上),并以前p个样本主成分的得分代替原始数据作分析[6,22]。

3.3 遗传算法优化BP 神经网络算法

本文选用GA 优化BP 神经网络是想利用GA 的寻优操作得到最优初始值,用染色体表达其初始值,将所期望样本数据的范数当作输出量,进一步得到所需的适应度值,经过算法的一系列运算得到所需最优解,也即算法最开始的初始值[23]。寻优后的BP 神经网络能够更加准确地预测所期望的函数值。目前,大部分非线性问题选用单层隐含层结构的BP 模型就能够很好地得到解决,因此本文采用三层BP 神经网络模型加以分析。

3.4 PG-BP 神经网络水位预测模型

本文首先使用灰色关联度分析确定影响水位变化的主要因素,然后对这些影响因素进行主成分分析,通过线性组合构造综合因子,分别计算各综合因子的贡献率,并以累计贡献率达到一定数值的前m 个综合因子为输入变量导入GA-BP 神经网络模型。为了综合考量实验模型的效果,本文使用均方根误差(RMSE)及预报准确率(FA)进行分析[24]。式中,y(pred)表示预测值,y(raw)表示实际值。

3.5 研究区域水位预测

3.5.1 大沽河水位变化及其影响因素

根据河流水位动态分析,初步选取影响河流水位的影响因子月降雨量(x1/mm)、月蒸发量(x2/mm)、月平均气温(x3/°C)、月出水量(x4/万m3)、月进水量(x5/万m3)五类。由于汛期暴雨大多出现在大沽河流域上游,选取2000-2019年大沽河上游河段产芝水文站的统计数据为样本,使用MATLAB 对样本数据进行灰色关联分析,得到大沽河水位与其影响因素的关联度如表1 所示。取阈值为0.7,即排除关联度小于0.7 的影响因素,最终确定的影响因素为:月降雨量、月蒸发量、月出水量、月进水量。

Table 1 Correlation degree between river water level and influencing factors表1 河流水位与各影响因素关联度

根据灰色关联分析确定的影响大沽河水位变化的优选指标进行主成分分析,进一步优化选定指标,确定输入指标。主成分分析结果如表2 所示。由表2 可知,前3 个主成分的累计贡献率达到80%以上,根据主成分分析原理,前3 个主成分(Y1,Y2,Y3)基本能够代表原始数据的所有信息。

Table 2 Results of principal component analysis表2 主成分分析结果

3.5.3 水位预测

本文以3 个主成分(Y1,Y2,Y3)为GA-BP 神经网络模型输入层的输入变量,以汛期的月平均水位为输出变量(T),构建了PG-BP 神经网络模型。为检验PG-BP 神经网络模型性能,分别建立BP、PCA-BP 的神经网络预测模型进行对比。PG-BP 模型与PCA-BP 模型的参数选取一致,结构为(3,8,1),学习率为0.05,最大训练次数为100,目标误差为0.001。其中,PG-BP 中交叉率为0.6,变异率为0.1,迭代次数为100,种群规模为60。以月降雨量、月蒸发量、月出水量、月进水量为传统的BP 神经网络输入层数据,模型结构为(4,8,1),学习率为0.05,最大训练次数为100,目标误差为0.001。选取2010-2018 年汛期(6-9 月)的水文数据为训练数据,2019 年汛期的月平均水位为输出数据,预测结果如表3 所示。

Table 3 Prediction results of neural network model表3 神经网络模型预测结果

2019 年汛期的河流水位预测结果如表4 所示,可以看出PG-BP 神经网络预测模型的均方根误差为0.15,远低于单一的BP 神经网络预测模型,略低于PCA-BP 模型;PGBP 模型的预报准确率高达99.8%,均高于其它两个模型的预报准确率。实验结果表明,PG-BP 神经网络模型拟合精度较高,效果较好。

Table 4 Comparison of prediction results表4 预测效果对比

4 洪水淹没模拟

4.1 可视化相关技术

地形可视化涉及复杂的空间异构数据,主要用到以下几种软件工具。ArcGIS(https://developers.arcgis.com/)是ESRI 公司研发的地理信息编辑和管理软件。本文利用该软件对空间数据进行镶嵌、裁剪、统一坐标系等操作。Da⁃ta Explorer(https://www.opengeosys.org/)是德国赫姆霍兹环境研究中心所研发的地理信息显示框架,支持多种格式的数据导入和导出,本文利用该软件进行可视化建模和数据集成。ParaView(https://www.paraview.org/)是由桑迪亚国家实验室、Kitware 公司和洛斯阿拉莫斯国家实验室共同开发的一个开源的多平台数据分析和可视化应用程序。本文使用该软件进行格式转化,将普及性较低的多边形数据文件vtp 格式转化为Unity3D 能够识别的通用三维表达的fbx 格式文件。MiddleVR(https://www.middlevr.com/home/)是一个沉浸式虚拟现实插件,其为Unity3D 提供三维场景中自动虚拟现实集成、身临其境的导航、多人协作等功能。本文通过MiddleVR 为虚拟场景添加多种导航功能,使浏览更加便捷。Unity3D(http://unity3d.com/)是由Unity Tech⁃nologies 开发的一个全面整合的专业游戏引擎,由于它强大的虚拟仿真功能,本文利用Unity3D 进行洪涝灾害仿真模拟。

4.2 研究区域三维地形可视化

4.2.1 数据获取与处理

研究区域轮廓图在国家基础地理信息系统中下载获得,高程数据源于地理空间数据云,遥感影像数据从BIGE⁃MAP 地图下载器中下载。为使三维地形具有高真实感,下载的高程数据分辨率为30*30m,遥感影像数据的分辨率为1.92*1.92m。由于下载的高程数据和遥感影像不是连续的,因此需要在ArcGIS 中进行镶嵌,将分块的DEM 和影像数据拼接起来,然后根据研究区域轮廓图对DEM 数据和遥感影像进行裁剪、统一坐标系等处理。

4.2.2 异构数据集成

本文通过DataExplorer 软件对数据进行集成。导入研究区域的轮廓图,利用软件的Mesh Generation 工具生成该区域的不规则三角网格,在此基础上导入DEM 数据生成地形网格模型,最后导出为vtp 格式的文件。在该过程中需要注意研究区域的轮廓图和DEM 数据的坐标系必须一致,否则会出错。

4.2.3 三维地形可视化

使用ParaView 软件进行数据格式转换,准备工作是下载一个名为“VtkFbxConverter”的插件,它可以将文件的格式从vtk 转换为fbx;然后将fbx 格式的地形网格模型导入Unity3D 中,并将对应的卫星影像设置到对应的网格模型上,生成高真实感三维地形。根据提取出的大沽河流域轮廓,将它及附近区域分为9 块,并在此基础上提升不规则三角网的密度,实现大沽河流域高真实感三维地形可视化。图4 为其中一块区域的三维地形可视化流程。

Fig.4 3D terrain visualization process图4 三维地形可视化流程

4.3 洪水淹没范围

洪水淹没是一个非常复杂的动态变化过程。洪水淹没的本质是水源区和被淹没区域存在水位差,且它们之间是连通的,因而会有一个淹没过程。洪水的淹没范围是指当水位达到一个平衡状态时水流所经过的区域。本文主要研究在预测水位条件下的洪水淹没范围。

在给定水位的条件下,计算洪水的淹没范围,主要有两种情况[25]。一种是将所有高程值低于该水位值的栅格记入淹没范围,虽然这种“水平面”近似方法没有考虑到地域的连通性,但是可以高效快速地计算出近似淹没范围,在防洪抗灾工作中具有重要意义;另一种是在第一种情况的基础上,考虑到地域连通,洪水从源点沿着地表流动,当水位达到平衡状态时,洪水所经过的地区被记为淹没区,也即存在低于洪水水位的低洼地区由于地形原因而不会被淹没。根据PG-BP 神经网络的水位预测模型预测出河流水位,若预测的汛期水位高于河流的堤防,则采用“水平面”近似方法在集水区的范围内进行洪水淹没模拟。

当河流水位预测结果为50m 时,即将大沽河流域范围内高程值低于该水位值的区域都记入淹没区。大沽河流域范围内淹没情况如图5(a)所示,提取出的淹没范围如图5(b)所示。同理,当河流水位预测结果为70m 时,大沽河流域范围内淹没情况如图5(c)所示,提取出的淹没范围如图5(d)所示。

4.4 洪水淹没可视化

在实现研究区域可视化的基础上,将洪水的淹没范围添加到三维地形上,实现洪水淹没可视化。图6 分别是水位为50m 和70m 时洪水淹没的可视化仿真模拟。

Fig.5 Flood submergence range under different water levels图5 不同水位下的洪水淹没范围

Fig.6 Flooding simulation图6 洪水淹没模拟

5 结语

本文提出结合主成分分析和神经网络的PG-BP 的河流水位预测模型,对大沽河流域的汛期水位进行研究,并在此基础上借助GIS、Unity 等技术实现了大沽河流域洪水淹没的三维可视化。水位预测模型的实验结果表明,引入主成分分析的GA-BP 神经网络预测模型准确度达99.8%,该模型拟合精度较高、效果较好,具有一定适用性。并且,洪水淹没的可视化模拟能够清楚地显示出受灾范围,可为防洪决策提供有力支撑。但研究中也存在一些不足:①本文建立的PG-BP 神经网络水位预测模型在选取影响水位因子时带有一定主观性,会对预测结果产生影响,其选取依据和方法还需作深入研究;②在给定水位的情况下,洪水淹没区的确定没有考虑到地域的连通性,有些低洼地区由于受到周围地形的影响而不会被淹没,因此要对淹没范围作进一步分析。

猜你喜欢

大沽洪水可视化
基于CiteSpace的足三里穴研究可视化分析
大沽河
基于Power BI的油田注水运行动态分析与可视化展示
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
洪水时遇到电线低垂或折断该怎么办
大沽河
又见洪水(外二首)
洪水来了
论设计洪水计算