2. 重庆大学 输配电装备及系统安全与新技术国家重点实验室, 重庆 400044
2. State Key Laboratory of Power Transmission Equipment & System Security, Chongqing University, Chongqing 400044, P. R. China
近年来,光伏发电作为一种清洁的可再生能源,得到了快速发展。大规模光伏并网发电分析成为近年研究的热点[1-2]。由于光伏发电系统受天气状况,包括光照强度和环境温度等因素影响,其发电量和输出功率具有随机性强,波动大和不易控制的特点。随着越来越多兆瓦级光伏发电系统接入电网运行,对电网的稳定和调度管理带来了诸多问题。因此有必要对光伏发电系统的发电功率进行准确的预测,从而减少光伏发电随机性对电力系统的影响,提高电力系统的安全性和稳定性[3-5]。
光伏发电功率预测方法有间接法和直接法两大类。间接预测方法首先对太阳辐射进行预测,然后根据光伏发电系统的模型得到输出功率,文献[6]采用光照度历史数据,通过神经网络对光照强度进行预测,然后通过光照强度和环境温度参数计算光伏系统的输出功率。直接法采用光伏发电系统的历史发电数据,将光伏发电系统视为一个黑箱,通过建立光伏发电系统的模型实现功率预测,文献[7]采用BP神经网络模型对光伏系统的发电量进行了短期预测。郑凌蔚等[8]采用小波神经网络作为光伏发电系统非线性自回归模型 (NARX) 的非线性系统辨识函数。对晴天、多云天和雨天3种天气条件下光伏发电系统输出的有功功率进行预测,该方法的辨识拟合度在晴天为93.15%,多云天气为75.07%,雨天的时候为80.61%,可见该算法对不同的天气状况辨识精度存在差异。
针对现有光伏功率预测方法在不同天气状况预测精度不一致的问题,提出一种基于无迹卡尔曼滤波神经网络 (UKFNN) 的光伏发电系统功率预测方法,所预测的功率包括有功功率和无功功率。
1 UKF神经网络建模光伏发电系统是一个非线性系统,根据神经元激励函数的非线性特点,利用UKF实现神经网络权值系数的自适应调整,从而自适应模拟复杂的非线性系统。
1.1 神经网络的状态空间表示对于N层BP网络,每层神经元有Sk(k=1, 2, …, N) 输入,第k层神经元的连接权值为
| $ \omega _{ij}^{k}=\left( i=1,2,\cdot \cdot \cdot ,{{S}_{k-1}};j=1,2,\cdot \cdot \cdot ,{{S}_{k}} \right)。 $ | (1) |
为了将wijk的计算转化为UKF滤波的形式,将网络中的权值wijk和阈值b写成增广状态向量,如式 (2) 所示。
| $ \mathit{\boldsymbol{w}}={{\left[ \omega _{11}^{1},\cdot \cdot \cdot ,\omega _{s1s2}^{1},\cdot \cdot \cdot ,b_{1}^{1},\cdot \cdot \cdot ,b_{s1}^{1},\cdot \cdot \cdot ,\omega _{11}^{N},\cdot \cdot \cdot ,\omega _{sN-1sN}^{N},\cdot \cdot \cdot ,b_{1}^{N},\cdot \cdot \cdot ,b_{sN}^{N} \right]}^{\rm{T}}}。 $ | (2) |
对不同的神经网络进行训练,就是对网络的连接权值wijk和阈值b进行最优估计。因此,可将网络连接权值作为网络的状态变量,将输出作为网络的测量变量,则神经网络状态空间模型[9]可以表示为
| $ \left\{ \begin{align} &{{\mathit{\boldsymbol{w}}}_{k}}={{w}_{k-1,}} \\ &{{\mathit{\boldsymbol{y}}}_{ek}}=h\left( {{w}_{k}},{{\mathit{\boldsymbol{x}}}_{k}} \right)+{{\mathit{\boldsymbol{v}}}_{k}}, \\ \end{align} \right. $ | (3) |
式中:wk是权值向量,xk是网络输入向量,yek是网络的期望输出,h是神经网络激励函数,vk是观测噪声,在UKF神经网络中取为0。
1.2 无迹卡尔曼滤波算法无迹卡尔曼滤波 (Unscented Kalman Filter, UKF) 是一种递归贝叶斯估计方法,分为预测 (时间更新) 和更新 (测量更新) 两个步骤[10-13, 14, 15]。UKF采用无迹变换 (Unscented transform, UT) 实现均值和协方差的非线性传递,其更新过程采用卡尔曼滤波的测量过程[8]。
定义非线性系统
| $ \left\{ \begin{align} &{{\mathit{\boldsymbol{x}}}_{k+1}}=f\left( {{\mathit{\boldsymbol{x}}}_{k}},{{\mathit{\boldsymbol{u}}}_{k}} \right)+{{\mathit{\boldsymbol{w}}}_{k,}} \\ &{{\mathit{\boldsymbol{y}}}_{k}}=h\left( {{\mathit{\boldsymbol{x}}}_{k}} \right)+{{\mathit{\boldsymbol{v}}}_{k}}, \\ \end{align} \right. $ | (4) |
式中:xk是n维状态变量,当与神经网络算法融合时xk对应 (3) 式中的wk;uk是r维已知输入变量,本文中对应的是直流输入电压和电流;yk是k时刻的实际输出变量,当与神经网络算法融合时xk对应 (3) 式中的yek;wk是过程噪声向量,vk是测量噪声,本文中的wk和vk均采用高斯白噪声。f是线性函数;h是神经网络函数。
UT算法首先根据先验分布特性确定一组Sigma采样点,再将每个Sigma点带入非线性变换,得到一组变换点,通过非线性系统函数计算得到接近真实均值和方差值的后验均值和方差。UKF具体实现步骤如下:
1) 初始化
| $ \left\{ \begin{align} &{{\overline{\mathit{\boldsymbol{x}}}}_{0}}=E\left( {{\mathit{\boldsymbol{x}}}_{0}} \right), \\ &{{\mathit{\boldsymbol{P}}}_{0}}=E\left[ \left( {{\mathit{\boldsymbol{x}}}_{0}}-{{\overline{\mathit{\boldsymbol{x}}}}_{0}} \right){{\left( {{\mathit{\boldsymbol{x}}}_{0}}-{{\overline{\mathit{\boldsymbol{x}}}}_{0}} \right)}^{\rm{T}}} \right], \\ \end{align} \right. $ | (5) |
式中:x0是状态量初始值,E表示期望运算,(.)T是转置运算。x0是状态均值,P0是状态方差。
2) 时间更新
一个n维随机变量xk的均值和方差矩阵分别为x和Px,其一二阶矩可以通过构造2n+1个Sigma点χk-1获得,如式 (6) 所示。
| $ \mathit{\boldsymbol{\chi }}{{\rm{ }}_{k - 1}} = \left\{ \begin{array}{l} {\mathit{\boldsymbol{\overline x}} _{k - 1}},i = 0,\\ {\mathit{\boldsymbol{\overline x}} _{k - 1}} + {\left( {\sqrt {\left( {n + \lambda } \right){P_{k - 1}}} } \right)_i},i = 1,2, \cdot \cdot \cdot ,n,\\ {\mathit{\boldsymbol{\overline x}} _{k - 1}} - {\left( {\sqrt {\left( {n + \lambda } \right){P_{k - 1}}} } \right)_i},i = n + 1,n + 2, \cdot \cdot \cdot ,2n, \end{array} \right. $ | (6) |
式中:λ是常数,
Sigma点的均值和方差按式 (7) 计算。
| $ \left\{ \begin{align} &\omega _{0}^{m}=\frac{\lambda }{n+\lambda },i=0, \\ &\omega _{0}^{c}=\frac{\lambda }{n+\lambda }+\left( 1-{{\alpha }^{2}}+\beta \right),i=0, \\ &\omega _{i}^{m}=\omega _{i}^{c}=\frac{\lambda }{2\left( n+\lambda \right)},i=1,2,\cdot \cdot \cdot ,2n, \\ &\lambda ={{\alpha }^{2}}\left( n+\kappa \right)-n, \\ \end{align} \right. $ | (7) |
式中:ωim是均值权值,ωic是方差权值,α用于调节Sigma点和均值的距离,取0<α<1数,κ包含了Sigma点分布信息的加权系数,在光伏功率预测模型中,取α=0.08,κ=0,β=2.73。
UKF时间更新按式 (8) 进行。
| $ \left\{ \begin{array}{l} {\mathit{\boldsymbol{\chi }}_{k - 1\left| k \right.}} = \mathit{\boldsymbol{\chi }}{{\rm{ }}_k},\\ \mathit{\boldsymbol{\chi }}{\rm{ }}_{k\left| {k - 1} \right.}^* = f\left( {\mathit{\boldsymbol{\chi }}{{\rm{ }}_{k - 1}}} \right),\\ {\mathit{\boldsymbol{\overline x}} _{k\left| {k - 1} \right.}} = \sum\limits_{i = 0}^{2n} {\omega _i^m\mathit{\boldsymbol{\chi }}{\rm{ }}_{i,k\left| {k - 1} \right.}^*} ,\\ {P_{k\left| {k - 1} \right.}} = \sum\limits_{i = 0}^{2n} {\omega _c^i} \left( {\mathit{\boldsymbol{\chi }}{\rm{ }}_{i,k\left| {k - 1} \right.}^* - {{\mathit{\boldsymbol{\overline x}} }_{k\left| {k - 1} \right.}}} \right){\left( {\mathit{\boldsymbol{\chi }}{\rm{ }}_{i,k\left| {k - 1} \right.}^* - {{\mathit{\boldsymbol{\overline x}} }_{k\left| {k - 1} \right.}}} \right)^{\rm{T}}},\\ \mathit{\boldsymbol{\gamma }}{{\rm{ }}_{k\left| {k - 1} \right.}} = h\left( {\mathit{\boldsymbol{\chi }}{{\rm{ }}_{k\left| {k - 1} \right.}}} \right),\\ {\mathit{\boldsymbol{\overline y}} _{k\left| {k - 1} \right.}} = \sum\limits_{i = 0}^{2n} {\omega _i^m\mathit{\boldsymbol{\gamma }}{{\rm{ }}_{i,k\left| {k - 1} 。\right.}}} \end{array} \right. $ | (8) |
3) 测量更新
当获得新的测量值yk后,可以对状态变量均值和观测变量方差进行更新,如式 (9) 所示。
| $ \left\{ \begin{align} &{{P}_{\overline{y}k,\overline{y}k}}=\sum\limits_{i=0}^{2n}{\omega _{i}^{c}\left( {{\mathit{\boldsymbol{ }}\!\!\gamma\!\!\rm{ }}_{i,k\left| k-1 \right.}}-{{\overline{\mathit{\boldsymbol{y}}}}_{k\left| k-1 \right.}} \right){{\left( {{\mathit{\boldsymbol{ }}\!\!\gamma\!\!\rm{ }}_{i,k\left| k-1 \right.}}-{{\overline{\mathit{\boldsymbol{y}}}}_{k\left| k-1 \right.}} \right)}^{\rm{T}}}}, \\ &{{P}_{\overline{x}k,\overline{x}k}}=\sum\limits_{i=0}^{2n}{\omega _{i}^{c}\left( {{\mathit{\boldsymbol{ }}\!\!\chi\!\!\rm{ }}_{i,k\left| k-1 \right.}}-{{\overline{\mathit{\boldsymbol{x}}}}_{k\left| k-1 \right.}} \right){{\left( {{\mathit{\boldsymbol{ }}\!\!\gamma\!\!\rm{ }}_{i,k\left| k-1 \right.}}-{{\overline{\mathit{\boldsymbol{y}}}}_{k\left| k-1 \right.}} \right)}^{\rm{T}}},} \\ &{{K}_{k}}={{P}_{\overline{x}k,\overline{y}k}}P_{\overline{y}k,\overline{y}k}^{-1}, \\ &{{\overline{x}}_{k}}={{\overline{x}}_{k\left| k-1 \right.}}+{{K}_{k}}\left( {{y}_{k}}-{{\overline{y}}_{k\left| k-1 \right.}} \right), \\ &{{P}_{k}}={{P}_{k\left| k-1 \right.}}-{{K}_{k}}{{P}_{\overline{y}k,\overline{y}k}}\mathit{\boldsymbol{K}}_{k}^{\rm{T}}, \\ \end{align} \right. $ | (9) |
式中:xk|k-1和yk|k-1分别是一阶矩,Pxk, yk是状态变量与测量变量的协方差,Kk是UKF的增益矩阵,xk是更新状态估计值,Pk是更新状态方差矩阵。
2 实验测试与结果分析 2.1 光伏发电系统UKFNN建模利用神经网络对光伏发电系统进行建模,采用UKF对系统的输出和神经网络权值同时进行估计。将神经网络的权值向量wk作为UKF的状态变量xk,神经网络的期望输出yek作为UKF的观测变量yk。基于UKF的神经网络预测算法流程如图 1所示。
|
图 1 基于UKF的神经网络算法流程图 Figure 1 Flowchart of UKF neural networkalgorithm |
以直流电压和直流作为系统的输入,分别以有功功率和无功功率作为输出,建立基于UKF的神经网络模型。本文中,选取3层BP神经网络,隐含层的传递函数采用Sigmoid函数,f (x)=1/(1+e-x),输出层采用Purelin线性激励函数h (x)=x,网络隐含层神经元个数取3个。
2.2 实验数据采集与处理以青海某光伏电站系统为研究对象,分别采集晴天、多云、阴雨3种不同天气条件下的直流电压、直流电流及输出有功功率和无功功率数据。采样时间间隔为15 min,每种天气类型各采集10 d数据,将10 d的数据分成两部分,前7 d作为训练组,实现模型相关参数的估计,后3 d作为模型的验证数据。对数据进行预处理,去掉了日出前和日落后的无效数据。经过处理后的晴天、多云和雨天3种典型天气条件下光伏逆变器输入电压电流及输出有功和无功功率信号如图 2所示。
|
图 2 不同天气状况下模型辨识样本数据曲线 Figure 2 The waveforms of the collected data under different weather conditions |
将所提出的基于无迹卡尔曼滤波的神经网络模型 (UKFNN) 与BP神经网络模型 (BPNN) 及扩展卡尔曼神经网络 (EKFNN) 的预测结果进行比较。在不同天气状况下,有功功率和无功功率的预测曲线如图 3所示。
|
图 3 不同模型的预测输出功率比较 Figure 3 Prediction results comparison between different model |
从图 3可见,UKFNN,BPNN以及EKFNN对有功功率的都具有良好的预测性能,预测输出接近实际的输出值,并且对天气具有良好的鲁棒性。而对无功功率的预测,UKFNN的预测精度优于EKFNN, UKFNN和EKFNN预测效果明显优于BPNN方法。EKFNN和UKFNN在不同天气状态在对有功功率和无功功率都能很好的预测,而UKFNN对天气的鲁棒性更好。为了进一步验证UKFNN的有效性,采用最佳拟合度来衡量模型输出与实际输出的拟合程度,如式 (10) 所示。
| $ {{f}_{\rm{BestFit}}}=\left( 1-\frac{\mathit{\boldsymbol{y}}-{{\mathit{\boldsymbol{y}}}^{*}}}{\mathit{\boldsymbol{y}}-\overline{\mathit{\boldsymbol{y}}}} \right)\times 100, $ | (10) |
式中:y为实测输出信号,y*为模型输出信号,y是实测输出信号y的平均值。
不同天气状况下UKFNN和BPNN对有功功率和无功功率预测的最佳拟合度如表 1所示。
| 表 1 UKFNN、BPNN及EKFNN三种方法最佳拟合度比较 Table 1 The best fits of UKFNN, BPNN and EKFNN |
从表 1可见:在不同天气条件下,UKFNN、BPNN以及EKFNN3种方法对有功功率预测的最佳拟合度均大于97%,3种方法在多云天时对有功功率预测的拟合度最低分别为96.6%,96.1%和96.8%。3种方法对无功功率的预测性能则有很大的差距。UKFNN和EKFNN方法对无功功率的预测拟合度在不同天气情况下均值分别为94.2%和91.3%,而BPNN方法对无功功率的预测拟合度只有30.7%,几乎不能实现对无功功率的预测。这主要是因为有功功率变化相对缓慢,而无功功率波动较快,静态BPNN不能有效地对动态时变信号进行跟踪。UKFNN以及EKFNN均具有动态演化能力,由于UKFNN方法克服了EKFNN算法截断误差项引起的缺陷,并且UKFNN在进行自适应调整时,可以捕捉系统状态的二阶矩,因此数值稳定性好。综上所述,对于光伏发电有功功率和无功功率的预测采用UKFNN方法能更好的进行动态调整,从而更准确地描述光伏电站的工作情况。
3 结论提出了一种基于无迹卡尔曼滤波神经网络的光伏发电站预测方法。该方法将光伏发电站看成两输入单输出的非线性黑箱模型,建立了晴天、多云天、雨天3种天气条件下的无迹卡尔曼神经网络模型。通过实测的光伏电站系统数据进行模型训练和模型验证表明:所提出的UKFNN方法具有较强的动态演化能力及自适应性,对不同天气情况下的发电情况都可以进行高精度的预测,即采用UKFNN方法对光伏发电功率预测具有良好的鲁棒性。
| [1] |
周德佳, 赵争鸣, 袁立强, 等.
具有改进最大功率跟踪算法的光伏并网控制系统及其实现[J]. 中国电机工程学报, 2008, 28(31): 94–100.
ZHOU Dejia, ZHAO Zhengming, YUAN Liqiang, et al. Implementation of a photovoltaic grid-connected system based on improved maximum power point tracking[J]. Proceedings of the CSEE, 2008, 28(31): 94–100. DOI:10.3321/j.issn:0258-8013.2008.31.015 (in Chinese) |
| [2] |
胡波, 野中佑斗, 横山隆一.
大规模光伏系统并网对配电网的影响[J]. 电力系统自动化, 2012, 36(3): 34–38.
HU Bo, YUTO Nonaka, RYUICHI Yokoyama. Influence of large-scale grid-connected photovoltatic system on distribution networks[J]. Automation of Electric Power Systems, 2012, 36(3): 34–38. (in Chinese) |
| [3] | Teng X L, Gao Z H, Zhang Y Y, et al. Key technologies and the implementation of wind, PV and storage cogeneration monitoring system[J]. Journal of Modern Power Systems and Clean Energy, 2014, 2(2): 104–113. DOI:10.1007/s40565-014-0055-1 |
| [4] |
叶林, 陈政, 赵永宁.
考虑电池荷电状态的光伏功率分段平滑控制方法[J]. 电网技术, 2014, 38(7): 1812–1818.
YE Lin, CHEN Zheng, ZHAO Yongning. A segmented smoothing control method for photovoltaic power considering battery's state of charge[J]. Power System Technology, 2014, 38(7): 1812–1818. (in Chinese) |
| [5] |
代倩, 段善旭, 蔡涛, 等.
基于天气类型聚类识别的光伏系统短期无辐照度发电预测模型研究[J]. 中国电机工程学报, 2011, 31(34): 28–35.
DAI Qian, DUAN Shanxu, CAI Tao, et al. Short-term PV generation system forecasting model without irradiation based on weather type clustering[J]. Proceedings of the CSEE, 2011, 31(34): 28–35. (in Chinese) |
| [6] | Yona A, Senjyu T, Funabashi T, et al. Application of neural network to one-day-ahead 24 hours generating power forecasting for photovoltaic system[C]//The 14th International Conference on Intelligent System Applications to Power Systems, ISAP 2007, November 4-8, 2007, Kaohsiung, Taiwan. [S.l]: IEEE, 2007: 1-6. |
| [7] |
陈昌松, 段善旭, 殷进军.
基于神经网络的光伏阵列发电预测模型的设计[J]. 电工技术学报, 2009, 24(9): 153–158.
CHEN Changsong, DUAN Shanxu, YIN Jinjun. Design of photovoltaic array power forecasting model based on neutral network[J]. Transactions of China Electrotechnical Society, 2009, 24(9): 153–158. (in Chinese) |
| [8] |
郑凌蔚. 光伏微电网控制与优化的若干问题研究[D]. 上海: 华东理工大学, 2014. ZHENG Lingwei. Study on some issues in PV microgrid control and optimization[D]. Shanghai: East China University of Science and Technology, 2014. (in Chinese) |
| [9] | Julier S J, Uhlmann J K, Durrant-Whyte H F. A new approach for filtering nonlinear system[C]// American Control Conference, Proceedings of the 1995, June 21-23, 1995. [S.l]: IEEE, 1995, 3: 1628-1632. |
| [10] |
罗兵, 黄万杰, 杨帅.
基于Tan-Sigmoid函数参数调整的BP神经网络改进算法[J]. 重庆大学学报 (自然科学版), 2006, 29(1): 150–153.
LUO Bing, HUANG Wanjie, YANG Shuai. Improved algorithm of BP neural networks based on parameters adjustment of Tan-Sigmoid transfer function[J]. Journal of Chongqing University (Natural Science Edition), 2006, 29(1): 150–153. (in Chinese) |
| [11] | Haykin S. Kalman filtering and neural networks[M]. John Wiley & Sons, Inc, 2001. |
| [12] | Wang S, Gao W, Meliopoulos A P S. An alternative method for power system dynamic state estimation based on unscented transform[J]. IEEE Transactions on Power Systems, 2012, 27(2): 942–950. DOI:10.1109/TPWRS.2011.2175255 |
| [13] | Menegaz H M T, Ishihara J Y, Borges G A, et al. A systematization of the unscented Kalman filter theory[J]. IEEE Transactions on Automatic Control, 2015, 60(10): 2583–2598. DOI:10.1109/TAC.2015.2404511 |
2017, Vol. 40


