发明名称 一种基于组合核函数的风电场超短期风速预测方法
摘要 本发明公开了一种基于组合核函数的风电场超短期风速预测方法,采用基于组合核函数支持向量机,将小波核函数与多项式核函数结合,结合多项式核函数的全局性特点以及小波核函数的高精度和良好学能力,有效地提高支持向量机模型的预测能力,减小预测误差。同时在支持向量机模型建立上,选择相似数据,分类建立模型,使得训练样本与测试样本有相似关系,从而增强了支持向量回归模型的非线性拟合能力。本发明通过组合核函数和相似数据的结合,提高了风速预测的精度。
申请公布号 CN103065202B 申请公布日期 2015.07.15
申请号 CN201210567346.0 申请日期 2012.12.24
申请人 电子科技大学 发明人 凡时财;邹见效;徐红兵;李文茹
分类号 G06Q10/04(2012.01)I;G06Q50/06(2012.01)I 主分类号 G06Q10/04(2012.01)I
代理机构 成都行之专利代理事务所(普通合伙) 51220 代理人 温利平
主权项 一种基于组合核函数的风电场超短期风速预测方法,其特征在于,包括以下步骤:(1)、采集风电场的风速数据,按照时间顺序排列成风速的时间序列数据X,时间序列表达式为:X={x<sub>t</sub>,t=1,2,…,N.}其中,N为风速时间序列的个数;(2)、风速时间序列X的自相关度计算公式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>r</mi><mi>D</mi></msub><mo>=</mo><mfrac><mn>1</mn><mrow><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mi>D</mi><mo>)</mo></mrow><msup><mi>s</mi><mn>2</mn></msup></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>t</mi><mo>=</mo><mi>D</mi></mrow><mi>N</mi></munderover><mrow><mo>(</mo><msub><mi>x</mi><mi>t</mi></msub><mo>-</mo><mi>&mu;</mi><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>t</mi><mo>-</mo><mi>D</mi></mrow></msub><mo>-</mo><mi>&mu;</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000712660360000011.GIF" wi="830" he="153" /></maths>其中,r<sub>D</sub>为自相关度,0≤r<sub>D</sub>≤100%,μ和s分别为风速时间序列的均值和标准差,D为嵌入维度,即选择的特征的个数;设定一个自相关度的值r<sub>T</sub>,计算嵌入维度D;(3)、对风速时间序列X进行归一化处理,换算为[0,1]的范围内的相对风速,归一化处理公式为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>~</mo></mover><mi>t</mi></msub><mo>=</mo><mfrac><mrow><mi>N</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>t</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo>(</mo><msub><mi>x</mi><mi>t</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000712660360000012.GIF" wi="368" he="231" /></maths>其中,<img file="FDA0000712660360000013.GIF" wi="60" he="83" />为归一化后的时刻t的相对风速,<img file="FDA0000712660360000014.GIF" wi="59" he="75" />为风速时间序列X的平均值,N为风速时间序列的个数;(4)、支持向量机模型的训练样本输入序列为时刻t前的历史风速序列,训练样本输出为t时刻的风速,根据嵌入维度D得到训练样本输入矩阵P:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>P</mi><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>~</mo></mover><mn>1</mn></msub><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>D</mi><mo>-</mo><mn>2</mn></mrow></msub><mo>,</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>D</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mi>D</mi></msub></mtd></mtr><mtr><mtd><msub><mover><mi>x</mi><mo>~</mo></mover><mn>2</mn></msub><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>D</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mi>D</mi></msub><mo>,</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>D</mi><mo>+</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>t</mi><mo>-</mo><mi>D</mi></mrow></msub><mo>,</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>t</mi><mo>-</mo><mi>D</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>N</mi><mo>-</mo><mi>D</mi></mrow></msub><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>N</mi><mo>-</mo><mn>3</mn></mrow></msub><mo>,</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>N</mi><mo>-</mo><mn>2</mn></mrow></msub><mo>,</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mi>P</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>P</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mi>P</mi><mrow><mi>t</mi><mo>-</mo><mi>D</mi></mrow></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mi>P</mi><mrow><mi>N</mi><mo>-</mo><mi>D</mi></mrow></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000712660360000015.GIF" wi="805" he="498" /></maths>输入矩阵P为n×D阶矩阵,其中,n=N‑D+1,行向量P<sub>i</sub>,1≤i≤n表示时刻D+i的历史风速序列,即训练样本输入序列,每个元素p<sub>il</sub>,1≤i≤n,1≤l≤D表示时刻i+l‑1的风速;训练样本输出矩阵Q:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>Q</mi><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>D</mi><mo>+</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mover><mi>x</mi><mo>~</mo></mover><mrow><mi>D</mi><mo>+</mo><mn>2</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mover><mi>x</mi><mo>~</mo></mover><mi>t</mi></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mover><mi>x</mi><mo>~</mo></mover><mi>N</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mi>q</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>q</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mi>q</mi><mrow><mi>t</mi><mo>-</mo><mi>D</mi></mrow></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mi>q</mi><mrow><mi>N</mi><mo>-</mo><mi>D</mi></mrow></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000712660360000021.GIF" wi="431" he="501" /></maths>训练样本的输出矩阵Q为n×1阶矩阵,q<sub>i</sub>,1≤i≤n表示时刻D+i的风速;(5)、对每个训练样本输入序列P<sub>i</sub>,1≤i≤n,按照时间顺序比较风速时间序列所有时刻的值的大小,如果某一时刻的值比其前后两个时刻的值都要大或者小,那么记录此值为风速时间序列的一个极值点,同时记录此点在风速时间序列中的时刻,利用此方法可以找出风速时间序列上所有极值点集合H={h<sub>m</sub>,m=1,2,…,M.}和相应极值点的时刻集合U<sub>m</sub>={u<sub>m</sub>,m=1,2,…,M.},M为极值点的个数;极值点将风速时间序列划分为线性分段,每个线性分段的斜率I<sub>m</sub>为:<img file="FDA0000712660360000022.GIF" wi="648" he="147" />此线性分段的点在所有点中所占的比重ω<sub>m</sub>为:<img file="FDA0000712660360000023.GIF" wi="861" he="213" />建立风速时间序列相似特征I的分段线性表示为:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>I</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>I</mi><mi>m</mi></msub><msub><mi>&omega;</mi><mi>m</mi></msub></mrow>]]></math><img file="FDA0000712660360000024.GIF" wi="269" he="156" /></maths>设定阈值τ,τ>0,当I≥τ,风速时间序列呈下降趋势;当‑τ<I<τ,风速时间序列呈平缓趋势;当I≤‑τ,风速时间序列呈上升趋势;据此可将训练样本输入序列P<sub>i</sub>,1≤i≤n分为上升、平缓、下降三类;(6)、小波核函数参数寻优,小波核函数表达式为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>K</mi><mrow><mo>(</mo><msub><mi>p</mi><mi>i</mi></msub><mo>,</mo><msub><mi>p</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>D</mi></munderover><mi>h</mi><mrow><mo>(</mo><mfrac><mrow><msub><mi>p</mi><mi>il</mi></msub><mo>-</mo><msub><mi>p</mi><mi>jl</mi></msub></mrow><mi>a</mi></mfrac><mo>)</mo></mrow><mo>,</mo><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>&le;</mo><mi>n</mi></mrow>]]></math><img file="FDA0000712660360000025.GIF" wi="841" he="150" /></maths>其中,a与k为可调参数;求出参数a与k的最优取值,得到小波核函数;(7)、建立组合核函数,组合核函数的公式为:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>K</mi><mrow><mo>(</mo><msub><mi>p</mi><mi>i</mi></msub><mo>,</mo><msub><mi>p</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>&rho;</mi><mn>1</mn></msub><msup><mrow><mo>(</mo><mrow><mo>(</mo><msub><mi>p</mi><mi>i</mi></msub><mo>&CenterDot;</mo><msub><mi>p</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mi>d</mi></msup><mo>+</mo><msub><mi>&rho;</mi><mn>2</mn></msub><munderover><mi>&Pi;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>D</mi></munderover><mi>h</mi><mrow><mo>(</mo><mfrac><mrow><msub><mi>p</mi><mi>il</mi></msub><mo>-</mo><msub><mi>p</mi><mi>jl</mi></msub></mrow><mi>a</mi></mfrac><mo>)</mo></mrow><mo>,</mo><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>&le;</mo><mi>n</mi></mrow>]]></math><img file="FDA0000712660360000031.GIF" wi="1412" he="169" /></maths>其中,参数d由用户设置,ρ<sub>1</sub>与ρ<sub>2</sub>为组合系数;求出ρ<sub>1</sub>与ρ<sub>2</sub>的最优取值,得到组合核函数;(8)、以训练样本输入矩阵P作为组合核函数支持向量机模型的输入,以训练样本输出矩阵Q作为支持向量机模型的输出f(P),根据相似特征分类进行模型训练,可得到三个支持向量机模型f<sub>上升</sub>,f<sub>平缓</sub>,f<sub>下降</sub>;(9)、将预测样本输入训练得到的支持向量机模型,计算预测样本的风速时间序列相似特征I<sub>预测</sub>,当I<sub>预测</sub>≥τ,预测样本风速时间序列呈上升趋势,采用支持向量机模型f<sub>上升</sub>预测风速;当‑τ<I<sub>预测</sub><τ,预测样本风速时间序列呈平缓趋势,采用支持向量机模型f<sub>平缓</sub>预测风速;当I<sub>预测</sub>≤‑τ,预测样本风速时间序列呈下降趋势,采用支持向量机模型f<sub>上升</sub>预测风速。
地址 611731 四川省成都市高新区(西区)西源大道2006号