赵博超,马嘉骏,崔磊,栾文鹏*,朱静
(1.天津大学电气自动化与信息工程学院智能电网教育部重点实验室,天津 300072;2.中国华能集团有限公司华能江苏综合能源服务有限公司,江苏 南京 210015)
太阳能光伏发电是一种清洁、可再生、无污染的新型能源,在多项利好政策落地和平价上网实现的扶持下,相关技术和产业在国内发展迅猛。据报道,中国新增装机量、分布式装机量以及分布式占比均屡创新高。截至2021 年底,光伏新增装机规模达到54.88 GW,同比增长13.9%。分布式装机量约占全部新增装机量的53.4%,达到29.28 GW[1]。无论是对于大型光伏发电企业还是部署了分布式光伏系统的用户,如何兼顾发电安全和经济收益都是其关注的核心问题。光伏发电系统运行状态将直接影响其发电效率和能力,进而影响系统安全性和经济效益。然而,考虑到环境和操作条件的复杂性以及光伏发电系统自身的特点,硬件故障、组件老化、阴影遮盖以及光伏板污染等异常情况时有发生[2],不仅会导致能源浪费,还会增加维护成本并影响发电效率和稳定性。因此,光伏发电异常检测是系统运维决策制定中的重要环节[3]。
当前光伏发电系统异常检测方法主要分为两类:一类是在光伏组件层面直接定位和检测的方法,通常借助传感器并结合图像识别、红外线、热成像技术[4];另一类是数据分析方法,通过对光伏发电系统电气数据及环境数据进行建模与分析来检测异常状况[5]。后者可进一步分为直接法和间接法[6]。直接法通过提取标注数据中的异常特征来训练异常检测模型[7]。间接法通过构建光照强度、温度等环境数据和光伏出力的关联模型来预测光伏常态发电曲线,与真实数据对比后分析偏差来间接判断异常[8]。由于直接法依赖数据标注,因此其表现受实际场景中的不准确标注或不全面的故障类型影响较大。然而,光伏电站和户用光伏系统往往缺乏大量故障标注数据,既制约了这类直接法应用初期的性能,又需要额外成本辅助更新模型,推广应用价值有限。因此,本文采用间接法进行研究。
间接法中的预测模型主要分为物理模型、统计模型和机器学习模型[9]这3 种。物理模型是一种建立在光伏发电物理原理上的数学模型,结合相关物理知识和经验规律对数据进行特征提取并完成数学建模。在文献[10]中,制造商提供的光伏组件参数(短路电流、开路电压、最大功率点电压电流等)被用于光伏系统仿真建模,通过比对各种故障类型造成的功率损失模型和实时监测功率数据记录来判断故障类型。虽然该方法仅需要功率信号作为输入,但是其根据光伏组件数据精准搭建的模型不具备普适性。基于概率理论和统计学分析的统计模型需要根据数据估计模型参数,对不同变量进行相关性建模,如在文献[11-12]中,马尔可夫链和自回归模型分别被应用于光伏发电异常检测。文献[13]构建单二极管模型,利用加权移动平均法结合历史信息提高模型对光伏功率变化的敏感性,通过对比预测值与观测值的累计偏差量及其预设阈值来判定异常。该方法还在线性模型中加入了有界干扰参数,进一步提升了异常点与干扰变量的区分能力,减少了干扰变量对检测结果的影响,提高了效率和准确率。
虽然以上基于统计模型的光伏发电异常检测方案在特定数据集上表现较好,但是考虑到实际场景中光伏发电量、气象条件、太阳辐射强度等环境因素间存在复杂的非线性关系,以及噪声和测量误差等干扰因素,预测和异常检测精度可能会有明显下降[14]。鉴于上述模型的局限性,机器学习方法被应用于光伏发电异常检测任务。在文献[15]中,支持向量机被用于天气状态分类,据此构建针对不同天气状态的光伏预测子模型,通过预测日发电量来实现光伏模组性能评估。文献[16]将人工神经网络应用于光伏系统故障建模,基于历史发电数据、气象数据和故障标注来训练故障识别网络。虽然上述方法均在实验中有效识别出了光伏发电异常情况,但是在天气持续变化的实际场景中,对天气状态进行有限分类建模制约了其性能。此外,常规光伏电站异常故障少有发生,获取故障数据需要大量监测资源和人力成本,方法实用性受限。
本文提出一种用于光伏发电异常检测的改进VMD-XGBoost-BiLSTM 组合模型,变分模态分解(VMD)将光伏发电量分解为多个模态分量(IMF),利用自适应赋权、Attention 机制和改进鲸鱼优化算法(IWOA)模型超参数优化为每个IMF 训练组合模型。首先,为了提供尽可能准确的正常运行状态建模数据,在原始训练数据预处理中去除异常值。其次,通过对原始数据类型进行相关性分析,筛选和融合特征,在保留特征关联关系的同时排除冗余。随后,利用VMD 分解时序信号至多个IMF,以提取光伏发电量信号的周期和非周期特征。该方法分析复杂光伏发电数据中的模态混叠情况,凸显其周期趋势特性和局部波动特征,进而利用预处理后的特征对每个IMF 分别训练神经网络。该网络结构由极端梯度提升(XGBoost)和双向长短期记忆(BiLSTM)通过自适应赋权方法组合而成,用来预测常态IMF并合成常态光伏发电量预测结果。在此基础上,对鲸鱼优化算法(WOA)进行改进,将其应用于模型超参数自适应选择过程。
准确的训练数据对于精准拟合光伏发电量模型至关重要,然而在实际采集数据的过程中,会存在由传感器故障、数据传输错误以及自然因素等原因导致的数据异常。这些离群值会导致模型过度适应偏斜明显的数据样本,从而影响模型泛化能力。图1所示为4 类典型的原始数据。
图1 原始数据示例Fig.1 Original data example
图1 中除风速外的3 种数据中均存在异常值,如达到上千摄氏度的环境温度、光伏出力平均功率的离群点以及大于360°的风向角度。而风速最大值25 m/s 相当于10 级大风,不属于异常值。运用基于统计分析方法对除风向外的特征异常值进行检测,首先计算各类原始数据的标准化得分(z-sscore),根据3σ原则,若则该数据采样点为异常值。对于风向,则将异常数据判断的阈值设置为360°。为了维持数据的完整性和周期性,本文用最邻近数值来替代异常值。
针对任意2 个特征向量,相关性分析可以用来衡量其关联密切程度。本文采用皮尔逊相关系数,定义如式(1)所示:
其中:x和y是2 个特征向量和分别是x和y的平均值;n是数据个数。因此,rxy∊[ -1,1]表示x和y间的相关程度,rxy=1 表明x和y完全正相关,rxy=-1表明x和y完全负相关,rxy=0 表明x和y无线性相关关系。
图2 所示为多种数据间的关联性。对于发电量而言,光照强度和电流的相关性较强,时间、平均功率、板温、风速和风向的影响有限,而环境温度、转换效率和电压则影响甚微。虽然光伏发电量会因气象原因出现随机波动,但是其在一个自然日内通常对最大发电量时刻呈现中心对称趋势,这种现象在天气晴朗无云时可被观测到,如图3 所示(仅保留发电时段数据)。
图2 关联矩阵Fig.2 Correlation matrix
图3 晴朗无云时光伏发电量示例Fig.3 Example of photovoltaic generation for sunny days
本文定义如下新特征:
1)F1(峰值距离),用来表示当前时刻在一个自然日内的相对位置。
2)F2(峰值电量),表示峰值点的发电量大小。
3)F3(区间平均功率),表示采样点到峰值区间内平均功率的距离,用来反映采样点和峰值点的相对强度和位置。
4)F4(区间标准差),用来反映峰值区间内功率的稳定程度。
上述新特征有助于更全面地理解和分析光伏发电数据。针对图2 中与发电量关联性较弱的数据类型,如转换效率是光伏板输出和输入功率比值,构建F5(光照强度×转换效率),用以表征对发电量的影响。其次,由于光伏板和环境的温差与发电量相关性较强,因此其也被引入作为新特征F6。图4 所示为筛选后的特征相关性。从图4 可以看出,新构建特征与发电量之间呈现出较为明显的相关性,证明其可有效提高特征的表达能力。利用新特征可以更好地描述原始数据的关联关系,从而提高数据分析和建模的精度。
图4 特征改进后的关联矩阵Fig.4 Correlation matrix with improved features
对于非晴朗天气状态,光伏发电量时序信号f(t)可看作是整体趋势与局部波动的叠加。从整体趋势上看,f(t)具有以日为单位的周期性,而环境、气象因素可能会导致明显的局部波动。信号分解常被用于促进信号特征提取,如经验模态分解(EMD)[17]、局部均值分解[18]、小波包分解[19]等。由于EMD 中包含信号极值递归检测和基于极值插值的包络估计,其分解结果易受极值检测方法、插值方法以及施加的停止准则的影响,导致鲁棒性较低[20]。而小波包分解计算复杂度较高且对噪声敏感,局部均值分解中存在包络平滑迭代误差,且结果易受步长选择的影响。
不同于上述基于递归筛选的信号分解方法,非递归的VMD 方法在面对弱线性光伏发电量时间序列时可有效克服端点效应和模态混叠,其鲁棒性和自适应性更优[21]。利用VMD 分解f(t)可以得到本征分量(IMF)[22],凸显其波动性、周期性、趋势性等特征。VMD 通过迭代求解变分优化问题获得每个IMF 的频率和带宽,从而实现对原始信号自适应分解和降噪的效果[23]。VMD 分解方法目标函数如式(2)所示:
其中:μk(t)表示第k个模态分量在t时刻的样本;ωk表示第k个模态分量在t时刻的中心频率;∂t表示对时刻t求微分;δ(t)表示单位冲击函数为L2 范数。对于每个模态对应的带宽约束问题,引入增广拉格朗日函数将其转换成无约束问题,求解方法如式(3)所示:
其中:L(·)表示增广拉格朗日函数;λ(t)表示拉格朗日乘法算子;α表示二次惩罚因子为内积。各模态分量μk及其对应的中心频率ωk通过交替方向乘子法进行更新,求解方法如式(4)、式(5)所示:
通过以上计算,原始光伏发电量时间序列f(t)被分解为不同的分量μk(t),并得到各分量对应的中心频率ωk。通过对各分量中心频率的大小进行分析进而选择合适的分量数量,避免模态欠分解或模态过分解问题。
如图5 所示,长短期记忆(LSTM)神经网络被用来解决长序列训练中出现的梯度消失和梯度爆炸问题[24]。LSTM 包含遗忘门、输入门和输出门3 个门控单元,计算如式(6)所示:
图5 LSTM 结构示意图Fig.5 Schematic diagram of LSTM structure
其中:ft、it、ht分别表示遗忘门、输入门和输出门的输出;Wf、Wi、Wo分别代表对应的权值系数;bf、bi、bo分别代表对应的偏置常数;σ表示将输出限制在[0,1]范围内的Sigmoid 激活函数;tanh 激活函数可以将输出限制在[-1,1]范围内。
通过输出门的输出ht得到LSTM 的光伏发电量预测结果,计算如式(7)所示:
其中:st是用来表示长期记忆信息的细胞状态;yt为预测结果的输出;Wd为输出层的权值系数;bd为对应的偏置常数。
BiLSTM 神经网络在LSTM 的基础上通过新增反向隐藏层实现输入序列在网络中的反向传播,使得输出同时考虑上下文信息,从而提高了网络的泛化和表达能力[25]。由于时间序列预测任务中的上下文往往都携带了有用信息,因此BiLSTM 的表现往往优于LSTM。图6 所示为BiLSTM 的基本结构。
图6 BiLSTM 结构示意图Fig.6 Schematic diagram of BiLSTM structure
BiLSTM 的总输出为前向LSTM 和后向LSTM输出之和,表达式如式(8)所示:
XGBoost 是一种基于梯度提升决策树的机器学习方法,通过组合迭代训练构建的多个决策树模型以实现预测功能[26]。在迭代过程中,XGBoost 会根据前一次迭代结果来调整新建树节点的位置,使当前模型损失函数最小化。以第t棵决策树为例,XGBoost 表达式如式(9)所示:
其中:Tk和ω分别表示第k棵树的叶节点数量和得分;t表示树的数量;γ和λ均为比例因子参数,分别用来控制叶节点的个数和分数。在目标函数OObj中,为正则项为误差项。
迭代后目标函数得到更新,计算如式(11)所示:
为了简化目标函数的计算,对目标函数进行泰勒展开,计算如式(12)所示:
其中:gi和hi分别为损失函数的一阶和二阶导数。式(12)可以进一步化简为:
此时目标函数可以看作一个关于叶节点的函数,对ω求导可得最优解,将其代入式(11)中可得:
根据目标函数不断生成新的较优的树,从而降低模型的偏差。将所有树的结果累加起来得到最终的光伏常态发电量预测结果。
Attention 机制模仿了人类视觉在信息加工中的作用,在模型中引入权重向量,用来衡量输入的不同部分的重要性,通过动态调整输入特征权重来改变不同特征对输出的影响[27],使得模型可以选择性地关注输入信息,更好地捕捉关键信息。Attention 机制结构如图7 所示。由于环境因素复杂且对光伏发电量影响较大,因此Attention 机制可引导模型关注光照强度等重要信息。
图7 Attention 机制结构Fig.7 Attention mechanism structure
WOA 是一种模拟鲸鱼狩猎行为的优化算法[28],分为包围猎物、泡网攻击和搜索猎物3 个步骤。攻击和搜索阶段的最佳定位分别如式(16)、式(17)所示:
其中:t为迭代次数;X(t+1)为第t+1 次迭代时的位置;X*(t)为当前最佳位置矢量;A和D为系数矢量;D'为鲸鱼与猎物之间的距离;l∊[ -1,1]、p∊[0,1]均为随机数;b为常数;Xrand为随机生成的位置矩阵。WOA 存在局限性,随迭代线性下降的a会拖慢收敛速度[29],在全局搜索时对迭代过程中鲸鱼位置更新的能力差异欠考虑会导致次优解。
本文通过以下步骤对WOA 进行改进:
步骤1调整收敛因子。
由于a被用于调整全局搜索能力和局部寻优能力,为了提升效率和精度,结合搜索早期的粗略搜索策略和搜索后期的搜索范围限定,对a进行调整,如式(18)所示:
其中:t为迭代次数;Tmax为最大迭代次数;a为IWOA收敛因子;a'为WOA 收敛因子。
步骤2引入动态惯性权重因子。
受粒子群算法中惯性权重方法的启发,引入自适应权重因子,以提高搜索效率和准确性[30]。调整后如式(19)、式(20)所示:
其中:i为当前迭代次数。
本文通过组合VMD、XGBoost 和BiLSTM 构建光伏发电异常检测模型。针对光伏发电量VMD 得到的IMF 和特征提取结果,利用XGBoost 迭代优化生成的决策树系列来预测常态光伏发电量,将该结果作为输入特征并与其他特征一起训练考虑Attention 机制的 BiLSTM(BiLSTM-AT)网 络。BiLSTM 不仅缓解了训练过程中的梯度消失或梯度爆炸问题,还充分考虑了双向信息,进而提高了网络的泛化和表达能力。为了进一步提升算法性能,Attention 机制通过对输入特征进行差异化赋权,帮助捕捉重要特征,其预测结果与先前XGBoost 的结果加权求和以生成最终的预测结果。本文使用基于残差的自适应赋权,其中权重计算公式如式(21)所示:
其中:ωi,t为i模型在t时刻的权重;ei,t为i模型的预测残差;n为模型总数;m为采样点总数。通过目标函数可以得到各模型在t采样点处的最优权值,为了达成异常检测任务目标,通过对样本最优权值的计算推算预测点处的最优权值,推算过程如式(22)所示:
BiLSTM 和XGBoost 在多个领域的非线性数据处理任务中均表现优异,且神经网络模型和树模型的内涵保证了其结果的差异性,因此,本文提出的模型组合方式有利于提升异常检测结果的准确性。此外,光伏发电量的随机性和波动性会导致模型预测结果不稳定,使用基于残差的自适应赋权方法来代替固定权重,可进一步增强组合模型的鲁棒性。由于训练结果对模型超参数的选择较敏感,因此本文采用易于实现且收敛性和稳定性较好的IWOA 分别对BiLSTM-AT 模型和XGBoost 模型进行超参数优化,其流程如图8 所示。
图8 IWOA 优化流程Fig.8 IWOA optimization procedure
最后,通过对比预测结果与实际测量值,本文提出基于动态阈值的异常判断规则,避免了由低光照强度导致低发电量从而造成的误判。异常判断规则具体为:将每个采样点的阈值设定为前1 h 内真实光伏发电量均值乘以系数0.2,若连续2 个采样点的发电量均超过该阈值,则判断为存在异常。需要注意的是,每日光伏系统开始发电的第1 个小时出力较少,不进行异常判断。基于改进VMD-XGBoost-BiLSTM 组合模型的光伏发电量异常检测方法完整流程如图9 所示。
图9 基于改进VMD-XGBoost-BiLSTM 组合模型的光伏发电量异常检测方法流程Fig.9 Procedure of photovoltaic anomaly detection method based on improved VMD-XGBoost-BiLSTM combination model
本文实验数据均采集自南京市某楼宇屋顶光伏发电系统,采样间隔为5 min。数据由电力监测传感器采集的电气数据和环境监测传感器采集的环境数据组成,电气数据包括发电量、平均功率、电压、电流和转换效率,环境数据包括光照强度、板温、环境温度、风向和风速。利用2022 年3 月1 日—6 月10 日采集的数据构建光伏发电异常检测模型,其中前80%数据用于模型训练,后20%数据用于验证。需要注意的是,光伏发电系统于2022 年2 月完成调试,3 月份正式投运和维护,因此,用于训练和验证的数据代表的是正常运行状态。而2023 年3 月1 日—3 月31 日的数据被用于测试。考虑到光伏发电量在日落时段趋近于0,为了提升算法处理效率,实验数据仅保留高于阈值0.04 kW·h 的部分。表1 所示为实验参数设置。
表1 实验参数设置Table 1 Experimental parameter settings
本文利用均方根误差(RMSE)、平均绝对误差(MAE)和平均绝对百分比误差(MAPE)衡量光伏发电异常检测模型的性能。评估指标计算公式如式(23)所示:
其中:Xtrue,i和Xmodel,i分别为真实值和模型预测值;n为训练集总容量。
在对光伏发电量进行VMD 前需确定待分解IMF 的数量K,避免因K选择不当导致的模态欠分解或由过度分解产生的无用分量。实验中设定K的初始值为3,通过观察各IMF 的中心频率在K逐步增大时的变化来确定最终K值。表2 所示为K不同取值时各模态的中心频率。从表2 可以看出,当K=6 时,IMF2和IMF3的中心 频率比值为2.69,当K=7 时,该比值降为1.59,即当K=7 时IMF2和IMF3的中心频率更为接近,更易出现模态混叠,因此,最优K值应设为6。VMD 结果如图10 所示。
表2 模态中心频率Table 2 Center frequencies of IMFs
图10 VMD 结果Fig.10 VMD results
从图10 可以看出,IMF1变化较为缓慢,反映了光伏发电量的长期趋势,而IMF2反映了以日为单位的周期性规律,IMF1和IMF2代表了光伏发电量的总体趋势。IMF3~IMF6的幅值区间大致相同,其中IMF3的幅值波动略大并且有明显周期性,因此判断其受到了强相关性特征的影响。IMF6的高波动频率和弱规律性可能由弱相关性特征影响导致。VMD从模态混叠的光伏发电量原始信号中分解出了全局趋势特征与局部震荡特征,有利于后续异常判断。
为验证所提方法各网络组成部分和改进模块的有效性,对多个模型的光伏常态发电量预测结果进行对比,模型描述如表3 所示,对比结果如表4 所示,最优结果加粗标注。
表3 对比模型描述Table 3 Description of comparative models
表4 实验结果对比Table 4 Experimental results comparison
从表4 可以看出,单一XGBoos(t#5)的实验结果略优于单一BiLSTM(#4),而引入VMD 后,VMDBiLSTM(#6)略优于VMD-XGBoos(t#7)。因此,可推断BiLSTM 在该异常检测任务中更易受到特征混叠的影响。VMD 分别将BiLSTM 和XGBoost 的预测精度约提升31.47%和22.67%,证明其能有效分离混叠特征,进而提升特征质量。VMD-XGBoost-BiLSTM 组合模型的误差相对单一XGBoost 和单一BiLSTM 分别约降低20.74%和27.30%,验证了利用组合模型的差异性可有效增强其检测性能。此外,该对比实验还评估了所提网络模型优化改进方法。在组合模型赋权自适应化的基础上,Attention 机制和基于IWOA 的模型超参数优化分别将平均误差指标降低约5.53%和10.73%,验证了所提自适应赋权方法、Attention 机制和IWOA 模型超参数优化方法的有效性。
为了更直观地展示光伏发电量预测结果,对单一模型无VMD 时表现最优的XGBoost、单一模型有VMD 时表现最优的VMD-BiLSTM、VMD-XGBoost-BiLSTM 以及本文所提改进VMD-XGBoost-BiLSTM模型在3 种典型天气下的表现进行对比,结果如图11 所示。从图11 可以看出:晴天时光伏发电量波动较小且趋势明显,4 种模型均表现较好,所提模型略胜一筹;阴天时光伏发电量存在一定波动,VMDXGBoost-BiLSTM 和VMD-BiLSTM 仍有不错的表现,这得益于VMD 对局部波动特征的分解提高了拟合精度,但是仍有个别采样点未能准确地预测到光伏发电量的波动。此外,XGBoost 模型结果中存在周期性震荡,可能会导致误判;在发电量波动较为剧烈的多云天气下,所提模型和组合模型仍表现稳定,在浮云飘过导致光伏发电量突然下降时,所提模型相较于组合模型能更早地做出反应,而其他2 种对比模型精度均明显下降。综上,相较于对比模型,所提模型在光伏常态发电量预测任务中展现出更好的气象环境普适性。
图11 不同天气下的对比结果Fig.11 Comparison results under different weather conditions
为了验证所提方法的异常检测性能,在从测试数据集中得到的实验结果中截取部分包含异常情况的典型片段,异常检测结果如图12 所示。从图12 可以看出,本文所提方法不仅能准确预测光伏常态发电量曲线,还可结合偏差量对比和判断规则识别出异常数据,实现光伏发电异常检测。在光伏系统正常运行时,本文所设计的规则有效地避免了误判,而在线路损坏时也能够及时识别异常。图12(c)中可见光伏组件积尘会导致出力达不到常态水平,在高光照强度时,所提方法准确检测出了这一异常类型,而在低光照强度时,所提方法未识别出异常,证明其可以有效降低因天气变化造成的误判概率。
图12 异常检测结果Fig.12 Anomaly detection results
本文提出一种基于电气数据和气象数据的光伏发电异常检测方法。利用异常值去除和相关性分析对特征进行筛选和融合,采用改进VMD-XGBoost-BiLSTM 组合模型,结合自适应赋权、Attention 机制和IWOA 模型超参数优化方法,预测光伏常态发电量曲线,最后通过分析偏差情况实现异常判断。在真实数据集上的实验结果表明,该方法不仅可以准确预测光伏常态发电量曲线,在异常检测任务中也具有有效性和对不同气象环境的普适性。VMD 使得单一模型的误差指标平均约降低27.07%,组合模型相较单一模型取得了超过20%的平均误差下降幅度,而引入Attention 机制和IWOA 则分别取得了约5.53%和10.73%的平均误差下降幅度。下一步将对所提方法在多种数据采样频率下的鲁棒性进行研究,同时探索可以辨识异常类型的检测方法。