模式识别论文

模式识别

课题:基于支持向量机人工神经网络的水质预测研究专业:电子信息工程

摘要

针对江水浊度序列宽频、非线性、非平稳的特点,将经验模态分解(EMD)和支持向量机(SVM)回归方法引入浊度预测领域,建立了基于EMD2SVM的浊度预测模型.通过EMD分解,将原始非平稳的浊度序列分解为若干固有模态分量(IMF),根据各IMF序列的特点,选择不同的参数对各IMF序列进行预测,最后合成原始序列的预测值.将该方法应用于实际浊度预测,并与径向基神经网络(RBF)预测及单独支持向量机回归预测结果进行比较,仿真结果表明该方法预测精度有明显提高.水质评价实际上是一个监测数据处理与状态估计、识别的过程,提出一种基于支持向量机的方法应用于水质评价,该方法依据决策二叉树多类分类的思想,构建了基于支持向量机的水环境质量状况识别与评价模型。以长江口的实际水质监测数据为例进行了实验分析,并与单因子方法及单个BP神经网络方法进行了比较分析。实验结果表明,运用该模型对长江口的实际水质监测数据进行的综合水质评价效果较好,且具有较高的实用价值。

关键词:浊度;预测;经验模态分解;支持向量;BP神经网络

一.概述

江水浊度受地表径流、温度以及人类活动等的影响,波动明显,在不同的月份有着很大的变化,表现出非平稳、非线性的特点.对其进行分析和预测,对于河流生态评价、航运安全以及以江河水为原水的饮用

水生产具有重要的指导意义.国内外在浊度序列分析方面的研究文献较少,通常都是综合考虑各种水质参数而对浊度进行预测,采用较多的是人工神经网络等非线性模型方法[1,2].这种模型结构复杂,要求原始数据丰富,在实际操作中实现较为困难.此外,对于江水浊度这一具有宽带频谱的小样本混沌时间序列,采用单一的预测方法,将会把原始浊度序列中的各种不同特征信息同质化,势必影响其预测精度.采用经验模态分解(EmpiricalModeDecomposition,EMD)将浊度序列分解后分别预测,再进行合成将可能提高其预测精度.不同于小波变换,在对信号进行经验模态分解时不需要先验基底,每一个固有模态函数(In2trinsicModeFunction,IMF)包含的频率成分不仅与采样频率有关,并且还随着信号本身的变化而变化,具有自适应性,能够把局部时间内含有的多个模态的非线性、非平稳信号分解成若干个彼此间影响甚微的基本模态分量,这些分量具有不同的尺度,从而简化系统间特征信息的干涉或耦合[3].支持向量机

(SupportVectorMa2chines,SVM)是建立在统计学习理论上的一种机器学习方法,是目前针对小样本统计估计和预测学习的较好方法

[4],对统计学习理论的发展起到巨大推动作用并得到广泛应用[5~8].SVM有良好的泛化能力,并解决了模型选择与欠学习、过学习问题及非线性问题,避免了局部最优解,克服了“维数灾难”,且人为设定参数少,便于使用,已成功应用于许多分类、识别和回归问题

[5,6,8].根据江水浊度序列的特点,结合EMD和SVM两种方法的不同功能,本文提出了基于EMD2SVM模型的预测方法,用于江水浊度的

预测.

二.基本原理

1.1经验模态分解(EMD)

假设任一信号都是由若干固有模态函数IMF组成的,任何时候,一个信号都可以包含多个固有模态信号.固有模态信号是满足以下两个条件的信号:

(1)整个数据中,零点数与极点数相等或至多相差1

(2)信号上任意一点,由局部极大值点确定的包络线和由局部极

小值点确定的包络线的均值均为0,即信号关于时间轴局部对称.对任一信号s(t),首先确定出s(t)上的所有极值点,然后将所有极大值点和所有极小值点分别用一条曲线连接起来,使两条曲线间包含所有的信号数据.将这两条曲线分别作为s(t)的上、下包络线.若上、下包络线的平均值记作m,s(t)与m的差记作h,则:s(t)-m=h(1)将h视为新的s(t),重复以上操作,直到当h满足一定的条件(如h变化足够小)时,记c1=h(2)将c1视为一个IMF,再作s(t)-c1=r(3)将r视为新的s(t),重复以上过程,依次得第二个IMFc2,第三个IMFc3,⋯.当cn(n∈N)或r满足给定的终止条件(如分解出的IMF或残余函数r足够小或r成为单调函数)时,筛选过程终止,得分解式:s(t)=Σci+r(4)其中,r称为残余函数,代表信号的平均趋势.

1.2支持向量机(SVM)

对于给定的非线性样本数据{(xi,yi)|i=1,2,⋯,k},(其中xi∈Rn为样本输入,yi∈Rn为样本输出),利用非线性映射φ(·)将训练数据集非线性映射到一个高维特征空间(Hilbert空间),将在输入空间中的非线性函数估计问题转化为高维特征空间中的线性函数估计问题.

2基于EMD2SVM的浊度预测模型

通过支持向量机学习一个时间序列模型的最简单方法就是将时间序列的延迟样本作为支持向量机的输入样本.时间序列越复杂,则需要的过去信息就越多.经验模式分解不仅使原始信号中包含的信息通过各基本模态分量得以充分体现,而且还简化了系统间特征信息的干涉或耦合.对各基本模态分量分别进行支持向量机学习时,不仅所需要的过去信息明显减少,而且网络训练的迭代次数明显减少,大大简化了学习任务.

(1)原始浊度序列的EMD分解

采用镜像法对数据端点进行延拓,以减弱端点效应,将原始浊度序列分解为一系列基本模态分量.

(2)模型的输入输出样本选取

对训练样本数据进行相空间重构,即将一维的时间序列转化为矩阵形式,获得数据间的关联信息,以尽可能大地挖掘数据的信息量.可通过嵌入窗法、G2P算法和C2C算法等方法来确定嵌入维数m,和延迟时间τ.通过相空间重构,来构造预报样本{xi,yi},其中:xi为m维向量.

(3)模型参数选取及核函数的确定

支持向量机参数的选择,即不敏感损失函数ε和误差惩罚因子γ.ε影响支持向量的数目,ε值越大,支持向量数目就越少,估计的函数精度越低,反之亦然;γ取得小,训练误差变大,系统的泛化能力变差,γ值取大,12ωTω的权重就小,同样泛化能力下降.以平均相对误差最小为寻优条件,用网格搜索法并通过试算分别对各序列的输入输出矩阵进行参数选择,得到不同序列的最优参数.不同的核函数决定了不同特征空间的结构.目前常用的核函数有线性函数、多项式函数、径向基函数和Sigmoid函数等.本研究针对不同的输入输出对象分别采用了线性核函数和径向基核函数.

3

仿真

三.步骤

1.取样与监测

在降雨-径流发生期间,在落水管地面排水口安装60°三角堰,用便携式自动采样器(配超声波流量计)监测路面径流流量变化,并采集瞬时径流水样,采样间隔5~30min,视降雨历时和径流流量而定。同时用雨量计记录降雨特征并收集雨水样品。

2.水质测试

径流样品的保存和水质参数的测定均依照标准方法进行,测试的水质参数包括温度、pH、电导率(Cond.)、悬浮固体(SS)、营养盐(TN、TP、OP和NO3-N)、重金属(Cu、Zn、Pb、Cd、Ni和Cr)、石油类(O&G)以及五日生化需氧量(BOD5)和化学需氧量(COD)等。其中温度、pH和电导率用便携式pH/电导率测试仪(WTW,Multi340i)测定;SS用0.45μm滤膜过滤、干燥秤重法测定;COD用重铬酸钾氧化法,BOD5用稀释接种法测定;TOC用燃烧氧化-非分散红外吸收法、总有机碳分析仪(日本岛津公司,TOC-VCPH)测定;TN和NO3-N用紫外分光光度法测定,其中TN用过硫酸钾氧化;TP和OP用钼锑抗分光光度法测定,其中TP用过硫酸钾消解;Zn和Cu用火焰原子吸收分光光度法测定(北京北京瑞利分析仪器公司,WFX-130AAS);Pb和Cd用石墨炉原子吸收分光光度法测定(德国耶拿公司,AASZEEnit

60);Cr和Ni用电感偶合等离子发射光谱法测定(美国利曼公司,PS-1000ATICP-AES)。由于某些样品在测试之前进行浓缩处理,重金属浓度可能低于仪器检测限。

3.主成分程序

N=50;

n=2*N;

randn('state',6);

x1=randn(2,N)

y1=ones(1,N);

x2=1.5+randn(2,N);

y2=-ones(1,N);

figure(1)

plot(x1(1,:),x1(2,:),'bx',x2(1,:),x2(2,:),'k.');

axis([-38-38]);

title('C-SVC')

holdon;

X1=[x1,x2];

Y1=[y1,y2];

X=X1';

Y=Y1';

C=Inf;

ker='rbf';

globalp1p2

p1=3;

p2=1;

[nsvalphabias]=SVC(X,Y,ker,C);

figure(2)

svcplot(X,Y,ker,alpha,bias);

predictedY=

SVCOUTPUT(X,Y,X,ker,alpha,bias);

运行结果:

[nsvalphabias]=SVC(X,Y,ker,C)

SupportVectorClassification

_____________________________

Constructing...

Optimising...

Executiontime:0.8seconds

Status:OPTIMAL_SOLUTION

|w0|^2

Margin:[1**********].396507:0.000009

Sumalpha:[1**********].191757

SupportVectors:100(100.0%)

nsv=

100

alpha=

1.0e+009*

四.分析

使用决策二叉树对数据进行分类时,由树根开始将该对象的属性代入分类函数逐渐测试其值。当测试值为1时,即到达叶节点,终止前进,表示该数据所处的类为此叶节点代表的类;当测试值为-1时,顺着分支向下走,直至到达某个叶节点。用该多分类支持向量机训练出的水质评价模型对长江口水文站2002年2月、4月、6月、8月、10月共35组水质监测数据进行评价,错分类别仅为三组,识别准确率高达91.4%。为了增加分类效果的对比性,用三层结构的BP神

经网络对同组数据进行训练并作分类测试,其中BP网络的初始值和阈值是通过MATLAB工具箱中rand()函数产生均匀分布随机数矩阵来确定的,控制误差定为0.001,网络的学习率采用变步长法。最后对相同监测数据测试,识别率仅为85.7%。环境检测部门通常采用单因子评价方法,则本实验通过单因子评价方法得到的评价结果与通过国家标准融合处理测定的水类别进行比较,正确率仅为62.9%。从上述三种评价方法可以看出,单因子评价方法过于保守,当水体中有害物质(如砷化物)严重超标时,采用此方法进行水质评价是合适的,有利于保护人们的身体健康;但对于毒性不强又与人们生活息息相关的水质参数(如BOD5,DO,NH3-N等),利用单因子评价法进行水质评价是不合理的,因为没有利用各种水质参数数据提供的信息及其对水质评价的贡献。基于SVM的水质评价方法与基于BP网络的水质评价方法均弥补了单因子评价方法的不足,充分利用各种水质参数监测数据提供的信息,可以获得比较客观的评价结果,通过融合处理来判别水质的类别。但是上述实验表明,就分类效果而言,基于SVM的水质分类准确率明显高于单一的BP神经网络分类算法。由此可见,在水质状况识别问题上,SVM比BP神经网络具有更好的分类能力。

五结论

本文对江水浊度预测建模进行了研究,提出基于EMD2SVM的预测模型,用EMD跟踪江水浊度序列的非平稳特性,用SVM跟踪序列的非线性和小样本特性.通过仿真分析得出以下结论:

(1)采用EMD对原始信号进行分解,显微式的提取了信号的原有信息,对得到的一系列IMF采用相应的模型参数和核函数进行SVM建模预测,仿真结果表明该模型用于江水浊度预测是有效的.

(2)通过与SVM模型以及RBF模型进行预测比对,表明该EMD2SVM预测模型的精度较高.

(3)对不同特点的数据序列,其模型参数以及核函数,要有不同的选择.对于大多数时间序列的预测,支持向量机核函数的选择具有任意性,但针对高频浊度信号,线性核函数预测精度较高.

(4)基于EMD2SVM的浊度预测模型,既能体现浊度的变化趋势,又能对水文突变进行有针对性的预测,可用于河流水质监测,也可作为制水厂投药控制的依据


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn