黄梦婧 杨海浪
摘要:大坝监控过程中,大坝变形的实测值是一个非线性且非平稳的时间序列,支持向量机(SVM)适用于解决小样本、非线性问题,在SVM算法的基础上建立了改进的大坝变形监控模型,利用差分自回归移动平均模型(ARIMA)解决非平稳时间序列问题的优势,对SVM模型的残差进行处理,并采用粒子群算法(PSO)优化支持向量机(SVM)中的核函数。实例分析表明,优化后的组合模型预测结果可靠,且精度较SVM模型有所提高。
关键词:支持向量机;粒子群算法;差分自回归移动平均模型;大坝变形;安全监控
中图分类号:TV698.1
文献标志码:A
doi:10.3969/j.issn.1000-1379.2018.08.035
为了更加准确地了解和掌握大坝的安全状况,对大坝进行安全监控是非常重要的手段之一。能否有效地进行大坝变形安全监控,对保证大坝的安全运行、保障国家以及人民群众的生命财产安全具有重大意义。
目前,采用神经网络、逐步回归分析、灰色理论等方法建立的大坝变形安全监控模型应用广泛。这些模型在大坝安全监控中表现出一定的优势,其中神经网络具有较强的非线性逼近能力3,灰色模型所需原始信息量小、计算简单,但是也具有一定的局限性,比如神经网络模型可能出现收敛速度较慢、拟合过度、泛化能力不足等问题,逐步回归模型对样本数据的数量要求较高,因此该模型的计算量大、外推的难度大、拟合精度不理想。为了深入探究大坝变形数据所反映的信息,本文提出使用支持向量机( Support Vector Ma-chines,SVM)进行建模。支持向量机是一种较新的方法,对于样本数量小、拟合效果不理想等问题有较强的改善作用,对于非线性的样本序列预测效果较好。在SVM预测模型中,选择合适的核函数是SVM模型的难点,直接影响模型预测的效果,因此利用粒子群算法( Particle Swarm Optimization,PSO)快速全局优化的优势简化选择核函数的过程,在提高SVM模型预测精度的同时避免繁琐的试算过程。同时考虑分析预测模型的拟合值与实测值残差的变化规律可以有效减小预测误差,ARIMA模型對非平稳时间序列具有较好的适用性,提出建立ARIMA模型对残差进行拟合修正,从而提高模型的预测精度,并将组合模型应用于大坝安全监控及预报中。
1 算法概述
1.1 支持向量机(SVM)算法
支持向量机是一种较为新颖的小样本机器学习方法,是根据统计学分析原理中的VC维理论和结构风险最小化的原则提出的。SVM的基本思想是,通过核函数将输入的非线性变量投影到一个高维的特征空间内,构造最优的决策函数来完成高维空间的线性回归。
设有数据集(xi,Yi),xi∈Rtt,Rtt为n维列向量,yi∈R,回归函数f(x)=wx+b,其中:w为权值向量,b为偏差。而支持向量机的主要任务就是对w和b的求解:式中:ξi、ξξi为松弛因子:C为惩罚因子,且为正数。
回归函数需要满足约束条件:
为了使该优化问题的求解更简单易行,使用La-grange函数:式中:χi、χ*i、γi、γ*i为Lagrange乘数,χ、χ*i≥0,γi、γ*i≥0:ε≥0。
式(5)化简后得到约束表达式:
约束条件为
引入对称函数核函数,该核函数满足Mercer定理。设核函数K(xi,xj)为
K(xi,xj)=cl(xi)cl(xj)(9)
该核函数为RBF核函数,其参数只有一个,方便计算,收敛也较快。f(x)可用下式表示:
1.2 粒子群优化(PSO)算法
由于SVM算法中核函数的优化方法并不完善.因此将PSO应用到SVM核函数的寻优。
假设在D维的搜索空间中,种群规模为Ⅳ,X=(X1,,X2,…,XN),Xi代表第i个粒子的位置,Vi为粒子速度,Pi为个体极值,Pg为种群的全局极值。
在迭代过程中,粒子特征按以下公式不断更新:式中:w为惯性权重;d=l,2,…,D;i=1,2,…,N;k为当前迭代次数;Vid/为粒子的速度;C1和c2为加速度因子,一般为非负的常数;r1和r2为分布于[0,1]之间的随机数。为防止粒子远离搜索空间,粒子的位置和速度需要满足一定范围[-Xmax,Xmax]、[-Vmax,Vmax],Vmax、Xmax为常数,可根据实际情况白行设定。
2 大坝变形监控模型构建
2.1 ARIMA模型
差分白回归移动平均模型(ARIMA)是白回归滑动平均模型(ARMA)的推广,与非平稳时间序列密切相关,若时间序列得到的残差是一个非平稳的时间序列,则需要对其进行平稳化后建立模型。
非平稳的时间序列{ct,t=0,±1,…,}差分d次后可以得到一个平稳的时间序列{xi},ARIMA(p,d,q)模型的数学表达式为式中:cl(m=l,2,…,p)为白回归模型的系数;Zt-m为差分后的时间序列;θj(j=l,2,…,q)为平均滑动系数;aj为白噪声序列;p为白回归阶数;q为滑动平均部分的阶数。
2.2 建立基于粒子群优化的SVM-ARIMA大坝变形
安全监控模型
首先建立SVM模型,并采用PSO算法对SVM模型的核函数进行优化,优化过程通过MATLAB软件编程进行计算,从而得到最优的核函数:然后由实测值序列与PSO-SVM模型的拟合值序列得到残差序列,建立ARIMA模型对残差序列进行平稳化分析,同时进行拟合预测,表示如下:
y(t)=x(t)+c(t)
(14)式中:y(t)为粒子群优化的SVM-ARIMA模型的预测值;x(t)为SVM模型的拟合值;c(t)为组合模型的误差项。
基于粒子群优化的SVM-ARIMA模型的建模流程見图1。
3 实例分析
以国内某水电站枢纽为例,选取该大坝坝顶2012年7月1日至2012年9月10日70组观测数据,前60组数据用于建模拟合,后10组数据用于检验模型的精度,进行滚动预测。
PSO-SVM模型输入的参变量共10个,包括时效因子:θ-θ0,Inθ-lnθ0;水压因子:H-Ho,(H-Ho)2,(H-Ho)3,(H-Ho)4;温度因子:其中:Ho、H分别为开始监测时期、过程监测日期的上游水头;t为监测日到开始监测日的累计天数;t0为建模资料第一个监测日到开始监测日的累计天数:θ为t除以100;θ0为to除以100。
由于数据的标准化可以加快计算的速度,因此对训练样本进行标准化:式中:Xmin、Xmax分别为每组样本数据的最小值、最大值。
使用MATLAB软件进行PSO-SVM建模,其中SVM采用最小二乘学习算法,利用PSO算法优化SVM的参数,种群初始化,将参数设置为:种群粒子数为20,算法迭代次数为50次,惩罚因子的范围为[0.1,100]。通过PSO-SVM模型得到残差序列,使用ARIMA模型进行预测。该建模过程可以使用SPSS中的ARIMA子程序来实现,经过软件计算,可以确定ARIMA模型参数,即ARIMA(0,2,1)模型,拟合及预测结果见表1。
由预测结果可以看出,PSO-SVM-ARIMA模型的预测结果是比较满意的,其预测值相比SVM模型更接近实测值,且相对误差的绝对值均小于5%,平均为0.93%。PSO-SVM-ARIMA模型与SVM模型的拟合以及预测曲线见图2、图3。通过对两个模型拟合及预测曲线的比较,可以更加直观地看出组合模型的优势。
除了比较两种模型拟合预测曲线这种直观的方式,还可以使用一些统计指标进行更客观的比较,其中,均方误差(MSE)、平均绝对百分比误差(MAPE是有代表性的指标,计算公式如下:式中:yt为模型预测值:yt为实测值。
由计算结果(表2)可以看出,PSO-SVM-ARIMA模型的两种指标数值都小于SVM模型的,可见,PSO-SVM-ARIMA模型比SVM模型精度有所提高,在大坝变形安全监控中有较强的实用性。
4 结语
将SVM模型与ARIMA模型结合,在原有SVM预测模型的基础上,建立ARIMA模型对SVM模型的残差序列进行拟合修正,同时,引入粒子群算法优化SVM模型的核函数。研究表明,基于粒子群优化的SVM-ARIMA组合模型有效地解决了大坝变形观测值非线性和非稳定的问题,预测精度较单个模型显著提高,在大坝变形安全监控及预测中具有较强的实用价值,可以用于较为复杂的大坝变形安全监控及预报。