工程科学与技术   2020, Vol. 52 Issue (6): 234-241
基于FCM和SSA–ELM的超短期风功率预测
张红涛, 韩婧, 谭联, 刘鹏, 张亮     
华北水利水电大学 电力学院,河南 郑州 450000
基金项目: 国家自然科学基金项目(31671580;U1504622)
摘要: 针对风电输出功率波动大、随机性强等特征引起风功率难以预测的问题,提出了基于模糊C均值聚类(fuzzy C-means,FCM)选取相似日和樽海鞘群算法优化极限学习机(SSA–ELM)的风电场超短期风功率预测模型。首先,采用FCM数据聚类方法,筛选出与预测日相关性较大的历史相似日,将其风速、温度、风向、气压等影响风功率的主要因素组成多输入样本集合;其次,通过训练集在训练过程中确定网络参数,利用樽海鞘群算法在迭代过程中不断优化极限学习机的输入权值矩阵及隐含层偏差值,建立樽海鞘群算法优化极限学习机的超短期风功率预测模型;最后,根据超短期风电并网的相关规定,针对河南省某风电场的实际数据,分别从基于相似日超短期预测、具有代表性的四季预测和滚动误差3方面进行仿真实验,并与传统极限学习机(extreme learning machine,ELM)和BP神经网络模型进行对比分析,结果表明本文提出的模型收敛速度快,预测精度较高。证明了基于FCM和SSA–ELM的超短期风功率预测模型具有良好的追踪性和泛化性。
关键词: 风功率预测    相似日    樽海鞘群算法    极限学习机    
Ultra-short-term Wind Power Prediction Based on Combination of FCM and SSA–ELM
ZHANG Hongtao, HAN Jing, TAN Lian, LIU Peng, ZHANG Liang     
School of Electric Power, North China Univ. of Water Resources and Electric Power, Zhengzhou 450000, China
Abstract: In order to solve the problem that wind power is hard to predict due to its characteristics such as large fluctuation and strong randomness, a ultra-short-term wind power prediction model for wind farms was proposed based on fuzzy C-means (FCM), which selects similar daily and salp swarm algorithm to optimize the extreme learning machine (SSA–ELM). Firstly, the FCM data clustering method was used to select similar days with higher correlation with the predicted days, of which the historical wind speed, temperature, wind direction and other climatic factors that are highly correlated with wind power formed a multi-input sample set. Secondly, the network parameters were determined in the training process through the training set, and the input weight matrix and hidden layer deviation of the extremely learning machine were optimized to improve the adaptability and accuracy of the prediction model by using the salp swarm algorithm in an iterative process. Finally, according to the ultra-short-term wind power interconnection related regulations, using the actual data of a wind farm in Henan province from ultra-short-term prediction based on similar days, three aspects of the four seasons and rolling prediction error of the representative simulation experiment, and the extreme learning machine (ELM) and BP neural network model were analyzed. The results show that the proposed model has faster convergence speed and higher prediction precision. It is demonstrated that the proposed ultra-short-term wind power prediction model based on FCM and SSA–ELM has good tracking and generalization ability.
Key words: wind power prediction    similar day    salp swarm algorithms    extreme learning machine    

风力发电具有绿色、清洁、储量大等特点,因此高效、准确的实时风功率预测对于风电并网尤为重要。2011年,中国国家能源局发布了针对风电并网调度管理规范的文件《风电场功率预测预报管理暂行办法》[1],其中,实时预报要求并网风电场每15 min一次滚动上报未来15 min — 4 h风电功率预测数据和实时风速等气象数据。为达到这一要求,风电场必须采取有效的超短期风功率预测。

目前,国内外对超短期风功率预测进行了大量的研究,预测方法已从最初的物理和统计预测模型演变至如今的深层神经网络预测模型。越来越多的优化算法被普遍应用到短期和超短期风功率预测研究中,其中,具有代表性的算法是遗传算法[2]和粒子群算法[3-4],二者对神经网络参数进行优化,免去复杂的网络设置过程,但都存在过拟合现象,易陷入局部最优解。针对上述问题,研究者们提出使用单隐层前馈神经网络(single-hidden layer feed forward networks,SLFNs)[5]、小波分解算法[6-7]、经验模态分解[8]等算法对风电时间序列数据进行预处理后,通过传统神经网络对风功率进行预测。但是,这些方法大多参数设置复杂,泛化能力较弱,难以获得最优风功率预测效果。Zhang[9]、Wang[10]等针对风电场的历史数据进行分解处理,将处理后的新数据作为神经网络的输入样本,从而提高预测精度。但是,传统神经网络参数随机,难以获得较高精度的风功率预测效果。Wu等[11]采用变分模态分解(VMD)对风速序列进行分解,通过蝙蝠算法(BD)优化最小二乘支持向量机模型(LSSVM)网络参数,针对不同频率的风速子序列进行风速预测。该方法针对不同数据序列的突出特征要求较高,预测过程繁琐。Yang等[12]通过对神经网络自身参数的改进优化,将提取的风电预测相关特征值作为训练集,对风功率进行预测。但是,训练集中涵盖了多个未经处理的风电异常数据,影响预测精度的提高。袁翀等[13]提出采用正则化极限学习机(regularized extreme learning machine,RELM)预测短期风速。相比于极限学习机(extreme learning machine,ELM),RELM在求解最小二乘误差的同时考虑了结构误差,有效避免了隐含层个数过多带来的过拟合问题,提高了寻找全局最优解的能力。该方法未对样本数据进行合理处理,原始数据的随机性和离群点将影响模型的预测精度。秦本双[14]采用模糊C均值聚类(fuzzy C-means algorithm,FCM)将数据划分为不同组别,根据不同样本集建立相应的极限学习机预测模型,取得了较小的预测误差。该方法在建立不同样本集的过程中针对性较强,随机预测风功率的能力较弱。

樽海鞘群算法(salp swarm algorithms,SSA)是近年来受海洋中樽海鞘群体行为启发而发展起来的一种启发式算法[15]。自提出以来,SSA已经在各种应用中证明了其有效性。

本文将SSA算法应用到ELM中,提出一种采用FCM选取相似日和基于樽海鞘群优化极限学习机的超短期风功率预测模型。通过FCM聚类,选取与预测日相似的历史日,将数据组成样本集,为建立的预测模型提高精度。并利用SSA在迭代过程中不断更新寻取最优解的特点,对ELM单隐层前馈神经网络随机产生的输入连接权值和隐含层偏置值进行优化,提高ELM的泛化能力且避免其过拟合问题。建立超短期风功率预测模型,且运用某风电场的历史数据对其进行仿真训练,观察预测效果,并且对相关评价指标进行分析。

1 基于FCM的数据聚类预处理

为了提高超短期风功率预测模型的精度,除了在实际历史数据中提取影响风功率的主要因素外,还可以通过找寻与预测日数据关联度较高的相似日作为预测模型的训练集,使得预测模型的构建更具有针对性。

结合实际风电场的历史数据,选择风速、温度、风向、气压等对于风电场功率有较大影响的因素作为特征量[16]。根据式(1)将特征向量中的数据逐一进行归一化处理:

${{\textit{z}}'_j} = \frac{{{{\textit{z}}_j} - {{\textit{z}}_{\min }}}}{{{{\textit{z}}_{\max }} - {{\textit{z}}_{\min }}}}$ (1)

式中, ${{\textit{z}}'_j}$ 为归一化后的数据, ${{\textit{z}}_j}$ 为原始数据, ${{\textit{z}}_{\min }}$ ${{\textit{z}}_{\max }}$ 分别为每种影响因素数据中的最小值和最大值。将归一化后的数据组成特征向量集,记为 ${{{A}}_i} = \left( {{{A}}_1},{{{A}}_2},\right. \left.{{{A}}_3},{{{A}}_4}, \cdots \right)$ ,其中, ${{{A}}_1}$ ${{{A}}_2}$ ${{{A}}_3}$ ${{{A}}_4}$ 等分别为风速、温度、风向、气压等风电场历史数据归一化后组成的特征向量。

常规聚类方法只是将样本简单分类,分类样本并不准确,为了提高本文提出的预测模型的精度,采用基于隶属度的指标模糊C均值聚类方法选择相似日[17-18],具体选择步骤如下:

1)确定聚类样本数据集

首先,确定待预测日并且获取待预测日的气象特征,对于样本总数 $M$ ,将待预测日气象数据列入历史样本数据集中,则样本总数为 $\left( {M + 1} \right)$ 。FCM聚类计算目标表达式[19]如下:

${\;\;\;\;\;\;\;\;\;{J}}({{U}},{{V}}){\rm{ = }}\sum\limits_{{{i = 1}}}^{{{M + 1}}} {\sum\limits_{{{r}} = 1}^N {({\mu _r}{{(i)}^m}{{\textit{Z}}_i} - {{V}}_r^2)} } ,1 \le m \le \infty $ (2)

式中, ${{U}}$ 为隶属度矩阵, ${{V}}$ 为各个聚类中心的位置向量, ${{J}}({{U}},{{V}})$ 为目标函数, $N$ 为聚类中心数目, $m$ 为权重系数, ${{\textit{Z}}_i}$ 为聚类指标, ${{{V}}_r}$ 为第 $r$ 个聚类中心的位置向量, ${\;\mu _r}(i)$ $i$ 个数据点对第 $r$ 个聚类中心的隶属度。

2)计算隶属度矩阵

${{{U}}^g} = [{\mu _r}{(i)^{(g)}}] \in {{{R}}_{r \times N}}$ (3)

式中, $g$ 为计算的迭代次数, ${{{R}}_{r \times N}}$ 为有理数矩阵,

${\mu _r}{(i)^{(g)}} = \frac{1}{{\displaystyle\sum\limits_{j = 1}^N {{{\left[ {\frac{{\left\| {{{\textit{Z}}_i} - {{{V}}_r}} \right\|}}{{\left\| {{{\textit{Z}}_i} - {{{V}}_j}} \right\|}}} \right]}^{\frac{2}{{m - 1}}}}} }}$ (4)

3)更新聚类中心位置向量

