基于小波分析法与神经网络法的非平稳风速
信号短期预测优化算法
刘辉1, 2,田红旗1,CHEN Chao2,李燕飞1
(1. 中南大学 交通运输工程学院 轨道交通安全教育部重点实验室,湖南 长沙,410075;
2. 莫纳什大学 机械与航空工程系 运动产生与分析实验室,澳大利亚 墨尔本,3168)
摘要:为提高传统神经网络对非平稳风速的预测精度,提出一种基于小波分析法与神经网络法混合建模的优化算法。该优化方法引入小波分析法对实测非平稳风速信号进行分解,将非平稳性原始风速序列转化为多层较平稳分解风速序列,再利用BP神经网络对各分解层风速序列建立预测模型,最终加权各层预测结果获得风速超前多步预测结果。仿真结果表明:该优化算法实现了风速的高精度短期多步预测,将传统神经网络法对应超前步数的平均绝对相对误差分别提高了55.56%,32.43%和34.58%,其超前1步、3步和5步预测的风速平均相对误差分别为0.48%,1.50%和2.97%。优化网络具备信号分解与自学习能力。
关键词:优化算法;风速预测;小波分析法;神经网络法
中图分类号:U216 文献标志码:A 文章编号:1672-7207(2011)09-2704-08
Short-term forecasting optimization algorithm for unsteady wind speed signal based on wavelet analysis method and neutral networks method
LIU Hui1, 2, TIAN Hong-qi1, CHEN Chao2, LI Yan-fei1
(1. Key Laboratory of Traffic Safety on Track of Ministry of Education,
School of Traffic and Transportation Engineering, Central South University, Changsha 410075, China;
2. Laboratory of Motion Generation and Analysis, Department of Mechanical and Aerospace Engineering,
Monash University, Melbourne 3168, Australia)
Abstract: To promote the forecasting performance of traditional neural networks for non-stationary wind speed signal, an optimization algorithm was proposed based on wavelet analysis method and neural networks method. This optimization algorithm employed wavelet analysis method to make signal decomposition and reconstruction calculations for original wind speed series attain more steady sub-series. Then BP neural networks method was used to build unsteady prediction models for each layer to realize multi-step rolling forecast calculation. Simulation results show that the optimization algorithm can attain high-precision multi-step ahead forecast results, respectively improve forecast precision of traditional BP neural networks method by 55.56%, 32.43% and 34.58%, and the mean relative error of one-step, three-step and five-step ahead forecast are 0.48%, 1.50% and 2.97%. The optimization has signal decomposition and self-learning ability.
Key words: optimization algorithm; wind speed forecast; wavelet analysis method; neural networks method
近年来,风速预测迅速成为国内外一个新兴的热门研究课题。因为其研究成果不仅可以直接运用于保障恶劣强风环境下的高速铁路列车行车安全[1-5],同时也是风力发电系统避免强风损毁风机、保障风电并网安全的核心内容之一[6-7]。在铁路行车领域中,强风是一种主要的自然灾害[3-5],其所导致的列车安全事故时有发生,如1986年日本曾发生强风将运行列车吹到桥下的严重行车事故,2007年我国发生兰州—新疆铁路强风导致列车脱轨事故。为了减小铁路沿线强风对列车行车安全所造成的危害,世界各国纷纷研建铁路强风监测预警系统。如德国国家铁路公司[8]、东日本铁路公司[9-10],我国青藏铁路公司[1-2]均开发了强风监测预警系统。该类系统研建原理相似,均是在铁路沿线强风区域设置测风站,实时采集铁路沿线风速信息,融合沿线路况(桥梁/路堤/曲线半径)和列车信息(车型/载重/行车速度),建立恶劣强风环境下的车辆倾覆稳定性模型[1-2, 8-10]。作为预警系统的核心技术,风速短期预测已成为衡量系统功能的重要指标,也是世界各国铁路机构争相研究解决的重要内容[1-2, 8-10]。如Hoppmann等[8]提出了基于线性外推理论的铁路风速短期预测方法;Odaka等[9]提出了基于卡尔曼滤波理论的铁路风速预测方法。近年来,潘迪夫等[1-2]也开展了铁路沿线风速预测研究,并提出了基于时间序列分析等理论和卡尔曼滤波理论的短期风速预测预报方法。在风力发电领域中,对风电场风速实现较准确的未来预测,对于电力部门预防瞬间极大风速对发电机组造成的冲击损害,科学评价风能资源,制定完善的发电调度计划,衡量风电场的容量可信度,具有重要的指导意义[11-15]。同时,风速预测也是决定新增风电机组的安装容量与安装位置的重要因素[6]。相对于铁路沿线风速预测研究,风力发电风电场风速预测研究起步更早。尤其是近年来国际上混合预测优化研究发展极为迅速,已经成为提供模型预测精度的通用法则。如Mohammad等[16]使用模糊算法和神经网络法混合建模,得到单种模糊算法和神经网络均无法获得的高预测精度。Li[17]提出使用神经网络法和卡尔曼滤波法建立预测改进模型,通过卡尔曼滤波法提高神经网络模型自学习能力,实现短时高精度预测。杨秀媛等[7]采用时间序列分析法与神经网络法混合建模,也获得了超前1步预测的高优化精度。正如文献[7, 16-20]所述,相对于其他智能优化算法[21-22],神经网络由于其出色的非线性映射能力,建模简单,已逐渐成为研究非平稳信号预测的经典方法。但神经网络模型自身存在诸多问题,如在确定网络初始权值、确定网络层数和神经元节点数、选择网络训练样本数据格式等方面存在主观性和盲目性[16, 18]。同时,目前国内外对神经网络预测非平稳信号的研究也主要集中在超前1步预测[16, 18-20]。在此,本文作者选择神经网络为基础算法,重点研究其风速超前多步预测问题,以我国某测风站实测风速序列为例,提出了基于小波分析法与神经网络法混合建模的短期预测优化算法。同时针对神经网络结构参数难以确定的问题,提出了基于时间序列分析法建模流程的结构确定方法。
1 优化算法建模原理
将优化算法命名为小波分析-神经网络法(Wavelet-neural network),其原理阐述如下:选择小波分析法的分解与重构算法对拟预测风速序列进行n层分解与重构计算,实现将原始非平稳风速序列转化为多层较平稳风速序列;利用人工神经网络法对各分解层较平稳风速序列分别建立合适的预测模型。并利用所建的神经网络模型各分解层风速序列进行超前多步预测计算;对各层风速预测值进行加权计算,获取原始序列超前多步预测值。
本文优化算法实现风速预测的计算流程图如图1所示,这包括3个主要计算过程:
(1) 将原始风速序列(t=1, 2, 3, …)经小波分析法进行信号分解与重构,分别获得高频风速序列 (n=1, 2, 3, …)和低频风速序列;
(2) 分别对小波分解层序列 (n=1, 2, 3, …)和运用神经网络法建模,计算各超前k步预测值和( k=1, 2, 3, …);
(3) 对各分解层的超前k步预测值和进行加权计算,输出最终风速预测值。
图1 优化算法建模流程图
Fig.1 Calculation framework of prediction model
2 优化算法建模过程
运用本文提出的优化算法对我国大风区域某测风站实测原始风速序列(每3 min 1个采样点)进行建模与预测,原始风速序列如图2所示。取前300个数据建立预测模型,后100个数据检验模型。由于铁路调度系统[1-2]和风电监控系统[15]短期预警时间通常为10~20 min,因此,本文重点研究铁路沿线风速超前15 min(即超前5步)预测。
图2 原始风速序列
Fig.2 original wind speed series
2.1 小波分析法分解与重构计算
选用Daubechies 6小波对原始序列进行信号分解,分解深度n=3[23-25]。选用小波分析法Mallat算法对分解后的风速序列在不同尺度上进行信号重 构[23-25]。
为了建模方便,将第1层高频分量序列记为序列{X4t},第2层高频分量序列记为序列{X3t},第3层高频分量序列记为序列{X2t},第3层低频分量序列记为序列{X1t}。
2.2 神经网络法建模
尽管神经网络法包含许多优秀网络算法,但由于BP网络具有简单易行、计算量小、并行性强等优点,目前仍是多层前馈式网络训练的首选方法之一。BP网络采用梯度下降法,用迭代算法求解。本文选择BP网络作为预测模型,阐述所提出的小波分析法即神经网络法的良好优化性能。
2.2.1 确定网络层数
神经网络层数包括输入层、输出层以及可以加强网络映射精度的隐含层。正如Kolmogorov定理所 言[21-22]:3层BP神经网络能够以任何精度逼近任何非线性信号或系统。增加隐含层自然能够提高模型精度,但对于拥有3个及以上层数的前馈网络,通过增加层数方式所提高的模型精度收益远低于所带来的额外计算时间。考虑到调度监控系统对风速预测的高实时性要求,最终选择带1个隐含层的3层BP网络。
2.2.2 确定各层神经元数目
各层神经元数目也是神经网络性能的重要参数。其中,输入和输出层神经元数目通常与拟解决问题和数据样本相关,隐含层神经元数目取决于输入输出层神经元数目和网络要求精度。目前,国内外都是采取尝试法和经验公式法根据输入与输出层神经元数目来确定隐含层神经元数目[9, 18, 21-22]。
对于多参数神经网络优化问题,可以将多参数变量作为网络输入层,将拟解决问题变量作为输出层以建立神经网络模型。但是对于单变量信号,如本文所描述的单测风站单维非平稳风速信号,通常都是建立单输入和单输出神经元网络,但其预测结果并不理 想[18, 20]。若建立多输入神经元节点网络,则只能使用尝试法进行确定。针对该问题,本文提出一种根据时间序列分析理论主要建模流程确定神经网络输入层和输出层神经元数目的方法。该办法避免了单维数信号人为确定输入和输出神经元节点数的盲目性和随机性。该方法主要建模步骤如下。
(1) 利用Pandit-Wu时序建模方案的自相关与偏相关方法,识别风速序列所属的时序模型类型。如序列{X1t}自相关系数与偏相关系数图如图3所示。由图3可知:其自相关系数呈拖尾状态,偏相关系数呈截尾状态,可推断序列{X1t}满足高阶自回归或是自回归滑动平均模型。鉴于本文对风速实时性要求,为了降低后续参数估计计算量,选择对序列{X1t}建立高阶自回归模型。
(2) 利用AIC (Akaike’s information criterion)准则,确定上面步骤所定自回归模型的最优阶次。然后运用矩估计法计算模型待估参数。如序列{X1t}时序最优模型阶次为AR(7),参数估计计算后获得的模型预测差分方程为:
Xt=2.532 6Xt-1-2.034 3Xt-2+0.502 7Xt-3-0.187 8Xt-4+
0.376 3Xt-5-0.300 9Xt-6+0.111 4Xt-7+at (1)
式中:at为模型残差。
方程(1)揭示了该段风速中历史序列与当前时刻序列的关系。因此可推断网络最优输入层神经元数目为7个,输出层神经元节点数为1个。将输入层和输出层神经元数目代入到经验公式(2)和(3)中,平均即可确定隐含层神经元数目为12。
(2)
(3)
式中:m为输入层神经元数目;n为输出层神经元数目;L为隐含层神经元数目。最终获得序列{X1t}所满足的神经网络输入输出数据结构,如图4所示。
图3 自相关与偏相关系数图
Fig.3 Graph of auto-correlation and partial-correlation coefficients
图4 神经网络结构图
Fig.4 Structure graph of neural networks
2.2.3 确定其他训练参数
网络隐含层传递函数为Sigmod函数,输出层传递函数为Purelin函数,训练算法采用变学习率动量梯度下降算法,学习速率设置为0.1,动量项系数设置为0.95,最大训练时间为30 s,模型训练目标最小均方误差取0.001。
2.3 分解层风速序列神经网络预测
参考2.2节所述的神经网络建模流程,运用序列{X1t}前300个数据对所确定神经网络模型结构进行学习训练,结果如图5所示。
由图5可知:所建神经网络模型在迭代计算346步之后达到预设精度要求,网络实际输出值与理想输出值比率达到0.998 11,所建网络模型适合序列{X1t}。运用训练后的网络模型对序列{X1t}后100个数据进行超前1步预测,结果如图6所示。
同理,对序列{X2t},{X3t}和{X4t}分别建立神经网络模型。可以根据各自序列数据特征确定神经网络结构,也可以直接选用序列{X1t}的网络结构。因为小波分解层中低频层起到决定作用。然后利用各序列前300个数据分组完成模型训练,再对各序列后100个数据依次进行超前1步预测计算,结果如图7~9所示。
图5 {X1t}序列神经网络训练结果
Fig.5 Neutral networks training results of {X1t} series
图6 {X1t}序列超前1步预测结果
Fig.6 One-step ahead forecasting results of {X1t} series
图7 {X2t}序列超前1步预测结果
Fig.7 One-step ahead forecasting results of {X2t} series
图8 {X3t}序列超前1步预测结果
Fig.8 One-step ahead forecasting results of {X3t} series
图9 {X4t}序列超前1步预测结果
Fig.9 One-step ahead forecasting results of {X4t} series
2.4 各分解层预测结果加权计算
当完成各分解层风速序列预测后,根据式(4)加权计算原始风速序列后100个数据超前1步预测值。本文取加权系数,加权预测结果如图10所示。同理,依次分别计算原始序列后100个数据的超前3步预测值和超前5步预测值,结果分别如图11和图12所示。
(4)
3 优化算法预测结果分析
引入国际通用的预测精度评价指标对图10~12所示预测结果进行评估,相关指标的计算结果如表1所示。为了进一步显示所提出小波分析-神经网络混合优化算法的良好性能,本文直接按照2.2节中的相同参数,运用BP神经网络法对原始序列的同一段风速样本进行建模训练,然后分别进行超前1步、3步和5步预测,其精度评价结果如表2所示。
图10 序列超前1步预测结果
Fig.10 One-step ahead forecasting results of series
图11 序列超前3步预测结果
Fig.11 Three-step ahead forecasting results of series
图12 序列超前5步预测结果
Fig.12 Five-step ahead forecasting results of series
由图10~12可知:(1) 随着模型超前预测步数的增大,不管是优化模型还是传统神经网络模型的超前多步预测精度均明显下降;(2) 由于优化模型引入了小波分析方法参与混合建模,使混合模型增强了对跳跃突变信号的细分学习能力,因此,其超前多步预测精度下降速度与传统神经网络模型的相比较缓慢,优化模型体现出更为出色的鲁棒性。
表1 优化算法风速预测结果分析表
Table 1 Analysis table of forecasting results of wind velocity by optimization algorithm
表2 神经网络法风速预测结果分析表
Table 2 Analysis table of forecasting results of wind velocity by neural networks method
表3 优化算法提高神经网络模型的风速预测精度表
Table 3 Percentage table of forecast precision of wind velocity improved by optimization algorithm
通过分析表1~3可知:优化算法所建模型的各项预测评价指标均优于相同训练样本和参数下的传统神经网络法对应指标,以模型超前5步预测为例,平均绝对误差下降了34.23%,平均相对误差下降了34.58%,均方根误差下降了32.56%。优化算法的超前5步预测平均相对误差仅为2.97%,远远超过工程运用中通常不超过5%的高精度要求。
4 结论
(1) 提出基于小波分析法-神经网络法的预测优化算法。该优化算法吸收了小波分析法的细分功能,具有对风速跳跃点出色的追踪能力。同时,优化算法具有神经网络强大的非线性隐射能力,面对非平稳风速序列,所建混合模型也能满足超前多步预测的较高精度要求。
(2) 优化算法所包含的基于时间序列理论的神经网络结构确定方法具有简单有效的特点,该方法避免了在确定单维数序列神经网络结构时的盲目性和随意性。通过简单的时间序列建模步骤,即可准确确定网络输入层和输出层神经元节点数。该方法可推广到BP网络以外的神经网络。
(3) 随着超前步数的增大,优化算法提高预测精度的能力也依次降低,这符合超前步数越大、高精度预测难度越大的客观事实。与其他算法如时间序列分析法、卡尔曼滤波法相比,其混合建模过程并没有明显增加计算难度和计算量,通过借助MATLAB神经网络工具箱可以方便地实现其优化计算步骤,在工程中能够实时地获得超前风速预报值,可在相关风速预警系统中推广使用。
参考文献:
[1] 潘迪夫, 刘辉, 李燕飞, 等. 青藏铁路格拉段沿线风速短时预测方法[J]. 中国铁道科学, 2009, 29(5): 129-133.
PAN Di-fu, LIU Hui, LI Yan-fei, et al. A short-term forecast method for wind speed along Golmud—Lhasa section of Qinghai—Tibet railway[J]. China Railway Science, 2009, 29(5): 129-133.
[2] 刘辉, 潘迪夫, 李燕飞. 基于列车运行安全的青藏铁路大风预测优化模型与算法[J]. 武汉理工大学学报: 交通科学与工程版, 2008, 32(6): 986-989.
LIU Hui, PAN Di-fu, LI Yan-fei, et al. Qinghai—Tibet railway gale forecasting optimization model and algorithm based on train running safety[J]. Journal of Wuhan University of Technology: Transportation Science & Engineering, 2008, 32(6): 986-989.
[3] 高广军, 田红旗, 姚松, 等. 兰新线强横风对车辆倾覆稳定性的影响[J]. 铁道学报, 2004, 26(4): 36-40.
GAO Guang-jun, TIAN Hong-qi, YAO Song, et al. Effect of strong cross-wind on the stability of trains running on the Lanzhou—Xinjiang railway line[J]. Journal of the China Railway Science, 2004, 26(4): 36-40.
[4] 杨明智, 袁先旭, 鲁寨军, 等. 强侧风下青藏线列车气动性能风洞试验研究[J]. 实验流体力学, 2008, 22(1): 76-79.
YANG Ming-zhi, YUAN Xian-xu, LU Zhai-jun, et al. Experimental study on aerodynamic characteristics of train running on Qinghai—Tibet railway under cross winds[J]. Journal of Experiments in Fluid Mechanics, 2008, 22(1): 76-79.
[5] 周丹, 田红旗, 杨明智, 等. 强侧风下客车在不同路况运行的气动性能比较[J]. 中南大学学报: 自然科学版, 2008, 39(3): 554-559.
ZHOU Dan, TIAN Hong-qi, YANG Ming-zhi, et al. Comparison of aerodynamic performance of passenger train traveling on different railway conditions up strong cross-wind[J]. Journal of Central South University: Science and Technology, 2008, 39(3): 554-559.
[6] 谢建民, 邱毓昌. 大型风力发电场选址与风力发电机优化匹配[J]. 太阳能学报, 2001, 22(4): 466-472.
XIE Jian-min, QIU Yu-chang. Siting of large wind farm and optimum wind turbine-site matching[J]. Acta Energiae Solaris Sinica, 2001, 22(4): 466-472.
[7] 杨秀媛, 肖洋, 陈树勇. 风电场风速和发电功率预测研究[J]. 中国电机工程学报, 2005, 25(11): 1-5.
YANG Xiu-yuan, XIAO Yang, CHEN Shu-yong. Wind speed forecast model for wind farms based on time series analysis[J]. Proceedings of the CSEE, 2005, 25(11): 1-5.
[8] Hoppmann U, Koenig S, Tielkes T, et al. A short-term strong wind prediction model for railway application: design and verification[J]. Journal of Wind Engineering and Industrial Aerodynamics, 2002, 90: 1127-1134.
[9] Odaka T, Ashiya K, Tsukada S, et al. New stand-alone and advanced earthquake early warning systems designed to protect railways[J]. Transportation Research Record, 2006, 1943: 20-24.
[10] Shiibashi A. Safety measures on the station platform [J]. Japanese Railway Engineering, 2001, 146: 4-7.
[11] 丁明, 张立军, 吴义纯. 基于时间序列分析的风电场风速预测模型[J]. 电力自动化设备, 2005, 25(8): 32-34.
DING Ming, ZHANG Li-jun, WU Yi-chun. Wind speed forecast model for wind farms based on time series analysis[J]. Electric Power Automation Equipment, 2005, 25(8): 32-34.
[12] 潘迪夫, 刘辉, 李燕飞. 基于时间序列分析和卡尔曼滤波算法的风电场风速预测优化模型[J]. 电网技术, 2008, 32(7): 82-86.
PAN Di-fu, LIU Hui, LI Yan-fei. A wind forecasting optimization model for wind farms based on time series analysis and Kalman filter algorithm[J]. Power System Technology, 2008, 32(7): 82-86.
[13] 刘辉, 田红旗, 李燕飞. 基于小波分析法与滚动式时间序列法的风电场风速短期预测优化算法[J]. 中南大学学报: 自然科学版, 2010, 41(1): 370-375.
LIU Hui, TIAN Hong-qi, LI Yan-fei. Short-term forecasting optimization algorithm for wind speed from wind farms based on wavelet analysis method and rolling time series method[J]. Journal of Central South University: Science and Technology, 2010, 41(1): 370-375.
[14] Billinton R, CHEN Hua, Ghajar R. Time-series models for reliability evaluation of power systems including wind energy[J]. Microelectronics and Reliability, 1996, 36(9): 1253-1261.
[15] Fonte P M, Silva G X, Quadrado J C. Wind speed prediction using artificial neural networks[J]. WSEAS Transactions on Systems, 2005, 4(4): 379-383.
[16] Mohammad M, Hasan R, Hossein K. A new strategy for wind speed forecasting using artificial intelligent methods[J]. Renewable Energy, 2009, 34(3): 845-848.
[17] LI Shu-hui. Wind power prediction using recurrent multilayer perceptron neural networks[C]//IEEE Power Engineering Society General Meeting. Toronto: Institute of Electrical and Electronics Engineers Inc, 2003: 2325-2330.
[18] Palomares-Salas J C, Delarosa J J G, Ramiro J G, et al. ARIMA vs. neural networks for wind speed forecasting[C]//Proceedings of IEEE International Conference on Computational Intelligence for Measurement Systems and Applications. Piscataway: IEEE Computer Society, 2009: 129-133.
[19] Zhang G. A neural network ensemble method with jittered training data for time series forecasting[J]. Information Sciences, 2007, 177: 5329-5346.
[20] EI-Fouly T, EI-Saadany E, Salama M. One day ahead prediction of wind speed using annual trends[C]//Proceedings of the Power Engineering Society General Meeting. Piscataway: IEEE Computer Society, 2006: 1-7.
[21] EI-Fouly T, EI-Saadany E, Salama M. Improved grey predictor rolling models for wind power prediction[J]. IET Generation, Transmission and Distribution, 2007, 1(6): 928-937.
[22] Louka P, Galanis G, Siebert N, et al. Improvements in wind speed forecasts for wind power prediction purposes using Kalman filtering[J]. Journal of Wind Engineering and Industrial Aerodynamics, 2008, 96(12): 2348-2362.
[23] 邰能灵, 候志俭, 李涛, 等. 基于小波分析的电力系统短期负荷预测方法[J]. 中国电机工程学报, 2003, 23(1): 45-50.
TAI Neng-ling, HOU Zhi-jian, LI Tao, et al. New principle based on wavelet transform for power system short-term load forecasting[J]. Proceedings of the CSEE, 2003, 23(1): 45-50.
[24] 徐科, 徐金梧, 班晓娟. 基于小波分解的某些非平稳时间序列预测方法[J]. 电子学报, 2001, 29(4): 566-568.
XU Ke, XU Jin-wu, BAN Xiao-juan. Forecasting of some non-stationary time series based on wavelet decomposition[J]. Acta Electronica Sinica, 2001, 29(4): 566-568.
[25] 王军, 彭喜元, 彭宇. 一种新型复杂时间序列实时预测模型研究[J]. 电子学报, 2006, 34(12A): 2391-2394.
WANG Jun, PENG Xi-yuan, PENG Yu. A novel real time predictor for complex time series[J]. Acta Electronica Sinica, 2006, 34(12A): 2391-2394.
(编辑 杨幼平)
收稿日期:2010-08-18;修回日期:2010-11-30
基金项目:国家“十一五”科技支撑计划重点项目(2006BAC07B03);国家留学基金资助项目(2009637066);中南大学首批优秀博士学位论文扶植基金资助项目(2008yb044)
通信作者:刘辉(1983-),男,福建仙游人,博士,德国罗斯托克大学科学研究员,从事轨道交通安全、高速铁路信号辨识预测等研究;电话:13107428620;E-mail: liuhui8302@yahoo.com.cn