基于主成分分析—支持向量机的土石坝渗流监测数据预测模型 计算机论文

李瑞光 臧国轻

摘 要: 为解决土石坝渗流监测数据的分析问题,采用基于主成分分析的支持向量机法,对某均质坝体内渗流浸润线的监测数据建立了预测模型,并针对坝体内的测压管水位进行了具体计算预测。结果表明,主成分分析法可以有效降维,并较好的综合反映坝体内测压管水位的主要影响因素;预测值与实测值的误差分析结果表明,支持向量机模型在小样本坝体监测数据分析预测方面的精度较高,该模型可为其他类似工程监测数据的分析预测提供新的方法。

关键词: 支持向量机; 坝体监测; 主成分分析; 预测模型

中图分类号:TP301.6 文献标志码:A 文章编号:1006-8228(2018)06-05-04

Prediction model of dam seepage monitoring data with principal component analysis

based support vector machine

Li Ruiguang1, Zang Guoqing2

(1. Foreign Language Teaching Department of University, Henan University, Kaifeng, Henan 475001, China; 2. Henan University)

Abstract: Adopting the principal component analysis based support vector machine method, a predictive analysis model of dam monitoring is established, and applied to dam seepage monitoring. The piezometric level in a dam is also forecasted by this model. The comparison of measured results with predicted results shows that the principal component analysis method can decrease the dimensions of measured result effectively, and better reflects major effect factors of piezometric level in dam. Error analysis of the model shows that the support vector machine method has higher forecast precision in small samples, it provides a new way of forecasting seepage monitoring of dam, and the model offers a useful reference for other similar project as well.

Key words: support vector machine; dam monitoring; principal component analysis; predictive model

0 引言

中国水库的建设数量在所有国家中位居前列,这些工程建成之后对水库和坝体进行有效的运行管理和安全监测显得尤为重要。在这一环节,对坝体安全监测数据的处理和预报是一个非常重要的研究领域,也是近年来飞速发展的科研方向[1]。

对于土石坝来说,坝体渗流的监测是关系坝体安全极其重要的内容,本文以某土石坝的渗流监测为切入点,尝试将有限的监测资料与数学方法结合,建立影响渗流的变量之间的内在关系,并将其应用在坝体渗流监测的预测预报方面。目前国内外对坝体监测数据的分析与预报研究,采取了很多种数学模型与方法,也针对不同的模型开发了相应的软件系统[2]。较为传统的监控分析模型和系统基本都是以单点的统计模型、确定模型和混合模型,或者多点的分布模型为基础进行分析预报,近年来BP神经网络、投影寻踪(Projection Pursuit Regression,PPR)和支持向量机(Support Vector Machine,SVM)等方法也逐渐涌现[3-4],并已开始应用于坝体变形、渗流模拟预测等方面。以法国和意大利的监测信息系统为例,比较知名的有PANDA和DAMSAFE系统,其共同特点都是采用internet/intranet通讯,并对监测数据进行专家级别的分层管理和控制,但这些传统的统计学模型受到建模假设的限制过多,模型中描述因子过少。上世纪九十年代以来,BP神经网络[5]和投影寻踪回归等新的数据分析模型开始被坝体监测数据分析所应用,这主要是由于模糊神经网絡和支持向量机等方法具有很好的自适应性和容错性,并能将高维数据样本空间进行降维,通过提取数据信息主要元素的手段对坝体的监测数据进行仿真、分析和预测。当然,这些方法也存在易陷入局部最优解、数据训练对使用者的依赖性较强等缺点,但这些不足并不妨碍神经网络成为经验风险最小化的方法,尤其是数据泛化能力更强的支持向量机方法[6-8],将其用于水利工程中坝体的监测数据分析与预测中,具有非常好的应用前景。

实际工程中土石坝渗流的监测主要通过测压管水位来直观体现,本文试图通过主成分分析法(Principal Component Analysis,PCA)建立支持向量机的预测模型,通过学习训练掌握坝体监测数据的内在规律,为实际中受监测条件限制的数据分析研究预测提供数据预估以弥补数据信息的不足,并可根据已建成模型对工程决策以及风险控制的合理性提供参考。

1 基于主成分分析的支持向量机模型原理

支持向量機模型是在统计学习理论(Statistical learning theory)的基础上发展起来的一种分析回归方法,其主要目标是研究如何在小样本的情形下建立机器学习规律[9],因为这些情况下经常涉及到多维数据,而数据处理预测中从低维空间到高维空间的非线性映射是比较困难的,基于主成分分析方法的支持向量机模型可以解决这种维数灾难。