$g + 1$ 次的聚类 $r$ 的中心位置向量为:

${\;\;\;\;\;\;\;\;\;\;\;\;{{V}}_r} = \frac{{\displaystyle\sum\limits_{i = 1}^{M + 1} {{{({\mu _r}{{(i)}^{(g)}})}^m}{{\textit{Z}}_i}} }}{{\displaystyle\sum\limits_{i = 1}^{M + 1} {{{({\mu _r}{{(i)}^{(g)}})}^m}} }},1 \le r \le N$ (5)

4)迭代结束条件判断

根据迭代结束条件进行判断是否收敛,迭代结束条件为:

$\left\| {{\mu _r}{{(i)}^{(g)}} - {\mu _r}{{(i)}^{(g - 1)}}} \right\| \le \varepsilon ,\varepsilon > 0$ (6)

若满足式(6),则算法终止,得到划分矩阵和聚类中心,否则,转向步骤3)继续运算,直到满足终止条件。

2 基于SSA–ELM的预测模型

针对极限学习机在训练过程中,因参数过多会出现过拟合现象并影响模型预测精度的问题,利用樽海鞘群算法优化极限学习机中的输入权值和隐含层偏置值,通过樽海鞘群算法不断迭代更新,避免二者在随机选取时造成偏差,提高获得全局最优解的精度,为建立基于SSA–ELM的预测模型提供理论依据。

2.1 极限学习机

极限学习机(extremely learning machine,ELM)是由Huang等[20]提出的一种基于单隐层前馈神经网络(single-hidden layer feed forward networks,SLFNs)的算法,其网络结构如图1所示。

图1 极限学习机结构 Fig. 1 Structure of ELM

给定任意 $N$ 个样本 $\left( {{{{x}}_i},{{{t}}_i}} \right)$ ,其中,输入数据量为 ${{{x}}_i} = {\left[ {{{{x}}_{i1}},{{{x}}_{i2}}, \cdots ,{{{x}}_{iN}}} \right]^{\rm{T}}} \in {R^n}$ ,期望输出量为 ${{{t}}_i} = \left[ {{{t}}_{i1}},{{{t}}_{i2}}, \cdots ,\right. \left.{{{t}}_{iN}} \right]^{\rm{T}} \in {R^m}$ ,定义 $g\left( {{x}} \right)$ 为激活函数, $\widetilde N$ 为隐含层神经元个数,则标准的SLFNs输出函数可表示为:

${\;\;\;\;\;\;\;\;\;\;\;\;\sum\limits_{i = 1}^{\widetilde N} {{{{\beta}} _i}} g\left( {{{{\omega}} _i} \cdot {{{x}}_j} + {b_i}} \right)} = {{{o}}_j},j = 1,{\rm{2,}} \cdots ,N$ (7)

式中, ${b_i}$ 为第 $i$ 个隐含层神经元的偏置值, ${{{\omega}} _i} = \left[ {{{\omega}} _{i1}},\right. \left.{{{\omega}} _{i2}}, \cdots ,{{{\omega}} _{in}} \right]^{\rm{T}}$ 为连接第 $i$ 个隐含层神经元与输入神经元的权向量, ${{{\;\beta}} _i} = {\left[ {{{{\beta}} _{i1}},{{{\beta}} _{i2}}, \cdots ,{{{\beta}} _{im}}} \right]^{\rm{T}}}$ 为连接第 $i$ 个隐含层神经元与输出神经元的权向量。

通常,具有 $\widetilde N$ 个隐含层神经元和 $g\left( {{x}} \right)$ 激活函数的SLFNs输出函数 ${{{o}}_j}$ ,在隐含层神经元个数与训练集样本个数相等时,对于随机选择的 ${{\omega}} $ $b$ ,SLFNs都可以零误差逼近训练样本,即 $\displaystyle\sum\limits_{i = 1}^{\widetilde N} {\left\| {{{{o}}_j} - {{{t}}_j}} \right\|} = 0$ ,则 $N$ 个随机样本的ELM输出函数为:

${\;\;\;\;\;\;\;\;\;\;\;\;\sum\limits_{i = 1}^{\widetilde N} {{{{\beta}} _i}g\left( {{{{\omega}} _i} \cdot {{{x}}_j} + {b_i}} \right)} = {{{t}}_j},j = 1,2, \cdots ,N} $ (8)

将式(8)写为矩阵形式,可表示为:

${{H\beta}} = {{T}}$ (9)

式中, ${{H}}$ 为ELM的隐含层输出矩阵,具体形式如下:

$\begin{aligned}[b] & {{H}}\left( {{{{\omega}} _{\rm{1}}},{{{\omega}} _{\rm{2}}}, \cdots ,{{{\omega}} _N},{b_{\rm{1}}},{b_{\rm{2}}}, \cdots ,{b_N},{{{x}}_{\rm{1}}},{{{x}}_{\rm{2}}}, \cdots ,{{{x}}_N}} \right) = \\ &\;\;\;\;\;\;\;\;\;{\left[\! {\begin{array}{*{20}{c}} {g\left( {{{{\omega}} _1} \times {{{x}}_1} + {b_1}} \right)}& \cdots &{g\left( {{{{\omega}} _{\widetilde N}} \times {{{x}}_1} + {b_{\widetilde N}}} \right)} \\ \vdots & & \vdots \\ {g\left( {{{{\omega}} _1} \times {{{x}}_N} + {b_1}} \right)}& \cdots &{g\left( {{{{\omega}} _{\widetilde N}} \times {{{x}}_N} + {b_{\widetilde N}}} \right)} \end{array}} \!\right]_{_{{{N \times }}{\widetilde N}}}} \\ \end{aligned} $ (10)
${\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\beta}} = {\left[\! {\begin{array}{*{20}{c}} {{{\beta}} _1^{\rm{T}}} \\ {{{\beta}} _2^{\rm{T}}} \\ \vdots \\ {{{\beta}} _{\widetilde N}^{\rm{T}}} \end{array}}\! \right]_{\widetilde N}}_{ \times m}, \;{{T}} = {\left[\! {\begin{array}{*{20}{c}} {{{t}}_1^{\rm{T}}} \\ {{{t}}_2^{\rm{T}}} \\ \vdots \\ {{{t}}_{N}^{\rm{T}}} \end{array}} \!\right]_{N \times m}}$ (11)

因此,学习过程进而转为搜索式(11)中的线性系统的最小二乘解,即隐含层与输出层间的连接权值 ${{\;\beta}} $ 可以通过求解以下方程组的最小二乘解获得:

${{{\beta}} _{\min }} = \left\| {{{H\beta}} - {{T}}'} \right\|$ (12)

其解为:

$\hat {{\beta}} = {{{H}}^ + }{{T}}'$ (13)

式中, ${{{H}}^ + }$ 为隐含层输出矩阵 ${{H}}$ 的Moore–Penrose广义逆。

2.2 樽海鞘群算法

樽海鞘群算法(salp swarm algorithm,SSA)是由Mirjalili等在2017年提出的一种基于模仿自然界中樽海鞘的群体行为的启发式算法。樽海鞘是一种小型远海胶质脊索动物,身体呈半透明的桶状,多以海上漂浮植物为食。在海洋中成群存在的樽海鞘处于无性时期时,上十亿地聚集在一起形成樽海鞘链的链状结构,以“喷气式”方式运动。因此,樽海鞘的群体行为是“链条”的分布方式,领导者居于链条的顶端,跟随者紧密地彼此跟随从而进行链条式的食物捕捉和运动[15]图2为樽海鞘链结构的示意图。

图2 樽海鞘链结构示意图 Fig. 2 Structure diagram of salp’s chain

假设樽海鞘群 ${ Q}$ 是由 $N$ $d$ 维因子组成,即可用 $N \times d$ 维矩阵表示为:

${{ Q}} = \left[\! {\begin{array}{*{20}{c}} {{ q}_1^1}&{{ q}_2^1}& \cdots &{{ q}_d^1}\\ {{ q}_1^2}&{{ q}_2^2}& \cdots &{{ q}_d^2}\\ \vdots & \vdots &{}& \vdots \\ {{ q}_1^N}&{{ q}_2^N}& \cdots &{{ q}_d^N} \end{array}} \!\right]$ (14)

式中, ${ q}_d^N$ 为第 $N$ 个樽海鞘在 $d$ 维搜索空间中的位置。

在SSA中,领导者的位置随食物源的位置( ${{F}}$ )变化而变化,由式(15)可进行计算:

$ {\;\;\;\;\;\;\; q}_j^1 = \left\{\! {\begin{array}{*{20}{l}} {{{{F}}_j} + {c_1}\left( {\left( {u{b_j} - l{b_j}} \right){c_2} + l{b_j}} \right),{c_3} \ge 0.5;}\\ {{{{F}}_j} - {c_1}\left( {\left( {u{b_j} - l{b_j}} \right){c_2} + l{b_j}} \right),{c_3} < 0.5} \end{array}} \right.\!$ (15)

式中: ${ q}_j^1$ 为在第 $j$ 维搜索空间中领导者的位置; ${{{F}}_{j}}$ 为食物源在第 $j$ 维搜索空间的位置向量; $u{b_j}$ $l{b_j}$ 分别为第 $j$ 维搜索空间的上界和下界;系数 ${c_2}$ ${c_3}$ $[0,1]$ 区间内的随机值,关系着领导者在第 $j$ 维搜索空间的下一个位置是正无穷还是负无穷,并影响其步长大小; ${c_1}$ 为SSA中用于平衡搜索和开发的主要参数,定义为:

${c_1} = 2{{\rm e}^{ - {{\left( {\frac{{4k}}{{{K_{\rm{max}}}}}} \right)}^2}}}$ (16)

式中, $k$ 为迭代次数, ${K_{\max }}$ 为最大迭代次数。通过迭代次数的不断增加, ${c_1}$ 值将不断减小。因此,在使用SSA进行优化的最后阶段,可以更加强调初始阶段的多元化倾向。

根据牛顿运动定律,追随者的位置更新可利用式(17)进行计算:

${ q}_j^i = \frac{1}{2}a{t^2} + {v_0}t$ (17)

式中:当 $i \ge 2$ 时, ${ q}_j^i$ 为第 $i$ 个追随者在第 $j$ 维搜索空间的位置; $t$ 为时间; ${v_0}$ 为初始速度;当 $v = \dfrac{{x - {{{x}}_0}}}{t}$ 时, $a = \dfrac{{{v_{\rm{final}}}}}{{{v_0}}}$ 。由于在优化时的时间是迭代的,迭代的差值为1,并且 ${v_0} = 0$ ,式(17)可以表示为:

${ q}_j^i = \frac{{{ q}_j^i + { q}_j^{i - 1}}}{2}$ (18)
2.3 建立预测模型框架

在SSA–ELM中,利用SSA的算子优化ELM网络,其中每个樽海鞘经过的路径代表一个候选ELM网络。为了实现这种表示,樽海鞘被设计用于保存要优化的网络参数,即保存输入层与隐含层间的连接权值 ${{\omega}} $ 和隐含层神经元的偏置值 $b$ 。因此,每个樽海鞘的长度 $L = I \times N + N$ ,其中 $I$ 为输入变量的个数。樽海鞘群优化极限学习机的结构设计如图3所示。

图3 SSA–ELM结构 Fig. 3 Structure of SSA–ELM

结合风电场历史数据,设定其网络参数,建立基于樽海鞘群优化极限学习机的超短期风功率预测模型,具体步骤如下:

1)初始化网络参数。设置变量数目以及搜索空间的上、下界,根据式(15)确定一个樽海鞘群的规模。并结合经验公式[13],确定隐含层节点数目和最大迭代次数。

2)选取风电场的历史数据,随机提取一段时间的风功率影响因素为模型的输入变量,每个时刻对应的风功率为模型的输出变量。

3)初始化适应度函数值。针对超短期风功率的应用,适应度函数设置为训练计算所获得的最小均方根误差( ${e_{\rm{RMSE}}}$ )。

4)确定樽海鞘链的排列形式。以适应度函数作为食物源,根据适应度值进行排序,获取当前最优适应度值的樽海鞘的位置为食物源的位置( ${ F}$ )。距离食物源位置最近的樽海鞘为领导者,剩余樽海鞘为追随者。

5)更新位置。根据式(15)和(18)对樽海鞘链的领导者和追随者进行位置更新,并更新每一个樽海鞘对应的适应度值。

6)用样本的训练集对模型进行训练。将每次迭代获得的适应度值与前一次迭代获得的最优适应度值进行对比,更新得到全局的最优适应度值。

7)不断重复步骤4)~6),完成迭代次数,得到基于SSA–ELM的预测模型。

3 算例分析

针对河南省某风电场2015年的历史数据,对风速、风向和温度等数据每隔10 min进行一次采样,利用BP、ELM、SSA–ELM模型进行超短期风功率预测,从多个角度对预测结果的误差进行对比分析。

3.1 误差评价指标

实例分析主要采用以下4个误差评价标准[16],分析各模型的可行性和有效性,即平均绝对百分比误差( ${e_{\rm{MAPE}}}$ )、均方根误差( ${e_{\rm{RMSE}}}$ )、平均绝对误差( ${e_{\rm{MAE}}}$ )和决定系数( ${R^2}$ )。

${e_{\rm{MAPE}}} = \frac{1}{n}\sum\limits_{i = 1}^n {\left| {\frac{{{P_{Mi}} - {P_{Pi}}}}{{{P_{Mi}}}}} \right|} $ (19)
${\;\;\;\;\;\;\;\;\;\;\;\;\;\;e_{\rm{RMSE}}} = \sqrt {\frac{1}{n}\sum\limits_{i = 1}^n {{{\left( {{P_{Mi}} - {P_{Pi}}} \right)}^2}} } $ (20)
${e_{\rm{MAE}}} = \frac{1}{n}\sum\limits_{i = 1}^n {\left| {{P_{Mi}} - {P_{Pi}}} \right|} $ (21)
${\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;R^2} = 1 - \frac{{\displaystyle\sum\limits_{i = 1}^n {{{\left( {{P_{Mi}} - {P_{Pi}}} \right)}^2}} }}{{\sqrt {\displaystyle\sum\limits_{i = 1}^n {{{\left( {{P_{Mi}} - {{\overline P}_{Mi}}} \right)}^2}} } }}$ (22)

式中, $n$ 为预测样本个数, ${P_{Mi}}$ ${\overline P_{Mi}}$ 分别为 $i$ 时刻的实际功率和实际功率平均值, ${P_{Pi}}$ $i$ 时刻网络的输出预测值。

3.2 基于相似日的超短期风功率预测

神经网络模型通过对风电场的历史数据的训练和学习,使其具有可预测风功率的能力。因此,不同的训练样本集对模型的预测精度影响较大。在历史日与预测日中可能存在某一时间段范围内的气象特征向量相似的情况,若以选取相似时段作为训练样本集,短时间内的偶然相似不足以表征该历史日日与预测日的相似度高。因此,选择以24 h为相似时段,利用MATLAB软件建立FCM的算法模型。

根据变量衡量标准,欧式距离用于判断多维空间中两点之间的绝对距离,皮尔逊系数用于研究变量之间线性相关程度[17]。因此,利用欧式距离和皮尔逊系数作为判断依据,选择合适的相似日。

欧式距离:

$d = \sqrt {\sum\limits_{i = 1}^n {{{\left( {{X_i} - {X_j}} \right)}^2}} } $ (23)

皮尔逊相关系数:

${\;\;\;\;\;\;\;\;\;\;\;\;\;\;R_{\rm P}}{\rm{ = }}\frac{{\displaystyle\sum\limits_{i = 1}^n {\left( {{X_i} - {{\overline X}_i}} \right)\left( {{X_j} - {{\overline X}_j}} \right)} }}{{\sqrt {\displaystyle\sum\limits_{i = 1}^n {{{\left( {{X_i} - {{\overline X}_i}} \right)}^2}} } \sqrt {\displaystyle\sum\limits_{j = 1}^n {{{\left( {{X_j} - {{\overline X}_j}} \right)}^2}} } }}$ (24)

式中, ${X_i}$ ${X_j}$ 分别为特征向量的第 $i$ $j$ 个元素分量, ${\overline X_i}$ ${\overline X_j}$ 为其对应的平均值。

通过初始化FCM算法中的网络参数,设定矩阵分割指数为2,最大迭代次数为100,根据风电的特征向量设置聚类数为5,模糊加权参数为2。选定2015年1月18日为预测日,并将欧式距离和皮尔逊系数作为目标函数。从最邻近历史日开始,逆向逐日选择数据。找寻出在1月内、1月18日之前的历史日中,欧式距离相对较小或皮尔逊相关系数较大的10日进行对比分析,欧式距离和皮尔逊相关系数的计算结果如表1所示。选择出保证欧式距离较小前提下,皮尔逊相关系数较大的1月17日、1月16日、1月10日、1月8日、1月4日作为预测日的相似日1~5。

表1 欧式距离和皮尔逊相关系数计算结果 Tab. 1 Results of Euclidean distance and Pearson correlation coefficient

图4为选定的相似日与预测日的真实风功率数据对比。从图4中可以看出:1月18日与相似日1、2、5(即1月17日、1月16日、1月4日)的风电功率曲线变化趋势接近,其规律性较强;1月18日与相似日3、4(即1月10日和1月8日)的欧式距离较小,曲线靠的相对较近,这为下一步的训练集生成,提高模型的预测精度,提供了有利条件。

图4 相似日风功率真实数据曲线 Fig. 4 Curves of wind power real data on similar days

为进一步证明选取相似日的有效性,将选定的5个相似日作为一组训练样本集,并随机选取5个历史日组成另一组训练样本集,运用SSA–ELM预测模型对2015年1月18日进行风功率预测。图5为基于相似日的SSA–ELM预测和基于随机样本的SSA–ELM预测结果对比。

图5 基于相似日和随机样本的风功率预测 Fig. 5 Wind power prediction of similar days and random samples

图5可见,基于相似日的预测模型表现更好。基于相似日预测模型的 ${e_{\rm{RMSE}}}$ 为0.213 6, ${e_{\rm{MAE}}}$ 为0.099 7, ${e_{\rm{MAPE}}}$ 为0.273 7;随机训练样本的预测模型的 ${e_{\rm{RMSE}}}$ 为0.452 8, ${e_{\rm{MAE}}}$ 为0.137 5, ${e_{\rm{MAPE}}}$ 为0.320 5。因为,基于相似日的预测模型在训练的过程中包含了与预测日类似的风功率变化情况,因此,基于相似日的风功率预测比随机样本预测更具有针对性,预测精度更高。

3.3 四季误差分析

采用2015年第1季度的1月18日、第2季度的4月18日、第3季度的7月18日和第4季度的10月18日的每10 min作为一个时间样本点,各选取144个数据作为预测样本集,在历史数据的1月、4月、7月和10月中分别选取5个相似日(即共计720个数据)组成训练样本集。建立BP、ELM、SSA–ELM预测模型,进行误差对比分析,其预测曲线对比如图6所示。

图6 2015年1月18日、4月18日、7月18日和10月18日各模型的超短期风功率预测结果 Fig. 6 Ultra-short-term wind power prediction results by different models of January 18th,April 18th,July 18th,October 18th,2015

2015年河南省冬季的平均气温为–3~6 ℃,风力变化较大,根据图6(a)中0 — 100 min时段的曲线可以看出,在功率波动幅度较大时,SSA–ELM比ELM和BP具有更好的跟踪能力。春季风力较大且变化速度快,即如图6(b)所示,功率波动频率较高时,SSA–ELM在多点时刻能较快地追踪上实际样本输出。当夏季温度过高,风力变化缓慢时,如图6(c)所示,实际样本输出在40 — 80 min段变化平稳,3种预测模型都能跟上样本的变化趋势。深秋的风时有时无,如图6(d)中会突然出现实际值较小或较大情况,SSA–ELM能更好地应变风电情况的突变,及时对风功率进行有效跟踪。

表2为2015年1月18日、4月18日、7月18日和10月18日的预测误差评价指标。由表2可知:综合对比各模型的 ${e_{\rm{MAE}}}$ ${e_{\rm{MAPE}}}$ ${e_{\rm{RMSE}}}$ 指标,SSA–ELM的预测误差结果更小。SSA–ELM的决定系数 ${R^2}$ 相较于其他两种模型更接近于1,说明SSA–ELM的网络的预测拟合性能更好。通过预测误差评价指标的对比,直观反映出运用相似日作为训练样本的预测模型SSA–ELM相较于其他两种基于随机样本选取的BP、ELM预测模型而言,具有更高的预测精度。

表2 各模型的误差评价指标对比 Tab. 2 Comparison of error evaluation indexes by different models

3.4 滚动误差分析

根据《国家能源局关于印发风电场功率预测预报管理暂行办法的通知(2011)》文件中第2章第6条规定的实时预报要求[1],采用超短期预测模型,选取测试2015年河南省冬季1月18日的风功率,提取与18日相似度较高的5个相似日作为训练样本,设置10 min/样本点。根据上述文件中规定的4 h作为计算滚动预测的时间尺度[1],截取10 — 240 min时间段的SSA–ELM、ELM、BP模型的预测值和实际值(图6(a)),计算其序列误差,依次滚动更新至250 — 480 min时间段。

图7是由SSA–ELM、ELM和BP预测模型在2015年1月18日的10 — 480 min时间段的预测结果。从 图7中可以看出:SSA–ELM预测模型与其他两种模型相比,其跟踪效果更好。但是,随着预测时间的增加,风功率在一段时间内波动频率较高,此时,BP与ELM模型预测偏差较大,而SSA–ELM模型在此情况下依然有较好的预测精度。

图7 2015年1月18日的10 — 480 min段各模型的风功率预测结果对比 Fig. 7 Comparison of wind power prediction results by different models of 10 — 480 min segment on January 18th,2015

采用滚动预测,通过不断迭代数据,详细计算各模型在不同时间段的预测误差。图8为SSA–ELM、ELM和BP预测模型在10 — 480 min时间段的滚动预测误差 ${e_{\rm{MAE}}}$ ${e_{\rm{RMSE}}}$ 对比。从图8(a)(b)中可以直观看出,SSA–ELM预测模型的 ${e_{\rm{MAE}}}$ ${e_{\rm{RMSE}}}$ 值相对较小,该预测模型在实时功率预测方面有较好的性能。

图8 2015年1月18日的10 — 480 min段各模型的滚动预测误差 ${{ e}_{\bf{MAE}}}$ ${{ e}_{\bf{RMSE}}}$ 对比 Fig. 8 Comparison of rolling prediction error ${{ e}_{\bf{MAE}}}$ and ${{ e}_{\bf{RMSE}}}$ by different models of 10 — 480 min segment on January 18th,2015

4 结 论

为了实现实时风电调度,减小因风电随机性变化而引起的并网损害,加强调度机构对于风电并网过程中突然出现的风电不稳定现象的应急措施,提高超短期风功率预测精度是主要任务。本文提出一种基于模糊C均值聚类(fuzzy C-means,FCM)选取相似日和樽海鞘群算法优化极限学习机(SSA–ELM)的风电场超短期风功率预测模型。通过FCM对历史数据进行相似日选取,提高预测数据的精度。采用樽海鞘群算法优化极限学习机中的输入权值矩阵和隐含层偏差值,避免极限学习机的过拟合现象,并提高其泛化能力。通过对河南省某风电场的历史数据预处理,利用FCM数据聚类提取相似日,以经典的BP预测模型、ELM预测模型和本文SSA–ELM预测模型,分别从基于相似日预测、四季误差和滚动误差3方面进行仿真实验,对其结果用 ${e_{\rm{MAPE}}}$ ${e_{\rm{RMSE}}}$ ${e_{\rm{MAE}}}$ ${R^2}$ 进行评估,结果表明,本文所提出的SSA–ELM预测模型比ELM和BP预测模型有较明显的优势,验证了本文模型在超短期风功率预测方面具有良好的追踪性和泛化性,为日后的工程研究提供了参考。但是,影响风力发电的因素还有很多,例如,风机的地理位置、风电场的植被情况等都会影响风力发电的效果,因此,后续研究中应考虑加入反映地理环境的特征量,以进一步提高预测模型的精度。

参考文献
[1]
中国国家能源局. 风电场功率预测预报管理暂行办法[J]. 太阳能, 2011(14): 6-7.
[2]
Liu Hui,Tian Hongqi,Liang Xifeng,et al. New wind speed forecasting approaches using fast ensemble empirical model decomposition,geneticalgorithm,mind evolutionary algorithm and artificial neural networks[J]. Renewable Energy, 2015, 83: 1066-1075. DOI:10.1016/j.renene.2015.06.004
[3]
Lu Ning,Liu Ying. Application of support vector machine model in wind power prediction based on particle swarm optimization[J]. Discrete and Continuous Dynamical Systems (Series S), 2015, 8(6): 1267-1276. DOI:10.3934/dcdss.2015.8.1267
[4]
Yuan Xiaohui,Chen Chen,Yuan Yanbin,et al. Short-term wind power prediction based on LSSVM–GSA model[J]. Energy Conversion and Management, 2015, 101: 393-401. DOI:10.1016/j.enconman.2015.05.065
[5]
Kusiak A,Zheng Haiyang,Song Zhe. Short-term prediction of wind farm power:A data mining approach[J]. IEEE Transactions on Energy Conversion, 2009, 24(1): 125-136. DOI:10.1109/tec.2008.2006552
[6]
Liu Yao,Guan Lin,Hou Chen,et al. Wind power short-term prediction based on LSTM and discrete wavelet transform[J]. Applied Sciences, 2019, 9(6): 1108. DOI:10.3390/app9061108
[7]
Liu Zhenling,Hajiali M,Torabi A,et al. Novel forecasting model based on improved wavelet transform,informative feature selection,and hybrid support vector machine on wind power forecasting[J]. Journal of Ambient Intelligence and Humanized Computing, 2018, 9(6): 1919-1931. DOI:10.1007/s12652-018-0886-0
[8]
Sun Wei,Wang Yuwei. Short-term wind speed forecasting based on fast ensemble empirical mode decomposition,phase space reconstruction,sample entropy and improved back-propagation neural network[J]. Energy Conversion and Management, 2018, 157: 1-12. DOI:10.1016/j.enconman.2017.11.067
[9]
Zhang Shenghui,Wang Jiyang,Guo Zhenhai. Research on combined model based on multi-objective optimization and application in time series forecast[J]. Soft Computing, 2019, 23(22): 11493-11521. DOI:10.1007/s00500-018-03690-w
[10]
Wang Shuangxin,Li Meng,Zhao Long,et al. Short-term wind power prediction based on improved small-world neural network[J]. Neural Computing and Applications, 2019, 31(7): 3173-3185. DOI:10.1007/s00521-017-3262-7
[11]
Wu Qunli,Lin Huaxing. Short-term wind speed forecasting based on hybrid variational mode decomposition and least squares support vector machine optimized by bat algorithm model[J]. Sustainability, 2019, 11(3): 652. DOI:10.3390/su11030652
[12]
Yang Jian,Zhao Xin,Wei Haikun,et al. Sample selection based on active learning for short-term wind speed prediction[J]. Energies, 2019, 12(3): 337. DOI:10.3390/en12030337
[13]
Yuan Chong,Qi Jiajin,Wang Wenxia,et al. Short-term wind speed forecasting using regularization extreme learning machine[J]. Advances of Power System & Hydroelectric Engineering, 2016, 32(11): 62-68. [袁翀,戚佳金,王文霞,等. 采用正则化极限学习机的短期风速预测[J]. 电网与清洁能源, 2016, 32(11): 62-68. DOI:10.3969/j.issn.1674-3814.2016.11.011]]
[14]
Qin Benshuang.Research on the wind speed and wind power forecasting based on the actual measured date[D].Jilin:Northeast Electric Power University,2018.
秦本双.基于实测数据的风电场风速和风功率预测研究[D].吉林:东北电力大学,2018.
[15]
Mirjalili S,Gandomi A H,Mirjalili S Z,et al. Salp swarm algorithm:A bio-inspired optimizer for engineering design problems[J]. Advances in Engineering Software, 2017, 114: 163-191. DOI:10.1016/j.advengsoft.2017.07.002
[16]
Zhang Chi.Research on some issues of short-term wind speed forecasting for wind farms[D].Nanjing:Southeast University,2017.
张弛.风电场短期风速预测若干问题研究[D].南京:东南大学,2017.
[17]
Qiu Jing,Xu Xiaozhong,Deng Song,et al. Gas load forecasting based on optimized fuzzy C-mean clustering analysis of selecting similar days[J]. Journal of Shanghai Normal University (Natural Sciences), 2017, 46(4): 560-566. [邱静,徐晓钟,邓松,等. 基于优化模糊C均值聚类选取相似日的燃气负荷预测[J]. 上海师范大学学报(自然科学版), 2017, 46(4): 560-566. DOI:10.3969/J.ISSN.1000-5137.2017.04.016]
[18]
Li Zhengming,Gao Zhaoliang,Liang Caixia. Short-term prediction of photovoltaic power based on combination of FCM and CG–DBN[J]. Modern Electric Power, 2019, 36(5): 62-67. [李正明,高赵亮,梁彩霞. 基于FCM和CG–DBN的光伏功率短期预测[J]. 现代电力, 2019, 36(5): 62-67. DOI:10.19725/j.cnki.1007-2322.2019.05.009]]
[19]
Zhang Chuanhui.Reasearch on wind power forecasting based on fuzzy C-means clustering and case based reasoning[D].Taiyuan:Taiyuan University of Technology,2017.
张传辉.基于模糊C均值聚类和案例推理的风电功率预测研究[D].太原:太原理工大学,2017.
[20]
Huang Guangbin,Zhu Qinyu,Siew C K. Extreme learning machine:Theory and applications[J]. Neurocomputing, 2006, 70(1/2/3): 489-501. DOI:10.1016/j.neucom.2005.12.126