李世昌, 李 军
(1.中信重工工程技术有限责任公司,河南 洛阳 471039;2.兰州交通大学 自动化与电气工程学院,甘肃 兰州 730070)
随着可再生能源的发展,风能已经引起越来越多的关注。短期风电功率预测对电力系统的安全、经济运行有着重要的意义[1],因此是新能源应用领域中的研究热点。传统基于线回归的预测模型,如自回归积分滑动平均模型、卡尔曼滤波等,难以表述风电功率变化的内在非线性特征,更先进的统计方法,如神经网络[2-3]、支持向量机(Support Vector Machine,SVM)[4]、极限学习机(Extreme Learning Machine,ELM)[5]在风电功率预测中取得了较好的预测结果。文献[5]给出一种基于改进的ELM预测方法,该方法具有学习速度快、泛化性能好的优点,并已在风电功率预测中成功应用。
稀疏表示在图像领域中作为一种特征提取手段得到广泛应用[6]。稀疏表示方法包括稀疏编码和字典学习。文献[7]将基于正交匹配追踪(Orthogonal Matching Pursuit,OMP)的贪婪学习算法应用于数据恢复中。文献[8]给出了针对信号稀疏表示的过完备字典进行训练的高效字典学习算法——K-均值奇异值分解(K-Means Singular Value Decomposition,K-SVD)算法及其实现。文献[9]则给出一种直接基于K-SVD的字典学习算法构建预测模型的预测方法,将其成功用于金融领域时间序列的股票收益预测中。
鉴于稀疏表示方法的良好特性,本文提出一种基于字典学习的K-SVD-OMP特征建模方法,与SVM或ELM方法结合,构成全局预测模型。所提出的方法将其应用于短期风电功率预测中,在同等条件下,将基于不同稀疏表示特征提取的建模方法,以及现有的单一预测方法进行对比,验证所提出的方法的有效性。
稀疏表示是基于超完备字典中少数基向量,以更简洁的形式表示原信号,以获取原信号的内在特性信息。信号x∈Rm的稀疏表示为
x=Φα
(1)
式中,α∈RK为系数向量;Φ={φ1,φ2,…,φK}∈Rm×K为字典矩阵,φi为字典Φ中的基向量。
针对式(1),通过l0范数优化问题的求解,可获得α∈RK的近似逼近,即
(2)
式中,δ为误差指标且δ≥0。
对式(2)中系数向量α的非零数目进行约束,可变换为
(3)
式中,M为稀疏度,即α中的非零系数的数目。
对式(2)和式(3)的求解本质是一个NP难问题,可采用贪婪算法或松弛算法进行逼近求解,采用松弛算法时,式(2)的优化问题可变形为
(4)
式(4)为式(2)的l1范数表达形式。式(4)可通过LASSO(Least Absolute Shrinkage and Selection Operator)方法[10]求解。
在稀疏表示中,针对字典有不同的构造方式,一般有分析字典和学习字典两大类,分析字典有小波字典、离散余弦变换(Discrete Cosine Transform,DCT)字典等,本文采用在字典构造中自适应能力更强的K-SVD学习字典。
K-SVD算法在K-均值基础上对K个不同子集进行SVD分解,构造出初始字典并对字典中的原子进行更新,其更新策略是对字典Φ的原子(即其列向量),按顺序更新。在算法迭代更新过程中,主要为两个步骤:稀疏编码求解和字典更新学习。
K-SVD算法的目标方程可表示为
(5)
式(5)的求解即为稀疏编码,本质上式(5)的求解与式(3)是相同的,即可采用不同的稀疏编码求解算法,得到对应于字典矩阵Φ上的原信号的稀疏表示的系数矩阵A。
(6)
式中,Ek为字典Φ剥离原子φk后,在所有N个数据样本中带来的误差。
(7)
针对式(3)中稀疏向量求解的问题,可采用贪婪算法求解策略,得到对应于字典矩阵Φ上的原信号的稀疏表示的系数向量α。其中,OMP算法是MP算法的改进,它对所选的全部原子进行正交化处理,使得在相同迭代次数下,OMP结果更优。
对式(3)中稀疏编码向量的求解问题,可转换为
(8)
针对式(8)的系数编码求解,采用OMP算法实现,具体步骤如下。
① 初始化参数,令索引集Λ0=∅,残差向量r0=x,迭代次数t=1。
② 求解出字典矩阵中原子φi与残差r内积最大时所对应的索引χt,即
(9)
该步骤是一个贪心选择求解过程。
③ 增广索引集,选择索引集Λt=Λt-1∪{χt},更新字典Φt=[Φt-1,φχt],需要注意的是,Φ0是空矩阵。
④ 由最小二乘问题求解,可获取原数据新的表示,即
(10)
⑤ 更新残差rt=x-Φtαt。
⑥t=t+1,判定是否满足t≤M,若不满足则执行步骤②。
下面具体阐述基于稀疏表示的特征提取方法与不同预测模型结合构建的短期风电功率时间序列模型。
针对时间序列数据{yi},i=1,2,…,N,将其构建为预测模型的输入数据集,预测模型为
(11)
在ELM预测模型中,对于一个有L个隐含层节点的单隐层神经网络(SLFN),当给定激活函数为h(x)时,其网络节点的输出为
(12)
Hθ=t
(13)
式中,θ为输出权值向量;H为隐含层的输出矩阵;t为目标矩阵。
ELM的输出等价于求解线性方程Hθ=t的最小二乘法求解,即
(14)
式中,H+为输出矩阵H的广义逆矩阵。考虑到求解的稳定性,进一步得到:
(15)
式中,η为正则化参数。ELM的输出函数为
(16)
考虑SVM完成时,采用LIBSVM软件求解。对于单输出的ε-SVM,则有
(17)
k(xi,xj)选取高斯核函数,即:
k(xi,xj)=exp(-0.5‖xi-xj‖2/ζ2)
(18)
式中,ζ为函数的宽度参数,设定函数的径向作用范围。
将基于K-SVD-OMP算法的稀疏表示特征提取建模方法应用在短期风电功率预测中,具体实现过程如下。
③ 基于2.2节中的OMP算法,可得到训练数据中的输入xi,在超完备字典Φ上所对应的稀疏表示系数向量αi。
④ 将αi作为预测模型f(·)输入,训练集中相对应的yi作为模型输出,f(·)可采用式(16)或式(17),对模型进行训练。
为对比在稀疏表示特征提取建模方法中不同的字典构建方法与稀疏编码求解算法对模型预测结果的影响,本实验考虑了非字典学习的稀疏编码算法(如初始字典选择DCT字典),另外,稀疏编码算法还采用了LASSO算法,即将DCT-LASSO、DCT-OMP、K-SVD-LASSO等不同的稀疏表示建模方法在实验中进行比较。
实验中预测结果评价指标采用相对误差(Relative Error,RE)、平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)和均方根误差(Root Mean Square Error,RMSE),即
(19)
(20)
(21)
实验数据来自于某风电场2011年全年的实际风电功率值,由加拿大亚伯达省电网公司提供[11],其原数据对风电功率数值采样间隔为10 min。实验中对原数据进行处理,选取该风电场3月24日至4月15日之前的数据作为训练数据,4月16日全天数据作为测试数据,并将3个连续的原数据进行加和平均,即处理为采样间隔为30 min的新数据。预测模型输入构造如式(11)所示,嵌入维m=6,步长h=1,延迟常数τ=1。
实验中,K-SVD算法中为保证得到超完备字典m 图1 K-SVD字典迭代重构误差曲线 图2 不同稀疏度下的不同预测模型MAPE对比 为对比不同特征提取建模预测方法,在M=5时,将本文所提出的基于字典学习的K-SVD-OMP方法与DCT非字典学习的特征提取建模方法,以及采用单一模型的SVM、ELM预测方法在相同条件下进行对比。其中,LASSO算法中,选择λ=0.2。表1列出了不同稀疏表示方法的预测结果数值比较。 表1 多种方法的预测结果对比 由表1可见,与单一SVM、ELM方法相比,采用稀疏表示特征提取建模的各预测方法的各预测指标均有提高,其中,基于字典学习的K-SVD-OMP特征提取建模方法对预测精度提升最有效,并在与ELM结合时取得了最好的预测效果。 为进一步衡量稀疏表示特征提取与ELM结合模型的预测效果,图3给出了单一ELM预测方法与ELM结合不同稀疏表示特征提取建模方法的绝对百分比误差(Aboluate Percentage Errors,APE)的箱线图。由图3可以看出,在APE指标下,基于字典学习的K-SVD-OMP方法与DCT非字典学习的特征提取建模方法相比,预测精度分布更为集中,预测精度更高。 图3 不同稀疏表示建模方法的箱线图 图4给出了K-SVD-OMP、K-SVD-LASSO结合ELM的预测方法与DCT-OMP、DCT-LASSO、单一ELM方法与实际风电功率预测结果比较。不同稀疏表示特征提取建模方法的预测结果与相对误差对比如图4、图5所示,结果表明基于K-SVD-OMP特征提取建模方法的预测结果拟合最好,相对误差波动较小。 图4 不同稀疏表示建模方法的预测结果对比 图5 不同稀疏表示建模方法的相对误差对比 针对短期风电功率预测实例,提出一种基于稀疏表示特征提取建模的K-SVD-OMP方法。该方法在字典构建阶段采用K-SVD算法,对重构误差进行SVD分解,使用最小的重构误差分解项对初始字典进行逐列更新,往复迭代直至获取最优解,较采用非字典学习的稀疏表示特征提取建模方法,在满足稀疏度的要求下对不同数据的自适应更好。在稀疏表示编码求解阶段采用OMP算法,因对所选的全部原子进行正交化处理,使得在相同迭代次数下,较LASSO算法结果更优。将所提出的稀疏表示特征方法与不同全局回归模型结合,并应用在短期风电功率预测实例中,与已有的单一SVM或ELM方法行了比较,实验结果表明,本文方法具有更高的预测精度,显示出更好的预测效果。还可考虑采用其他的字典学习算法进行进一步研究,将其应用于电力负荷峰值预测领域中。5 结束语