郭志扬,王 建,黄 庆(1.河海大学水文水资源与水利工程科学国家重点实验室,南京210098;2. 河海大学水利水电学院,南京 210098)
大坝变形预测对于建立完整的大坝安全监测体系,保证大坝运行安全意义重大。长期以来,诸如统计模型、确定性模型和混合模型等经典数学模型广泛应用于坝体变形监测[1]。以统计模型为代表的传统方法虽然在部分程度上能正确反映大坝变形与其影响因子之间的相关关系,但考虑到影响大坝变形的因素较为复杂,而传统方法难以充分体现影响因子与效应量之间的非线性映射,因而预测精度往往不高。BP神经网络具有自适应、自学习、强大的并行运算和良好的非线性逼近能力,应用于大坝变形预测前景广阔[2]。但由于BP神经网络自身的局限性,算法效率较低且易收敛于局部极小,推广能力也相对较差,影响了预测结果的精度。为此,苏怀智等[3]提出先利用遗传算法进行全局寻优,进而搜索出一定的权值,再以此权值作为BP算法的初始权值,代入神经网络进行计算;储诚山等[4]利用具体的实例验证了遗传算法改进神经网络的合理性;姜成科[5]系统地阐述了遗传算法优化神经网络的权(阈)值理论,并用大坝位移预测的实例加以论证。
但在实际位移监测中,一定时期内,由于外界不确定因素或人为影响,可能出现个别异常数据,将此类数据代入模型计算得到的预测值精度会有所下降。为此,本文引入卡尔曼滤波方法,首先,对大坝位移观测值进行滤波处理,减少由于原始数据中异常值造成的误差,并结合遗传算法思想对神经网络权(阈)值进行寻优,进而将滤波后的数据代入改进的网络参与训练,得到了基于卡尔曼滤波的GA-BP模型。
卡尔曼滤波是基于概率论和数理统计的思想,由当前实际监测值和上一时刻的最优估计值出发,依据一步步递推公式,计算得到新一时刻的估计值。该算法的一大特点是无需贮存已使用的观测数据或估计信息。
状态方程如下[6]:
Xk=Φk,k-1Xk-1+Γk,k-1Ωk-1
(1)
式中:Xk,Xk-1分别为k时刻和k-1时刻的状态向量;Φk,k-1为k-1时刻到k时刻的状态转移矩阵;Ωk-1为k-1时刻的噪声向量;Γk,k-1为噪声矩阵。
测量方程为:
Lk=BkXk+Δk
(2)
式中:Lk是k时刻的观测向量;Bk为观测向量矩阵;Δk为观测噪声。
离散系统的随机模型如下[7,8]:
E(Ωk)=0;Cov(Ωk,Ωj)=DΩkδkj
E(Δk)=0;Cov(Δk,Δj)=DΔkδkj
(3)
Cov(Ωk,Δj)=0
式中:DΩk为动态噪声方差;DΔk为观测噪声方差;δkj为Kronecker函数。
E(X0)=μ0;Var(X0)=P0
(4)
Cov(X0,Ωk)=0;Cov(X0,Δk)=0
(5)
式中:E(X0)、Var(X0)、Cov(X0,Ωk)等统计特征量分表表示数学期望、方差和相关系数。
卡尔曼滤波依据的递推方程如下:
滤波估计矩阵:
(6)
滤波增益矩阵:
Jk=DXk,k-1BTk(BkDXk,k-1BTk+DΔk)-1
(7)
预测协方差阵:
DXk,k-1=Φk,k-1DXk,k-1ΦTk,k-1+Γk,k-1DΩk-1ΓTk,k-1
(8)
滤波协方差阵:
DXk,k=(I-JkBk)DXk,k-1
(9)
当前BP神经网络在多个领域都得到推广与应用,其基本思想是通过将输入信号正向传递与误差逆向传播相结合,实现输入到输出的非线性映射。以三层神经网络为例,其拓扑结构如图1所示。
图1 BP神经网络结构图Fig.1 Structure of the BP neural network
首先给定一组输入样本P以及目标样本T。输入样本依次经过三层网络(输入层、隐含层、输出层)处理,即正向传播过程,得到输出的预测结果。将该结果与目标样本比较,以最小化误差为依据,沿原网络路径返回,逐次修正各节点的连接权(阈)值,实现误差反向传播。当预测输出逼近目标样本满足要求时,上述迭代过程终止。由于BP神经网络算法权(阈)值初始随机给定,寻优结果易落入局部极小,因而引入遗传算法加以改进。
遗传算法具有良好的并行运算与全局寻优能力,可利用其确定网络初始权(阈)值,优化思路如下:
针对本文的三层神经网络结构,遗传编码完成后的个体可表示为X={W11,W12,…,Wij,a1,…,ai,V11,V12,…,Vmn,b1,…bj} (其中Wij、Vmn代表输入层到隐含层、隐含层到输出层权值,ai、bj代表隐含层与输出层阈值)。若干这样的个体即构成种群,种群规模需根据实际情况而定。将每个个体所包含的权值、阈值代入神经网络进行计算,比较所得到的实际输出值与期望值之间的误差,以误差平方和最小作为判定权阈值最优的依据。选择、交叉和变异等手段是基于概率思想的随机操作,搜索覆盖面大,灵活性强。重复此类遗传操作,当满足终止条件时运算结束,将得到的最优初始权(阈)值赋予网络,即实现了优化过程。
针对大坝变形观测数据量较大,且一定时期内观测值存在异常波动的情况,可首先用卡尔曼滤波方法平滑观测值,剔除掉原始数据中的随机波动误差,从而获得与真实情况较为接近的位移值[9]。此时将处理后的位移数据代入改进的神经网络参与训练,改进思路如1.2节所述,即以遗传算法实现初始权(阈)值的全局最优,从而建立起预测精度较高,基于卡尔曼滤波的GA-BP模型。
预测模型的具体步骤如下:
步骤1:根据监测位移情况,确定卡尔曼滤波的初值、参数等,对原始数据进行滤波,得到处理后的平稳位移序列;
步骤2:确定神经网络拓扑结构,即层数与各层节点数,以及训练参数等,将环境量作为输入,滤波后的位移序列作为输出目标,归一化处理后代入网络;
步骤3:对网络权(阈)值进行遗传编码,产生包含网络各层全部权(阈)值在内的遗传个体,定义适应度函数,并利用遗传算子(选择、交叉、变异)寻找最优个体;
步骤4:将上一步得到的适应度最优个体作为网络初始权(阈)值,实现神经网络的优化,得到基于卡尔曼滤波的GA-BP模型;
步骤5:选取训练数据之后一段时期的监测位移,利用该模型进行预测,对比预测结果和实际位移。
陈村水库坐落于安徽省黄山市与宣城市境内,青弋江上游,主体工程包含大坝、溢洪道、电厂等。坝体类型为混凝土重力拱坝,坝高76.3 m,顶部高程126.3 m,弧长为419.0 m,宽8.0 m。坝内设有灌浆、排水和检查廊道各一条,左右岸分别设有开敞式溢洪道。水库总库容达26.9 亿m3,正常蓄水位119.0 m,汛期限制水位为117.0 m,设计洪水位122.2 m,控制流域面积约为2 800 km2,多年平均径流量27.7亿m3,电站装机容量15万kW。是一座以发电为主,兼有灌溉、航运及旅游功能的综合性水电工程。
根据实际情况,这里采取三层BP神经网络。由于影响大坝变形的主要因素包括水位、温度和时效,因此这里的输入层因子分别取H1、H2、H3、T1~T5、t、log(t+1)(其中H为上游水位,T1~T5分别为前10 d、前11~20 d、前21~35 d、前36~50 d、前51~70 d的平均温度,t为测值日的累计天数)。以上共10个因子,故神经网络输入层节点数取为10,隐含层节点设为20,输出层为水平位移值,此时神经网络结构可表示为10-20-1。最大学习步数取2 000次,学习速率为0.05,期望目标为10-6。借助于Matlab遗传算法工具箱[11],实现对神经网络的优化过程,其中权(阈)值编码取决于网络结构,由于神经网络各层节点数分别为10、20和1,故权值个数为10×20+20×1=220,阈值个数为20+1=21,个体编码长度即为220+21=241。
图2 卡尔曼滤波数据残差图Fig.2 Residual data of Calman Filter
适应度函数定义为:
种群尺度设为50,进化代数设为100,其余参数取默认值。由此建立起优化预测模型。
分别将经由卡尔曼滤波后的数据和未经滤波处理的原始数据代入神经网络参与训练,并对所选训练数据后10天的位移进行预测,对3种模型的预测结果进行比较,结果见表1、图3。
表1 3种模型预测结果对比 mmTab.1 Comparison of prediction results of three kinds models
图3 3种模型预测结果残差对比Fig.3 Comparison of residual for prediction results of three kinds models
可见利用卡尔曼滤波法可以去除原始监测数据的随机误差干扰,将处理后的数据代入遗传算法优化的神经网络模型,可获得更接近实测值的预测结果。
本文针对原始监测数据中存在的随机波动干扰,采用卡尔曼滤波方法进行处理,进而将处理后的值代入遗传算法优化的神经网络,建立起基于卡尔曼滤波的GA-BP预测模型。通过工程实例计算表明其预测精度比常规模型有所提高,验证了模型的正确性。通过引入卡尔曼滤波的方法,有效剔除了原始监测数据中的随机误差,对于一定时期内变形监测值数据多且波动较大的情况适用性较好,有助于提高实际工作中的预测精度。
表2 3种模型预测精度对照表Tab.2 Comparison of prediction precision of three kinds models
综上所述,该模型对于大坝变形预测精度较高,是对常规神经网络预测方法的补充与发展,具有一定的工程实用价值。
□
[1] 顾冲时,吴中如.大坝与坝基安全监控理论和方法及其应用[M]. 南京:河海大学出版社,2006.
[2] 彭新民,刘明军,黄财元.人工神经网络模型应用于大坝变形观测[J].中国农村水利水电,2006,(11):99-101.
[3] 苏怀智,吴中如,温志萍,等.遗传算法在大坝安全监控神经网络预报模型建立中的应用[J].水利学报,2001,8(8):44-48.
[4] 储诚山,张宏伟,郭 军.基于遗传算法和BP神经网络的用水量预测[J].中国农村水利水电,2006,(4):36-38.
[5] 姜成科.基于遗传算法的神经网络在大坝变形预报中的应用[D]. 辽宁大连:大连理工大学,2008.
[6] 彭睿哲.卡尔曼滤波时序分析在大坝监测数据处理中的应用研究[D].西安:西安理工大学,2012.
[7] 陆付民.卡尔曼滤波法在大坝变形分析中的应用[J].勘察科学技术,2002,(1):43-45.
[8] 修延霞,侯 凯.卡尔曼滤波在大坝变形监测中的应用[J].城市勘测,2010,(1):92-94.
[9] 李捷斌,孔令杰. 基于Kalman滤波的神经网络方法在大坝变形预测中的应用[J].大地测量与地球动力学,2009,4(4):124-126.
[10] 苏观南,郑东健,孙斌斌.卡尔曼滤波灰色模型在大坝变形预测中的应用[J].水电能源科学,2014,(4):37-40.
[11] 史 峰,王小川.MATLAB神经网络30个案例分析[M].北京:北京航空航天大学出版社,2010.