1. 引言
随着我国对环境问题的不断重视以及对清洁能源日益增长的需求,光伏发电行业在我国得到了大力发展 [1] [2] [3] [4]。太阳能是一种天然可再生的能源,相比于火电等传统的发电方式,光伏发电具有低成本、零污染的优势。然而,光伏发电受天气等环境因素影响较大,其出力具有随机性与波动性的特点,这给电力系统的稳定运行带来了不可避免的挑战。对于光伏发电功率的合理预测不仅能够提高电网的安全性,还能够提高能源利用率,便于为电网的规划与调度提供重要参考。
光伏发电过程受诸多外界因素影响,温度、光强以及发电设备的内部参数都将影响最终的输出功率。一般的机理模型难以同时考虑多种复杂的因素,从而造成预测结果的不准确 [5]。随着能源物联网、数据采集与存储以及大数据分析技术的发展与普及,基于数据驱动的方法逐渐得到学者们的关注。目前,已经有许多数据分析与挖掘手段被应用于光伏功率预测领域,这些方法主要可分为两类,包括统计学习方法与神经网络方法。
统计学习方法旨在利用可解释的统计学手段,建立历史发电过程参数与输出功率间的联系。文献 [6] 利用主成分分析克服了气象因素间的多重共线性,并利用多重线性回归实现功率预测。文献 [7] 提出了一种基于卡尔曼滤波的光伏功率预测模型,建立起功率预测的状态空间模型,并通过光伏电站的实测数据对模型参数进行拟合。文献 [8] [9] [10] 利用支持向量机(Support Vector Machine, SVM)进行功率预测,基于SVM的回归预测模型克服了传统方法预测结果偏差过大、局部极值等计算问题。统计学习方法结构简单,运算效率高,但不适用于数据量大、变量间非线性强的情况。
神经网络方法采取了新兴的神经网络技术来自动提取发电过程参量与功率间的复杂关系。神经网络利用计算机程序模拟人类神经元的工作方式,相比于传统的统计学方法,其对于模式多变的非线性数据具有更好的拟合性能。文献 [11] 针对光伏数据的非平稳特性,将非平稳特征引入遗传算法来优化BP神经网络,实现了光伏阵列的短期功率预测。文献 [12] 利用自组织映射对多模态光伏数据进行自动聚类,并构建基于宽度学习系统(Broad Learning System, BLS)实现光伏功率的多步预测,在保证预测精度的同时提高了预测效率。文献 [13] 采取注意力机制和长短期记忆(Long Short-Term Memory, LSTM)捕捉光伏数据的时序关系,从而提升模型的精度与灵敏度。文献 [14] 提出了一种基于变分模态分解(Variational Mode Decomposition, VMD)与双重注意力机制LSTM的短期光伏功率预测方法,利用VMD将波动较大的光伏信号分解成若干个不同频率的分量,再使用神经网络对各分量进行预测。神经网络对于复杂非线性数据具有很强的拟合能力,便于处理数据量大、变量数目多的情况。然而,由于模型参数多、模型结构复杂,容易陷入局部最优等问题,神经网络对于训练数据有限的情况容易产生过拟合现象,这将导致模型的在线应用效果不理想。此外,LSTM等考虑了复杂时序关系的网络结构通常需要递归计算,消耗大量运算资源,且效率较低。
尽管统计学习方法与神经网络方法都已应用于光伏功率预测,两类方法均存在一定缺陷,限制了两类方法的应用场景。针对该问题,文章提出了一种基于时序卷积网络(Temporal Convolutional Network, TCN)与线性残差连接的集成光伏功率预测方法。TCN利用因果卷积与膨胀卷积技巧并行地提取多个时间点间的动态关系,能够在提取非线性时序相关性的同时保持较高的运算效率。此外,利用线性残差连接将简单线性模型的优势融入到深度神经网络中来避免过拟合。在实验章节,采用实测光伏数据对所提出方法进行算例分析,并验证其有效性。
2. 时序卷积网络
TCN是一种专门用于时间序列数据的特征提取网络结构 [15]。TCN继承了传统的卷积神经网络(Convolutional Neural Network, CNN) [16] 的一些有用性质,包括局部连接和权值共享,这使得相邻时间点上的样本上提取的特征具有一定时序相关性。此外,TCN对传统CNN的卷积结构进行了改进,从而具有更加灵活且更加宽广的感受野。前人工作已经证实,相比于CNN,RNN和LSTM等传统时间序列特征提取算子,TCN对历史数据具有更强的记忆能力,在时序数据上表现更好。
2.1. 因果卷积结构
与一般的自回归任务类似,时间序列的预测结果仅取决于过去的信息以及当前时间点的输入,与未来时刻的信息无关,这种性质也称为因果性。为了满足这一要求,TCN设计了一种因果卷积算子。图1展示了因果卷积的结构示意图。图中每行代表一层神经元,最底层为输入层,最顶层为输出层,中间则为隐藏层;每列代表一个时间点上的输入样本、隐藏层特征以及输出结果,从左到右按时间先后顺序排列。从图中不难发现,对于任意时间点
,网络的输出结果只与
时间点及其之前时间点的输入有关。具体来说,对于一个多元时间序列
和一个卷积核
,其
时刻的因果卷积结果为:
(1)
其中
为卷积核尺寸。这种设计避免卷积核
接触到
时间点之后的输入样本。
此外,为了使网络具有拟合非线性关系的能力,通常对卷积结果做非线性变换,得到非线性特征
,再作为下一层的输入,即:
(2)
其中
为非线性激活函数,通常可设定为线性激活单元:
(3)
2.2. 膨胀卷积结构
尽管因果卷积保证了预测的因果性,当处理较长的时间序列时,因果卷积需要增加卷积核的尺寸来扩大感受野,这将会导致运算效率下降。为解决该问题,TCN设计了另一种特征提取技巧,称为膨胀卷积。膨胀卷积能够在不增加模型参数的前提下显著扩大信息获取的时间尺度。图2展示了膨胀卷积结构的示意图。可见,与一般的卷积方式不同,膨胀卷积中的卷积核以固定的步长跳过输入样本,以获得更宽的覆盖范围。结合上述因果卷积的特性可知,膨胀卷积不仅可以提取过去时间点上的样本信息,而且具有长期记忆性。基于因果卷积的定义,采样时间t上的膨胀卷积计算结果可以表示为:
(4)
其中
为膨胀比,可以用于控制膨胀卷积跳过的步长,不难发现,当设置
时,膨胀因果卷积退化为一般的因果卷积。通常情况下,随着网络深度的增加,采用膨胀卷积结构的TCN的膨胀比
呈指数级增加,具体来说,网络第i层的膨胀比为
。通过这种方式,具有较大膨胀比的网络的顶层输出考虑了更加广泛的输入范围,从而能够有效应用于长时间序列。
![](//html.hanspub.org/file/1-2621668x27_hanspub.png)
Figure 1. Schematic diagram of causal convolutional structure
图1. 因果卷积结构示意图
![](//html.hanspub.org/file/1-2621668x28_hanspub.png)
Figure 2. Schematic diagram of dilated convolutional network structure
图2. 膨胀卷积网络结构示意图
3. 深度残差学习
已有研究表明,深层神经网络能够提取更抽象和有代表性的特征 [17],从而可以得到更高的预测精度。然而,深层网络普遍存在梯度消失问题,网络末端的预测残差的梯度信息难以通过反向传播平稳传递,这给深层网络的充分学习带来不良影响。
深度残差学习 [18] 是一种先进的神经网络结构,用于解决上述的梯度消失问题,其通过在复杂深层网络两端设置跳变连接,辅助梯度信息的反向传递。给定网络输入
,设一般的深层网络输出为
,则残差网络的输出
可以计算为:
(5)
可见,这种跳变连接结构将网络的拟合目标转化成目标输出与输入间的残差。前人工作 [19] 指出,通常情况下可以假设残差信息具有稀疏性,即其中大多数元素接近于零,这使得梯度下降过程更加平滑。
通常情况下,输入与输出的维度并不一致,为了保证残差连接结构的正确性,通过一个线性映射W来对输入与输出间建立线性关系,从而线性残差网络的输出计算方式为:
(6)
其中W为可训练参数。这种结构称为线性残差连接(Linear Residual Connection, LRC),其不仅有助于网络模型的梯度下降,还将网络的输出分解为线性的Wx与非线性的
两部分。事实上,多元时间序列中的变量通常并存线性与非线性关系,一般的神经网络直接采用深度非线性结构同时拟合两种关系,这将导致某些简单的线性关系也被描述为复杂的非线性关系,从而导致过拟合现象。线性残差连接的设计则避免了这种情况,简单的线性关系将直接由线性变换处理,大大降低了网络过拟合的风险。
4. 引入线性残差连接的时序卷积网络
如前所述,TCN能够有效地提取多元时间序列的非线性时序关系,而线性残差连接能够提取网络输入与输出间的线性关系,并防止过拟合现象。为结合二者的优点,文章构建了如图3所示的引入线性残差连接的时序卷积网络(LRC-TCN)。LRC-TCN的输入为多元时间序列
,其中
,N为变量数目,T为时间步长。输入X分别进入TCN网络和线性映射W来获取非线性预测结果
和线性预测结果
。
的计算方法:
(7)
其中
表示多层TCN网络构成的非线性函数,每层的计算方式如公式(2)与公式(4)所示。此外,为便于计算,在对X进行线性映射前,应先对其进行展平操作,即将X沿时间轴展开,并把每个时间点的样本拼接成一个列数为1的矩阵
,不难得知此时
的行数为TN,从而线性预测结果
可以计算为:
(8)
其中线性映射矩阵W的维度为(
)。
得到两类预测结果后,需要对其相加来得到最终的预测结果。然而,考虑到线性特征与非线性特征对最终的预测贡献未必相同,这里对传统的残差网络进行改进,将直接求和操作替换为加权求和。最终的预测结果y计算为:
(9)
其中
是一个取值在0到1之间的浮点数,称为融合系数,其控制了模型输出对线性与非线性预测结果的相关程度,
取值越大,则模型的预测结果越贴近线性预测结果,反之则越贴近非线性预测结果。为了避免人为设定
带来的主观性,文章设计了一种自适应的选取
方法,使网络对于每个不同输入都能动态调整
的取值,具体参数选取方式为:
(10)
其中
和
分别为两个可训练参数,g为sigmoid函数,其表达式为:
(11)
函数能将任意的实值输入
映射到
区间,从而满足
的取值要求。
![](//html.hanspub.org/file/1-2621668x61_hanspub.png)
Figure 3. Schematic diagram of the temporal convolutional network structure with linear residual connection
图3. 引入线性残差连接的时序卷积网络结构示意图
5. 光伏功率预测算法
基于前文提出的LRC-TCN网络结构,文章提出了相应的光伏功率预测方法,其主体步骤如下:
1) 给定输入训练数据集:数据集中的每个样本包含自变量与标签两部分。自变量指的是每个采样时间点及其之前若干个时间点上的过程参量组成的多元时间序列
,标签则指的是对应于该采样点若干个时间单位后的待预测功率值
,其中t为采样时间点,T为自变量时间步长,h为预测步长。T通常根据数据采集与存储情况选取,例如可设定为一天内的采样点数目,即利用一天的数据来预测未来的功率值;h通常可根据实际需求确定,即需要提前多少个采样点预知未来的功率值。此外,为了防止不同变量数量级不同,需要对其进行标准化,对于样本中的每个变量v,其标准化方式为:
(12)
其中
为标准化结果,
和
分别为变量
的均值和方差。
2) 数据集划分:为了在训练过程中合理调整模型中的超参数(如隐藏层数目、学习率等),需要通过交叉验证来衡量每组超参数选取下的模型表现。此处利用K折交叉验证 [20] 进行模型评估,即将训练数据集等分为K份,对于每组超参数训练K次,每次训练中选其中(K − 1)份数据用于模型训练,剩余1份用于测试,最终用K次的平均测试结果作为该组超参数的性能评估结果。
3) 模型训练:对于每组超参数,利用上述的K折交叉验证反复训练模型。每轮训练中,先得到模型对于每个样本的预测结果
,再按照下式计算损失函数L:
(13)
其中L为平均平方误差(Mean Squared Error, MSE),M为该轮训练样本总数。得到损失函数后,利用反向传播算法更新模型的可训练参数来最小化L,直至模型收敛或达到最大训练轮次。
4) 超参数确定:完成每组超参数的交叉验证,得到其评估指标(此处直接用损失函数L评估即可),选取性能最好的一组超参数作为参数设定结果。
图4显示了对于每组超参数做一次交叉验证的流程框图,将该过程重复K次即为完整训练过程。在选定超参数后,为了充分利用训练数据,可在这组超参数选取的条件下,利用所有训练数据重新训练模型,从而得到最终的预测模型。
![](//html.hanspub.org/file/1-2621668x71_hanspub.png)
Figure 4. Flow chart of the proposed photovoltaic power prediction algorithm
图4. 所提出的光伏功率预测算法的流程图
6. 实验验证
本文采用某光伏电站采集的数据进行模型训练与性能测试。采样时间为15分钟,数据集内包括总辐射、组件温度、环境温度、气压、相对湿度共5个自变量以及对应的真实发电功率。共有标签样本35040个,选取其中前30,000个样本作为训练集,其余作为作为测试集。
实验之前,需要定理合理的评价指标来客观评价模型的预测性能,本文采用MSE、均方根误差(Mean Root Squared Error, MSE, RMSE)以及平均绝对误差(Mean Absolute Error, MAE)作为评价指标。MSE的计算公式如公式(13)所示,RMSE的计算公式为:
(14)
MAE的计算方式为:
(15)
此外,为说明所提出方法的优越性,选取了常用的光伏功率预测模型,包括BP网络、LSTM网络、注意力LSTM网络(Att-LSTM)作为对比。
利用训练集训练LRC-TCN模型,通过5折交叉验证对模型超参数进行调整,最终选取学习率为0.001,TCN隐藏层数为3层。表1中展示了所提出模型与其他常用功率预测模型在测试集上的性能参数。根据表1中的实验结果可知,所提出的LRC-TCN模型的预测误差最小,这验证了所提出方法具有较高的预测精度。
![](Images/Table_Tmp.jpg)
Table 1. Power prediction performance comparison between the proposed LRC-TCN method and common power prediction methods
表1. 所提出LRC-TCN方法与常用功率预测方法的功率预测性能对比
为进一步探索各模型的性质,文章将所提出方法、BP方法、LSTM方法以及Att-LSTM方法在测试集上的一段预测结果分别展现在图5、图6、图7和图8中。如图所示,LRC-TCN方法成功提取到了光伏发电功率的变化趋势,其预测结果能够随昼夜更替呈现出正确的波动趋势,且在每个发电功率的波峰都达到了较好的预测进度,整体预测结果与真实情况基本吻合。与之相比,BP模型和Att-LSTM模型对于功率的波峰处预测并不够准确,对于每个尖峰的预测结果显著偏大或偏小,这说明这两个模型未能很好地捕捉光伏数据的时序特性。此外,图7中展示的LSTM模型的预测结果不佳,其仅仅捕捉到时间上的周期性波动规律,但几乎对所有波峰处都给出了相似的预测结果,这是由于LSTM仅关注于时间维度的规律,但并不能很好地建立起发电过程参数与功率间的联系。不仅如此,还有一个值得注意的实验现象,文中所有预测模型在训练阶段最终的预测误差都相差不多,但在测试集上却出现了显著差异,而所提出的模型在测试集上预测精度最高,说明其泛化能力强于其他三个方法,这是由于LRC-TCN在使用TCN的同时引入了线性残差连接,显著地缓解了过拟合现象。
![](//html.hanspub.org/file/1-2621668x74_hanspub.png)
Figure 5. Power prediction results of the LRC-TCN model
图5. 所提出LRC-TCN模型的功率预测结果
![](//html.hanspub.org/file/1-2621668x75_hanspub.png)
Figure 6. Power prediction results of the BP model
图6. BP模型的功率预测结果
![](//html.hanspub.org/file/1-2621668x76_hanspub.png)
Figure 7. Power prediction results of the LSTM model
图7. LSTM模型的功率预测结果
![](//html.hanspub.org/file/1-2621668x77_hanspub.png)
Figure 8. Power prediction results of the Att-LSTM model
图8. Att-LSTM模型的功率预测结果
7. 结束语
文中提出了一种基于时序卷积网络与线性残差连接的光伏发电功率预测模型,该方法通过因果卷积和膨胀卷积的设计,扩大了时序特征提取的感受野,进而提高了对于多元时间序列的特征提取能力。此外,线性残差连接的引入起到了辅助模型训练,避免过拟合的效果,显著提升了预测性能。实验结果表明,相比于其他常见的光伏功率预测方法,所提出的方法具有较高的预测精度,对电力系统的规划调度与安全稳定运行具有实际意义。
在未来的研究中,可以尝试考虑数据中的多模态特性,分别建立不同的基于TCN与线性残差连接的预测模型,从而进一步提高精度。