1.1 主成分分析法

主成分分析法是一种数学变换方法,它主要通过将原有的多维样本中的多个指标进行重新组合,形成新的少数几个综合指标的低维样本,这些新的指标按照方差依次递减的顺序排列,采取的方法主要是数学线性变换。一般将新生成的指标称为主成分,每个主成分都是原有指标的线性组合。这些主成分之间互不相关,并尽可能多包含原有指标的有效信息,如此就可以只考虑几个主成分,同时不会损失太多原有数据的信息[10]。

假设有n个样本数据,每个样本有p个指标变量,这样就构成了一个n×p阶的数据矩阵:

将每一列(即每一个原始指标)看作一个原始变量,新的变量由这些原始变量作线性组合来得到。将每个原始指标记作X1,X2,…,Xp,新的变量指标记作Z1,Z2,…,Zp,则有:

其中,要求,且系数由以下两个原则来决定:①Zi与Zj(i≠j;i,j=1,2,…,p)不相关;②Z1是X1,X2,…,Xp的一切线性组合中方差最大者;Z2是与Z1不相关的X1,X2,…,Xp的一切线性组合中方差最大者;……;Zm是与Z1,Z2,…,Zm都不相关的X1,X2,…,Xp的一切线性组合中方差最大者。这样得出的新变量指标Z1,Z2,…,Zm分别称为原变量指标X1,X2,…,Xp的第一、第二、……、第m个主成分,其中,Z1在总方差中占的比例最大,其余主成分的方差依次递减。

1.2 支持向量机模型

考虑一个线性回归问题,给定训练集{(x1,y1),…,(xi,yi),i=1,2,…,n},其中xi为输入变量,yi为预测值,n为样本数。假设有回归函数f(x)=(ω·x)+b,支持向量机通过求解在一定约束条件下的最小化泛函,结合拉格朗日函数,构造出如下最优问题:

其中,C为惩罚因子,α,α*为拉格朗日乘子,ε为不敏感损失系数。由上述优化问题,就可以求出α,α*,可以得到支持向量机模型为:

其中k核函数(kernel function),其作用主要是将高维数据与低维数据建立非线性映射,从而解决非线性回归问题,并成功地克服了样本数据线性不可分这个困难,它通过将样本数据映射到高维特征空间后变为线性可分,从而简化在低维特征空间的非线性问题。在高维特征空间内,核函数K用于计算内积:

常见的核函数k可以是多项式也可以是径向基核函数(RBF):

还可以是sigmoid核函数:

为保证模型的可靠性以及说服性,应将监测数据划分为测试集(用于模型效果测试)和训练集(用于建模数据训练)。一般而言,模型设计与检验应重复多次,例如有N个样本,可以随机分为m份,利用其中m-1份当作训练集进行预测模型设计,剩下的1份作为测试集,并进行相应的误差计算。之后将测试集放回原样本中,取出另外一份当作测试集,其余用作训练集,如此反复,计算平均预测误差,并将其作为评价数据预测效果的依据,不断调整优化模型参数,直到产生最优模型。

2 某均质土坝渗流监测模型的建立

对于具有反滤坝址的均质土坝,为了监测其浸润线的位置,监测断面一般取坝体横断面,之后在上游坝肩和反滤坝址上游各布置一根测压管,中间根据具体情况布置一根或数根测压管[11]。本论文中研究的坝体为中小型均质坝,故选取了两个横断面,每个横断面布设了三根测压管。

根据其监测结果,发现在土坝中预埋的测压管水位与以下因素有关:前一天库水位H1(考虑滞后性)、降雨量Q、下游水位H2和干滩段距离L。从理论上来说,有多少的原始变量就可以提取多少个主成分,但为了降低样本数据的维数,只需要提取出包含85%以上信息的前2~3 个主成分进行分析就足以满足精度要求,其余的可以忽略不计。

前期监测数据样本共有160组,每组样本数据对应4个原始变量,数据矩阵M为160×4,根据选择的基础样本原始数据,首先对其进行标准化处理,以消除统计误差和量纲差异的影响。本研究应用SPSS软件对样本进行分析计算,标准化后的相关系数矩阵如表1所示。其中,X1、X2、X3、X4分别表示经标准化处理后的前一天库水位H1(考虑滞后性)、降雨量Q、下游水位H2和干滩段距离L。一般来说相关系数值如果大于0.3,就说明数据间存在相关性,适合进行主成分分析对数据进行处理。

