APP下载

支持向量回归机在风电系统桨距角预测中的应用

2010-03-26高美卿刘艳萍连琨

电子设计工程 2010年12期
关键词:距角训练样本风速

高美卿,刘艳萍,连琨

(河北工业大学信息工程学院,天津300401)

在风力发电系统中,随着风速的变化,要使输出功率最佳,需对桨距角进行预测,从而得到某特定风速下的最佳桨距角。支持向量机(Support Vector Machines,SVM)是根据统计学理论中最小化原则提出来的,由有限数据得到的判别函数,对独立的测试样本能够得到较小的误差,包括支持向量分类机(Support Vector Classification,SVC)和支持向量回归机(Support Vector Regression,SVR)。此文用的就是SVR算法,其目的是构造一个回归估计函数,将非线性函数的回归估计问题转化为一个具有线性等式约束和线性不等式约束的二次规划问题,可以得到唯一的全局最优解。此最优解,在预测桨距角中就是最佳桨距角[1]。

1 SVR

1.1 SVR的引入

现有的预测桨距角算法有基于BP算法和基于LV算法的神经网络,BP算法收敛速度慢、精度低,LV算法泛化能力差,因此,能改变现有算法不足的支持向量机算法应运而生。SVM方法最早是针对模式识别问题提出的,随着对ε不敏感损失函数的引入,现已推广应用到非线性回归估计和曲线拟合中,得到了用于曲线拟合的回归型支持向量机SVR,表现出很好的学习效果。

1.2 回归算法原理

标准的SVR算法,分为线性和非线性两种。SVR的基本思想是:将输入样本空间非线性变换到另一个特征空间,在这个特征空间构造回归估计数,这种非线性变换是通过定义适当的核函数K(xi,xj)来实现的。其中K(xi,xj)=φ(xi)·φ(xj),φ(x)为某一非线性函数[2]。

假设给定了训练数据,{(xi,yi),i=1,2,...,n},xi为学习样本,yi为对应的目标值。定义线性ε不敏感损失函数为:

即如果目标y值和经过学习构造的回归估计函数f(x)的值之间的差别小于ε,则损失等于0。

假设非线性情形的回归估计函数为:

利用拉格朗日乘子法来求解这个约束最优化问题,因此构造拉格朗日函数

由最优化理论,将Lp分别对w、b、ξi、ξ*i求偏微分并令其为0,得:

将式(5)代入式(4),得到对偶最优化问题

支持向量(SV)就是使得αi-α*i≠0的部分参数。通过学习训练得到的回归估计函数为

可得

其中NNSV为标准支持向量数量。由式(7)和式(8)知,尽管通过非线性函数将样本数据映射到具有高维甚至无穷维的特征空间,但在计算回归估计函数时并不需要显式计算该非线性函数,而只需计算核函数,从而避免高维特征空间引起维数灾难问题[3]。

2 桨距角预测与Matlab仿真

2.1 样本的获取与预处理

要使风速改变时,桨距角随之改变的值为最佳桨距角,就要选择合适的学习样本,用来训练和检验。由于自然界风速处于不断变化中,较短时间3~4 s内的风速上升或下降总是不断发生,因此变桨距机构也在不断动作,在转子电流控制器的作用下,将桨距角的实际变化情况选做样本。共选取128组样本数据,其中学习样本80个,用来检验的预测样本48个。选择的训练样本和测试样本形式如下表1所示。

并将此样本存为.txt格式,以便于在Matlab仿真时的数据输入。

表1 样本形式Tab.1 Format of sample

2.2 SVR函数的参数选择

2.2.1 S VR函数

该函数根据训练样本设计出最优回归函数,并找出支持向量。该函数有6个参数,分别是训练样本的输入、训练样本的输出、核函数、惩罚因子、损失函数和不敏感系数。输出参数为支持向量个数、拉格朗日乘子及偏置量[4]。即

[nsv,beta,bias]=svr(X,Y,ker,C,loss,ε);

X——训练样本的输入,在本文中就是样本中用于学习和检验的风速值。

Y——训练样本的输出,就是样本中对应的桨距角。

ker——核函数,要使误差小需选择适当的核函数,这里选择的是rbf核函数。

C——惩罚因子,C取的过小,训练误差变大,系统的泛化能力变差,C取的过大,也会导致系统的泛化能力变差。

loss——损失函数。

ε——不敏感系数,ε取的小,回归估计精度高,但支持向量数增多,ε取的大,回归估计精度降低,但支持向量数少。

nsv——支持向量的个数。

beta——拉格朗日乘子。

Bias——偏置量。

2.2.2 输 出函数svroutput

该函数利用svr函数得到的最优回归函数来计算测试样本的输出,并返回。

2.2.3 s vrplot

该函数用来绘制出最优回归函数曲线,并标识出支持向量。

2.2.4 s vrerror

该函数用来显示根据最优回归函数计算的测试样本的拟合误差。

2.2.5 核 函数的选择

常用的核函数有4种:线性核函数(linear)、多项式核函数(polynomial)、径向基核函数(RBF)和Sigmoid核函数。在一般情况下,首先考虑的是RBF,主要基于以下原因:1)RBF可以将样本映射到一个更高维的空间,可以处理类别标签和特征之间的关系是非线性时的样本。2)与多项式核函数相比,RBF需要确定的参数要少,核函数参数的多少直接影响模型的复杂度。3)对某些参数,RBF与sigmoid核函数具有相似的性能。

衡量SVR的最小误差和泛化能力准则,并优化该准则,本文选择了RBF核函数[5]。

2.3 Matlab仿真

2.3.1 回 归拟合

在Matlab编程实现函数的回归拟合,并检验数据。主函数程序段如下:

m=importdata('e:\train.txt');

ker='rbf';

C=10;

e=0.05;

global p1;

p1=5;

loss='einsensitive';

trnX=m(:,2);

trnY=m(:,3);

[nsv,beta,bias]=svr(trnX,trnY,ker,C,loss,e);plot(trnX,trnY);

xlabel('风速V/mps');

ylabel('桨距角A/°');

n=importdata('e:\test.txt');

tstX=n(:,2);

tstY=n(:,3);

TstY=svroutput(trnX,tstX,ker,beta,bias);

err=svrerror(trnX,tstX,tstY,ker,beta,bias,loss,e);

figure

plot(1:length(tstY),tstY,'r+:',1:length(TstY),TstY,'bo:')

title('+为真实值,o为预测值');

xlabel('样本N');

ylabel('桨距角A/°');

2.3.2 函 数回归拟合并检验的仿真结果

应用Matlab支持向量机工具箱编程实现系统的学习训练过程,由80个学习样本训练而得到的函数拟合结果如下图1所示。

利用训练好的神经网络模型可以对桨距角进行预测,只要输入即时风速,就可确定出相应桨距角大小。之前利用BP算法的均方误差为0.290 3,LM算法的均方误差为0.278 1。图2为由SVR算法对48个样本值检验的结果。可知,预测值与实际桨距角值基本一致[6]。拟合误差err=0.175 6。

图2 样本检验结果Fig.2 Test result from samples

3 结束语

文中介绍了支持向量机的回归算法理论,用SVR算法代替之前的BP算法和LV算法,研究了风力发电系统中随风速变化桨距角的值,由函数拟合理论对桨距角进行了预测并检验,由于支持向量机采用结构最小化原则代替经验经验最小化原则,采用适当的核函数,同比其他算法使拟合误差达到了最小,大大提高了变桨距系统的精度和效率。将该算法应用于DSP芯片上稍作改进,加上外围电路的设计,即可应用在风电系统的控制领域。

[1]张学工.关于统计学习理论与支持向量机[J].自动化学报,2000,26(1):32-42.

ZHANG Xue-gong.About statistical learning theory and support vector machine(SVM)[J].Journal of Automation,2000,26(1):32-42.

[2]王定成.支持向量机回归与控制的研究[D].合肥:中国科学技术大学,2003.

[3]杜树新,吴铁军.用于回归估计的支持向量机方法[J].系统仿真学报,2003,15(11):1580-1585.

DU Shu-xin,WU Tie-jun.For regression estimation of support vector machine(SVM)method[J].Journal of System Simulation,2003,15(11):1580-1585.

[4]Collobert R,Bengio S.A support vector machine approach to decision trees[R].Rensselaer Polytechinic Institute,Troy,NY:R.P.I Math Report,1997:97-100.

[5]Smits G F,Jordaan E M.Improved SVM regression using mixtures of kernels[C]//Proceedings of the 2002 International Joint Conference on Neural Network,Hawaii:IEEE,2002:2785-2790.

[6]李大海,李天石,李宗斌.一种多率采样的在线支持向量回归及应用[J].西安交通大学学报,2010(3):15-18.

LI Da-hai,LI Tian-shi,LI Zong-bin.Support vector regression and application of more than one sampling rate online[J].Journal of Xi'an Traffic University,2010(3):15-18.

猜你喜欢

距角训练样本风速
基于数据驱动的风电机组最优桨距角 辨识方法
考虑风速差异的风电场减载方案与一次调频策略
基于Kmeans-VMD-LSTM的短期风速预测
基于最优TS评分和频率匹配的江苏近海风速订正
风力发电机组最优桨距角自寻优控制算法设计
人工智能
宽带光谱成像系统最优训练样本选择方法研究
融合原始样本和虚拟样本的人脸识别算法
基于稀疏重构的机载雷达训练样本挑选方法
基于GARCH的短时风速预测方法