发明名称 一种基于MATLAB的风电场短期风速预测系统
摘要 一种基于MATLAB的风电场短期风速预测系统,包括数据处理单元、参数寻优单元和数据预测单元。数据处理单元基于小波分解,对输入系统的风速数据进行多层分解,得到原始数据的近似系数和细节系数,分别供系统后续单元进行分析处理;参数寻优单元,负责对数据处理单元处理后的数据进行分析判定,从而得到系统中可变参数的全局最优解,供系统使用;数据预测单元,在参数设置完成的基础下,对进入预测单元的数据进行预测,计算得到数据组未来时刻的数据值。本发明能够完成对风速数据的短期预测,在提高风速数据短期预测精度的同时给出了系统中的可调参数,从而增强了对不同风场风速数据的普遍适应性。
申请公布号 CN102129511B 申请公布日期 2014.04.30
申请号 CN201110044589.1 申请日期 2011.02.21
申请人 北京航空航天大学 发明人 罗文;王莉娜
分类号 G06Q10/04(2012.01)I;G06Q50/06(2012.01)I 主分类号 G06Q10/04(2012.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 成金玉
主权项 1.一种基于MATLAB的风电场短期风速预测系统,其特征在于包括:数据处理单元、参数寻优单元和数据预测单元,其中:所述数据处理单元对输入原始数据进行处理,运用MATLAB中的小波工具箱对一段时间序列{X(t),t=1,2,3,……,n}的原始风速数据进行小波分解,分解级数为J,得到近似系数和细节系数,对J层细节系数进行软阀值降噪后再对分解后的各系数分别进行小波重构,得到X(t)=A<sub>J</sub>(t)+D<sub>1</sub>(t)+D<sub>2</sub>(t)+……+D<sub>J</sub>(t),其中A<sub>J</sub>(t)为近似系数序列,D<sub>J</sub>(t)为细节系数序列,J的取值范围为3-5,选择J<sub>1</sub>=3、J<sub>2</sub>=4、J<sub>3</sub>=5将数据分解后分别输入到参数寻优单元;所述参数寻优单元对数据处理单元输出的数据进行分析判定,得出适合输入数据的系统可变参数;所述系统的可变参数包括:小波分解层数J、数据预测单元输入数据维数n、支持向量机惩罚参数c和核函数参数g,小波分解层数J即为X(t)=A<sub>J</sub>(t)+D<sub>1</sub>(t)+D<sub>2</sub>(t)+……+D<sub>J</sub>(t)中的J,J取值范围3-5;数据预测单元的数据是以矩阵的形式输入,数据预测单元输入数据维数n代表的是输入矩阵的列数,参数寻优单元完成将时间序列A<sub>J</sub>(t)和D<sub>1</sub>(t)、D<sub>2</sub>(t)、……、D<sub>J</sub>(t)转换为数据预测单元的输入矩阵;以N表示每天的风速数据的个数,n在(1/6)N、(1/3)N、(1/2)N中进行选取;支持向量机惩罚参数c和核函数参数g,在参数寻优单元中通过遗传算法进行全局寻优,每组输入数据对应一组c和g;这样数据通过参数寻优单元时,(1)参数寻优单元基于MATLAB中的遗传算法工具箱自动求出输入数据所对应的参数c和g;(2)参数寻优单元在参数J<sub>1</sub>、J<sub>2</sub>、J<sub>3</sub>下,按照n<sub>1</sub>=(1/6)N、n<sub>2</sub>=(1/3)N、n<sub>3</sub>=(1/2)N分别将A<sub>J</sub>(t)和D<sub>1</sub>(t)、D<sub>2</sub>(t)、……、D<sub>J</sub>(t)转换为数据预测单元的输入矩阵,同时得到J和n的9个参数组合:J<sub>1</sub>n<sub>1</sub>、J<sub>2</sub>n<sub>1</sub>、J<sub>3</sub>n<sub>1</sub>、J<sub>1</sub>n<sub>2</sub>、J<sub>2</sub>n<sub>2</sub>、J<sub>3</sub>n<sub>2</sub>、J<sub>1</sub>n<sub>3</sub>、J<sub>2</sub>n<sub>3</sub>、J<sub>3</sub>n<sub>3</sub>和9组不同的数据预测单元的输入矩阵;(3)将得到的参数c、g和9组J与n的参数组合与输入矩阵输入到数据预测单元,并引入均方误差<img file="FDA0000047292590000011.GIF" wi="352" he="99" />N为预测样本数,y(i)为真实值,y*(i)为拟合值,以数据小波分解后的近似系数的拟合均方误差较低为标准,在数据预测单元中通过数据拟合选出适合输入数据的参数J<sub>i</sub>和n<sub>j</sub>,最终确定可调系数c、g、J和n后,送入数据预测单元进行预则;所述数据预测单元,使用MATLAB中的支持向量机工具箱,基于支持向量机算法,包括数据训练、数据拟合测试和数据预测,完成对未来数据的预测;在参数寻优单元输出参数c、g和对应不同参数J和n组合的9组输入矩阵后,数据预测单元首先将9组输入矩阵分别进行训练集和测试集的划分;训练集和测试集均为数据预测单元中按照系统算法划分的数据组,数据量控制在10∶1,均包含输入和输出数据;本系统中设定的数据集输入输出算法为:{X<sub>1</sub>(t)、X<sub>2</sub>(t)、X<sub>3</sub>(t)、……、X<sub>n</sub>(t)}为输入,{X<sub>n+1</sub>(t)}为输出,设数据预测单元的输入矩阵的维数为M*N,则划分:训练集输入为m<sub>1</sub>*N的矩阵,训练集输出为m<sub>1</sub>*1的矩阵;测试集输入为m<sub>2</sub>*N的矩阵,测试集输出为m<sub>2</sub>*1的矩阵,其中m<sub>1</sub>+m<sub>2</sub>=M、m<sub>1</sub>/m<sub>2</sub>=10,m<sub>1</sub>和m<sub>2</sub>分别代表着训练集和测试集矩阵的行数;划分训练集和测试集后,利用支持向量机模块中的训练函数对数据进行训练学习,即将训练集的输入和输出均输入到训练函数中,让向量机对此数据进行学习;训练学习时需要输入设定的参数,包括参数c和g、支持向量机类型、向量机核函数类型,训练学习后得到了对应该数据的支持向量机模型;训练学习后进入模型训练集和测试集的拟合测试;训练集拟合测试,即将事先划分好的训练集输入矩阵输入到已训练学习完毕的支持向量机模型中,得到模型的输出,比较此输出和之前划分的训练集输出之间的关系,以均方误差为判断标准;测试集拟合同训练集拟合,为验证已建立模型对不同数据的计算效果;在输入数据预测单元的9组数据中,因为数据处理单元中进行的小波变换,所以每组数据中均包含了1组近似系数数据和J组细节系数数据,拟合时在输入数据预测单元的9组参数J和n及其它们对应的数据中选出使近似系数拟合均方误差最小的参数J和n的组合以及它们对应数据,然后进行数据预测;数据预测时,将预测时刻之前的数据全部输入,在数据处理单元将原始数据进行了J层分解,即分解为1个近似系数序列和J个细节系数序列,则在预测时有J+1个预测结果序列,按照公式<img file="FDA0000047292590000021.GIF" wi="352" he="106" />将预测结果叠加即为系统最终的预测值,公式中a*<sub>J</sub>代表近似系数序列的预测值,d*<sub>i</sub>代表细节系数序列的预测值,x(t)表示系统最终的预测结果,其中i=1、2、3……J。
地址 100190 北京市海淀区学院路37号