将由主成分分析提取的2个主成分因子与所对应的测压管水位组成160×3的矩阵A,对数据矩阵在[0,1]进行归一化处理,减小因数值差异对模型的干扰,提高数据矩阵的整体性。之后划分测试集和训练集,为了保证模型的可靠性及说服性,将160组样本数据随机抽取120组作为训练集进行模型训练,余下40组作为测试集进行效果测试。本研究将几种常见核函数代入模型后发现径向基核函数(7式)解决非线性问题时具有极强的优势,更适合坝体监测数据分析情况,故选择RBF为核函数。选择使用LIBSVM软件包进行支持向量机模型预测,并用交叉验证法搜索寻找最优参数,其惩罚因子C为9.273。

3 某均质土坝渗流浸润线预测实例

结合主成分分析法进行支持向量机建模,运用模型对测压管水位进行预测后,采用包含40组数据的测试集进行验证,预测效果如图1所示。

从图1中可以看出,除极少部分預测值稍有起伏之外,其余预测值的精度均较高,且与实测值吻合良好,误差基本在1%以内。为了检验模型的学习效果,还可以计算训练集与测试集的均方根误差RMSE与相关系数R。本实例中训练集与测试集的均方根误差RMSE分别为4.15×10-4和5.86×10-4,训练集与测试集的相关系数R分别为0.996和0.991。由此可见,此模型对随机抽取的40个样本数据预测效果很好,因此可用此训练模型进行测压管水位的预测。

4 结论

本文基于主成分分析法的支持向量机模型,建立某均质坝渗流测压管水位的预测模型,通过与实测值进行对比,得出以下结论。

⑴ 使用主成分分析法可以更加综合全面的对影响测压管水位的因素进行描述,同时降低数据维度,提高模型预测计算的速度,尤其能提高支持向量机的学习效率。

⑵ 基于160组的样本数据,随机挑选120组作为训练集进行支持向量机的模型训练,剩余40组用作测试集检验模型学习效果,通过与实测值进行对比,结果表明二者吻合程度很高,误差很小,其均方根误差数量级非常小,相关系数接近于1,足以说明此预测模型的精确性和可靠性。

⑶ 通过对工程实例成功地进行计算预测,说明通过主成分分析法选取的主成分能够比较全面的反映坝体内测压管水位的变化特征,而支持向量机模型则较好的解决了样本数据有限的预测问题。它们的联合运用,可以为今后类似水利工程坝体监测数据的分析预测提供参考依据,具有良好的应用前景。

本论文中的预测模型是基于最常用的算法和核函数的选取而得出的,因此今后还应该在算法的优化,以及更合理的核函数选取方面进行更深入的研究。

参考文献(References):

[1] 郦能惠.土石坝安全监测分析评价预报系统[M].中国水利水

电出版社,2003.

[2] 吴中如.水工建筑物安全监控理论及其应用[M].高等教育出

版社,2003.

[3] 赵振宇,徐用懋.模糊理论和神经网络的基础与应用[M].清华

大学出版社,1996.

[4] 张栋,蔡开元.基于遗传算法的神经网络两阶段学习方案[J].

系统仿真学报,2003.15(8):1089-1090

[5] 吴建华,魏茹生,赵海生等.神经网络模型下的土石坝安全监

测仿真研究[J].系统仿真学报,2008.20(4):1052-1059

[6] 杜树新,吴铁军.模式识别中的支持向量机方法[J].浙江大学

学报:工学版,2003.37(5):403-409

[7] 王磊.基于主成分分析的支持向量机回归预测模型[J].信息

技术,2008.12:58-59

[8] 常中华,张二勇,柴建峰等.应用主成分分析法研究渗透介质的

渗透稳定问题[J].水文地质工程地质,2004.31(5):15-20

[9] 丁世飞,齐丙娟,谭红艳.支持向量机理论与算法研究综述[J].

电子科技大学学报,2011.40(1):2-10

[10] 虞鸿.基于主成分的大坝观测数据多效应量的统计分析研

究[J].中国科学:技术科学,2010.40(7):830-839

[11] 梁国钱,郑敏生,孙伯永等.土石坝渗流观测资料分析模型

及方法[J].水利学报,2003.2:83-87

分享: