2. 中国船舶重工集团公司 第七一一研究所,上海 201101
2. No. 711 Research Institute, China Shipbuilding Industry Corporation, Shanghai 201101, China
电力推进船舶发展迅速,其电力推进负荷占比有时达到总装机容量的70%以上,对于电站能量管理系统的要求也在不断提升。发生恶劣海况时,机动航行或动力定位时整个电力系统负荷会产生较大的波动,准确的电力负荷预测能够帮助调控发电机组合理供电,应对负荷大幅波动对电网造成的冲击,根据预测结果还能够优化能量管理的策略,对船舶电网整体稳定、高效运转起关键作用[1-2]。船舶电力负荷预测可按照周期分为短、中、长3种[3],其中短期电力负荷预测注重时效性,但由于时间很短,所以对预测模型的精度和速度要求很高。较于传统的预测方法,人工神经网络能够很好地处理电力负荷这类非线性的数据,依靠其自身强大的学习能力和泛化能力成为了负荷预测的热点[4],每种智能方法都有其特殊的优势、局限性和应用合理性[5]。本文分别使用BP、RBF、Elman 共3种不同的网络对恶劣海况进行短期电力负荷预测,探究不同神经网络各自的优劣[6-7],找到适合完成电力负荷预测的方法。
1 神经网络的基本原理 1.1 BP神经网络BP神经网络是20世纪80年代由Rumelhart和McClelland提出的误差反向传播的多层前馈神经网络,是当前应用最广泛的神经网络[8]。其网络结构如图1所示,一般情况下由输入层、隐含层、输出层3层组成。输入与输出之间均有连接。
Download:
|
|
BP神经网络的处理主体分为正向的信息传递和反向的误差传播2个部分。将数据输入,通过隐含层计算后传至输出层,该过程为正向信息传递,当输出和初设期望值不相符时,将其误差进行反向传播,根据梯度下降法的原理来降低误差,网络各层连接权值不断更新,最终使误差的均方值最小,该过程为误差反向传播。
1.2 RBF神经网络RBF神经网络是在20世纪80年代由J.Moody和C.Darken提出的单隐层前馈神经网络[9]。整个网络如图2所示,也是由3层组成,将数据输入,在隐含层中发生空间层到隐含层的转换,同时在隐含层中还可以实现非线性的转换,最终信息会以线性的形式传递到输出层。
Download:
|
|
RBF神经网络可以在隐含层将输入的低维数据转换成高维,使原本线性不可分的数据在高维空间内变成线性可分数据,网络的整体结构简单,收敛速度理想,理论上能够逼近任何非线性函数,也是广泛应用于回归预测的算法之一[10]。
1.3 Elman神经网络Elman神经网络是20世纪90年代由J.L.Elman提出的一种动态递归神经网络[11],其结构如图3所示。和传统的神经网络结构相比,该网络有一个特殊的层叫做承接层,它的功能是存储隐含层单元在前一时刻的输出值,并将其返回到网络的输入端,可以看作是一个延迟算子。通过隐含层与承接层这种连接方式能够增强网络处理动态信息的能力,进而能够达到动态建模的目的[12]。
Download:
|
|
在进行负荷预测之前,数据的采集工作非常重要,若历史数据量不足,会导致无法准确预测,若过量则会导致网络训练时间过长,最终无法收敛。采集某船在恶劣海况下进行动力定位时的电网负荷数据,累计时长为25 min。图4所示为采集到的船舶电网负荷曲线图。在MATLAB中进行预测仿真,数据采集的周期设置为10 s,25 min内共采集150个数据,将前120个数据作为输入,通过神经网络进行预测,输出后30个数据与采集的后30个数据进行对比。
Download:
|
|
若获取的负荷数据前后差别过大超出可接受范围,则视为数据异常,需要对初始数据进行异常处理工作,在此采用水平处理法。
若
$ \left\{ \begin{gathered} \left| {Y(k) - Y(k - 1)} \right| > \alpha (k) \hfill \\ \left| {Y(k) - Y(k + 1)} \right| > \beta (k) \hfill \\ \end{gathered} \right. $ |
则
$ Y(k) = \frac{{Y(k - 1) + Y(k + 1)}}{2} $ |
式中:
对短期电力负荷进行预测,输入采用一段连续时间的电力负荷历史数据值作为单输入,为避免神经元饱和,需要对数据进行归一化处理[13],在训练完成后再反归一化输出真实值。
归一化:
$ {y_i} = \frac{{{x_i} - {x_{\min }}}}{{{x_{\max }} - {x_{\min }}}} $ |
反归一化:
$ {x_i} = ({x_{\max }} - {x_{\min }}){y_i} + {x_{\min }} $ |
式中:
完成了前期数据处理后,需要对神经网络的模型进行构建,网络创建采用newff命令,考虑到进行短期电力负荷需要网络能够快速收敛,故隐含层只取1层,BP神经网络整体由3层组成,在此输入和输出均只有负荷值,故两层神经元个数均为1,隐含层神经元个数N通过经验公式和试凑法进行确定。经验公式为
$ N = \sqrt {m + l} + q $ | (1) |
式中:N为隐含层神经元个数,m为输入层神经元个数,
通过经验公式以及试凑法确立BP神经网络隐含层神经元的个数为5,误差设定为
RBF神经网络整体结构由3层组成,隐含层中使用的径向基函数是高斯函数,故激活函数表达式为
$ R\left( {{x_p} - {c_i}} \right) = \exp \left( { - \frac{1}{{2{\sigma ^2}}}{{\left\| {x{}_p - {c_i}} \right\|}^2}} \right) $ |
式中:
输入和输出层依旧为1个神经元,在MATLAB中创建神经网络有2种方式,分别为newrb和newrbe。newrbe创建神经网络时,隐含层神经元个数自动等于输入样本数量,网络整体创建速度极快,能够一次性得到零误差的径向基网络,只需通过调整分布常数spread值来调整预测精度,分布常数太小能提高网络训练速度,但同时易出现过拟合状态。最终确定的spread值为1.4。
2.2.3 Elman神经网络模型构建$ \left\{\begin{aligned} & y\left( k \right) = g\left( {{w^2}h\left( k \right)} \right)\\ & h\left( k \right) = f\left( {{w^1}u\left( {k - 1} \right) + {w^3}{x_c}\left( k \right)} \right)\\ & {x_c}\left( k \right) = h\left( {k - 1} \right) \end{aligned}\right.$ |
式中:
网络创建采用elman命令,隐含层神经元个数依旧根据式(1)和试凑法确定,最终个数确定为5,输入层和输出层神经元个数均为1,Elman的其他参数设置与BP保持一致即可。
3 仿真结果分析仿真训练在网络建立后开始。图5给出了BP、RBF和Elman共3种不同神经网络各自的预测效果,从效果图上看整体预测趋势都是符合要求的,BP预测效果略差,Elman次之,RBF效果最好,预测值几乎能和真实值完全拟合。
Download:
|
|
图6为预测相对误差图,图中可见,BP网络和Elman网络可以明显看出有多个预测误差较大的点,其相对误差均存在一定的波动,RBF网络误差波动很小。
Download:
|
|
对于网络预测的效果评价指标还有平均相对误差(mean absolute percentage error, MAPE)值、均方根误差(root mean squared error, RMSE)值和决定系数(R2)。
平均相对误差:
$ {\rm{e}}_{\rm{MAP}} = \left( {\frac{1}{n}} \right) \times \sum\limits_{i = 1}^n {\left( {\frac{{\left| {{p_i} - {q_i}} \right|}}{{{q_i}}}} \right) \times 100} \% $ |
式中:n为预测样本数;pi为预测值;qi为真实值。
均方根误差:
$ {\rm{e}}_{\rm{RMS}} = \sqrt {\left( {\frac{1}{n}} \right) \times \sum\limits_{i = 1}^n {{{\left[ {{p_i} - {q_i}} \right]}^2}} } $ |
决定系数:
$ {{{R}}^2} = \frac{{{{\left( {n\displaystyle\sum\limits_{i = 1}^n {{p_i}{q_i}} - \left( {\sum\limits_{i = 1}^n {{p_i}} } \right) \cdot \left( {\sum\limits_{i = 1}^n {{q_i}} } \right)} \right)}^2}}}{{\left( {n{{\left( {\displaystyle\sum\limits_{i = 1}^n {{p_i}} } \right)}^2} - {{\left( {\displaystyle\sum\limits_{i = 1}^n {{p_i}} } \right)}^2} \cdot \left( {n{{\left( {\displaystyle\sum\limits_{i = 1}^n {{q_i}} } \right)}^2}} \right) - {{\left( {\displaystyle\sum\limits_{i = 1}^n {{q_i}} } \right)}^2}} \right)}} $ |
表1为3种网络评价指标数据汇总,误差指标数值越小代表预测的结果越精确,决定系数越接近1,表明预测的结果越接近真实值,预测的准确度越高,船舶电网才能够越有效地进行能量分配。从表1中可明显看出RBF网络的各项指标相较另外2种网络更好,且RBF网络的结构简单,相较于另外2种网络,RBF网络模型只需要确定spread值就能完成模型构建,且RBF网络具有全局逼近能力,解决了BP网络可能陷入的局部最优问题,训练速度快,能够满足短期电力负荷预测的时效性。因此RBF神经网络更适合解决短期电力负荷预测问题。为增强结论的可靠性,我们将输入和输出的比例进行略微调整。表2为输入调整为130组、输出调整为20组数据的各网络评价指标,表3为输入调整为110组、输出调整为40组的各网络评价指标,从结果来看,RBF网络各项指标依然处于最优的状态。
1)恶劣海况下,电力推进船舶进行动力定位或机动航行时,船舶电网的负荷具有很强的随机性,很难找到精确的数学模型去进行描述。但人工神经网络拥有强大的自学习能力,通过对历史数据的学习能够很好地找到其中内含的规律,因此借助人工神经网络能够很好地解决短期电力负荷预测问题。
2)相较于BP神经网络,Elman独特的承接层具有短期记忆的功能,能够内部反馈并存储一部分过去时刻的信息,也十分适合船舶的实时电力负荷预测。
3)RBF神经网络的各项评价指标都要优于另外两种网络,网络模型建立简便、学习收敛速度快、误差小,能够有效地进行电力负荷预测,为能量管理策略进行合理的能量调度提供依据,提高船舶电网的工作效率。
[1] | 赵亮. 电力推进船舶的能量管理与负荷预测研究[D]. 武汉: 武汉理工大学, 2016. (0) |
[2] | 朱常荣. 基于机器学习的智能电网短期电力负荷预测研究[D]. 昆明: 昆明理工大学, 2020. (0) |
[3] | LAI C S, YANG Yuxiang, PAN Keda, et al. Multi-view neural network ensemble for Short and mid-term load forecasting[J]. IEEE transactions on power systems, 2021, 36(4): 2992-3003. DOI:10.1109/TPWRS.2020.3042389 (0) |
[4] | 唐德栋. 基于人工智能的短期电力负荷预测方法研究[D]. 北京: 中国地质大学(北京), 2020. (0) |
[5] | GE Quanbo, JIANG Haoyu, HE Meiguang, et al. Power load forecast based on fuzzy BP neural networks with dynamical estimation of weights[J]. International journal of fuzzy systems, 2020, 22(3): 956-969. DOI:10.1007/s40815-019-00796-7 (0) |
[6] | 李昌海. 基于机器学习算法的短期电力负荷预测研究[D]. 成都: 电子科技大学, 2020. (0) |
[7] | 张彦. 基于不同神经网络模型的水环境承载力评价[J]. 水科学与工程技术, 2019(3): 5-9. (0) |
[8] | HUA Xia, ZHANG Gang, YANG Jiawei, et al. Theory study and application of the BP-ANN method for power grid short-term load forecasting[J]. ZTE communications, 2015, 13(3): 2-5. (0) |
[9] | 周旭, 来庭煜, 饶佳黎. 基于RBF神经网络模型的电力系统短期负荷预测[J]. 通信电源技术, 2018, 35(11): 152-154. (0) |
[10] | LIU Yuecan, ZHANG Kun, ZHEN Shuai, et al. WRL: a combined model for short-term load forecasting[M]//SHAO Jie, YIU M L, TOYODA M, et al. Web and Big Data. Cham: Springer, 2019: 35−42. (0) |
[11] | XIE Kun, YI Hong, HU Gangyi, et al. Short-term power load forecasting based on Elman neural network with particle swarm optimization[J]. Neurocomputing, 2020, 416: 136-142. DOI:10.1016/j.neucom.2019.02.063 (0) |
[12] | ZHENG Xiaoqiang, RAN Xinyu, CAI Mingxin. Short-term load forecasting of power system based on neural network intelligent algorithm[J]. IEEE Access, 2020, PP(99): 1−1. (0) |
[13] | 赵东雷, 李丹华, 库巍, 等. 基于神经网络的电力系统短期负荷预测[J]. 华北电力技术, 2017(9): 22-27. (0) |
[14] | 李佳殷, 周勃, 乔清锋. 基于Elman神经网络的新风负荷预测研究[J]. 建筑节能, 2020, 48(3): 19-21, 39. (0) |
[15] | 宋明达. 基于改进遗传算法优化Elman神经网络的短期负荷预测[D]. 衡阳: 南华大学, 2020. (0) |