前言:
当前咱们对“sprt算法”都比较讲究,你们都想要分析一些“sprt算法”的相关资讯。那么小编也在网摘上搜集了一些对于“sprt算法””的相关文章,希望同学们能喜欢,兄弟们一起来学习一下吧!阅读文章前辛苦您点下“关注”,方便讨论和分享,为了回馈您的支持,我将每日更新优质内容。
文 | 奇旅说
编辑 | 奇旅说
前言
风能是一种清洁无公害的可再生能源,且风能蕴量巨大,越来越受到世界各国的重视。而在“双碳”背景,未来风能将有更为广阔的发展前景。风力机作为一种复杂的电动液压系统,其连续运行在不规则负载模式,间歇性持续和恶劣天气条件下。这类变化的且极端的运行环境总是给风力机造成不可逆的损伤,使其故障频发。
因此,为了及时检测异常,减少风力机停机时长,降低风电场运维成本,实现风力机的有效异常检测就成为一个亟需解决的研究问题。
基本理论
长短时记忆神经网络(LongShort-TermMemory,LSTM)是循环神经网络的一种变体,它可以通过门控制将短期记忆与长期记忆结合起来,并解决传统循环神经网络梯度消失和梯度爆炸问题。
LSTM的结构如图1所示,其前向传播的过程和公式可表示为
(1)
(2)
(3)
(4)
(5)
(6)
式中,ft,it和Ot分别为遗忘门、输入门和输出门;~Ct和Ct分别为记忆单元的瞬时备选状态和长期状态;ht和ht-1分别为LSTM单元在当前时刻的输出和前一时刻的输出;xt为当前时刻的输入;σ(·)和tanh(∙)分别为sigmoid激活函数和双曲正切激活函数;Wf和bf分别为遗忘门的权重矩阵和偏置向量;Wi和bi分别为输入门的权重矩阵和偏置向量;Wc和bc分别为计算瞬时备选状态所需的权重矩阵和偏置向量;Wo和bo分别为输出门的权重矩阵和偏置向量。
与训练BP神经网络类似,LSTM网络的训练同样依赖于反向传播算法。前向传播过程计算出网络的输出值后,损失函数计算预测误差,然后经反向传播实现对参数的更新,以减小预测误差。
序贯概率比检验(SequentialProbabilityRatioTest,SPRT)是一种由AbrahamWald于1947年提出的数理统计方法。针对系统的两种状态(正常或故障),SPRT给出两种假设:
假设H0:系统正常运行时,模型预测偏差分布服从均值为μ0,方差为σ20的正态分布;
假设H1:系统出现故障时,模型预测偏差分布服从均值为μ1,方差为σ21的正态分布。
对于给定的残差序列e1,e2,……,en,假设H0和H1的联合概率分布计算公式分别为:
(7)
(8)
定义似然比为:
(9)
分别定义虚警率α和漏警率β并给出故障预警所需的判决阈值A和B:
(10)
(11)
为方便使用,上述式(9),(10)和(11)均采用对数式,即:
(12)
(13)
(14)
则序贯概率比判决准则为:
在实际应用时,偏差的均值会伴随着故障的产生增大或减小,即由μ0变为μ0+Δμ或μ0-Δμ;而残差的方差则会变大,由σ20变为σ21。因此需要定义两个对数似然比分别对应上述两种情况:
情况1:H0和H11,其中H11对应的残差均值为μ0+Δμ,方差为σ21,且对数似然比为lnR1;
情况2:H0和H12,其中H12对应的残差均值为μ0-Δμ,方差为σ21,且对数似然比为lnR2。
本文使用SPRT对风电机组监测变量模型预测残差进行分析,从而实现对风电机组异常状态的监测和预警。其中,假设H0的均值和方差由健康状态测试样本的残差计算所得;虚警率和漏警率取0.01;Δμ为3μ0,σ21为1.5σ20。
近年来,大数据应用的出现推动了基于数据驱动的状态监测和故障诊断领域的蓬勃发展,但其中存在的“黑箱”属性和高昂的模型评估也给大数据模型的优化带来巨大的挑战。贝叶斯优化(BayesianOptimization,BO)作为一种全局优化算法,是解决上述问题的可靠方案。贝叶斯优化的目标是找到“黑盒”函数的最优解,其在优化过程中利用了著名的“贝叶斯定理”:
(15)
其中,f表示目标函数;D1:t={(x1,y1),(x2,y2),…,(xt,yt)}表示已观测集合,xt表示决策向量,yt=f(xt)+εt表示观测值,εt表示观测误差;p(D1:t|f)表示y的似然分布;p(f)表示f的先验概率分布;p(D1:t)表示边际似然分布;p(f|D1:t)表示f的后验概率分布。算法1为贝叶斯优化框架。
基于LSTM-BO-SPRT的风电机组早期故障演化过程分析方法
本文提出了基于LSTM-BO模型和SPRT算法,利用SCADA历史数据研究风电机组早期故障演化过程的分析方法。
首先梳理SCADA数据各监测变量与其他监测变量之间的相关性映射关系,形成神经网络训练所需的一系列输入—输出关系对;其次是充分发挥LSTM网络强大的时序特征提取能力,将预处理后的健康状态的SCADA数据送入LSTM网络进行训练,从而得到SCADA数据各监测变量对应的正常行为模型。
最后,依赖于SPRT算法在序贯测试方面的优势,将各监测变量的LSTM模型预测值与实际监测值之间的偏差看作序贯测试的对象,并对其测试结果进行固定宽度的滑动窗口观测,以异常点数目占观测窗口宽度的比值为度量指标,得到部分重要监测变量在故障发生前的演化过程,为后续演化规律的分析提供指导。
本文结合LSTM的时序特征提取能力和贝叶斯优化框架(BO)的全局优化能力构建了针对SCADA数据各监测变量的正常行为模型,其模型建立的具体步骤如下:
步骤1:数据预处理和相关性分析。基于SCADA系统故障记录表,利用均方根法、箱型图法和核密度估计法对SCADA历史数据进行清洗,得到处于健康状态的SCADA数据;然后使用Pearson相关系数计算SCADA数据中不同监测变量之间的相关性,并结合环境参数对风电机组监测参数的影响,梳理得到各监测变量与其他监测变量之间的相关性映射关系,形成神经网络训练所需的一系列输入输出关系对。
步骤2:建立正常行为模型。模型主要基于LSTM和贝叶斯优化进行构建,LSTM隐藏层为1层,全连接隐藏层为1层,其中两类隐藏层的神经元数目以及LSTM网络训练时的批处理样本数目均为贝叶斯优化的求解参数。选择均方根误差(MeanSquaredError,MSE)作为损失函数,选择Adam为模型训练优化器,同样选择MSE作为评价模型训练效果的指标。
步骤3:训练正常行为模型。将预处理的健康状态的SCADA数据送入LSTM模型进行训练。其中,输入-输出数据的组织形式为输入变量过去12h的历史数据预测输出变量当前时刻的值;使用贝叶斯优化对隐藏层神经元数目和批处理样本数目进行全局优化求解,同时这些参数均给定取值区间,即神经元数目取值范围为,批处理样本数目取值范围为。
经全局寻优得到超参数最优组合后,即可得到有效捕获输入参数和输出参数之间映射关系的LSTM正常行为模型。
序贯测试是一种按顺序(即一个接一个)对测试对象进行检测的方法,每次检测后都会对结果进行评估,以判断测试对象是否符合要求,并判断是否继续进行检测。
本文将SCADA数据各监测变量的模型预测值与实际监测值之间的偏差看作序贯测试的对象,其具有正常/异常两种状态。
针对上述偏差的序贯测试主要是将整个偏差序列抽象为一系列状态点,按照时间顺序对状态点逐个检测:若结果超出检测上限值,则将其判定为异常点,同时新一轮检测重新开始;若结果低于检测下限值,则将其判定为正常点,同样新一轮检测重新开始;而当结果介于下限值与上限值之间时,则无法判定该点状态,需继续纳入下一状态点进行检测。
基于上述序贯测试规则,SCADA数据各监测变量在每一时刻都具有明确的状态值。此时,通过设置一种固定宽度的滑动观测窗口,可观察到故障发生前不同参数的状态变化过程,即故障演化过程。
窗口观测的具体规则为:以故障发生前的6h为滑动观测窗口的起点时刻,之后逐点移动该观测窗口,并以观测窗口内异常状态点数目与观测窗口宽度之比为度量指标,计算出每个时刻(也即每个观测窗口)对应的指标值。
基于LSTM-BO-SPRT的风电机组早期故障演化过程分析方法的流程,如图2所示。
案例研究
本文的研究对象为东北某风电场并网风电机组,该型号风电机组的切入风速为3m/s,切出风速为20m/s,额定风速为10.5m/s,额定功率为1500kW。选择2019年1月至2020年12月的SCADA数据作为分析样本,用于生成模型训练样本和测试样本,同时基于该数据和故障记录表划分故障样本。
根据风电机组SCADA数据的故障记录表可以发现,该数据中存在大量的因停机、故障或检修等原因导致的离群点,因此本文采用均方根法、箱型图法和核密度估计法等方法对原始数据进行离群点清洗,以降低离群点对后续建模精度的干扰。
SCADA数据的采样率为10min,其监测参数共50个,其中本研究重点关注与齿轮箱、发电机及自然环境相关的温度型参数和其他参数,累计40个,如表1所示。
风电机组作为一种典型的复杂机械设备,其内部部件之间具有复杂的耦合关系,因此采用单一输入参数对目标参数进行建模显然是不合理的。本文采用Pearson相关系数法分析各监测参数与目标参数之间的相关性,计算公式如下:
(16)
其中,n为样本数量;X为变量集中的待分析变量;Y为目标变量(有功功率);Xˉ,Yˉ为样本的平均值。筛选与目标参数相关性大于0.5的参数作为其输入参数,具体输入-输出参数匹配关系如表2所示,其中输入参数编号含义见表1。
本文将预处理后的健康状态的SCADA数据按照表2所示的输入-输出匹配关系划分为25组模型数据集,并将每个数据集按照7:2:1的比例划分为训练集、验证集和测试集。构建训练样本时,使用输入参数的12h(即72个点)历史数据预测输出参数当前时刻的值。模型训练框架为Keras。
贝叶斯优化的次数为10,即在10组参数对应的训练结果中选择最优结果作为最终的模型训练超参数。
本文选择MLP、GRU和LSTM作为基准方法,对比了它们与LSTM-BO模型的建模精度(即,RMSE值),如表3所示。结果表明,相比于MLP这类不考虑时序关系进行建模的神经网络模型,GRU和LSTM作为时序建模的基本模型,能够有效地捕获输入参数与输出参数之间隐含的时序特征关系,从而取得更优异的预测结果。
对于引入贝叶斯优化的LSTM-BO模型,其能够在降低人工寻优难度的前提下,取得与人工寻优相当甚至更优的建模精度。
87号风力机为例,图3展示其LSTM-BO模型训练效果。可以看到经BO超参数寻优后的LSTM模型能够准确预测各参数在每一时刻的状态值,这将为后续顺利开展故障预警和故障演化分析打好基础。
如1.2节所述,SPRT算法成立的假设是目标参数的模型预测偏差满足正态分布,故需对上述LSTM-BO的预测偏差进行正态性假设检验。以13号风力机预测偏差结果为例,图4展示其25个目标参数的LSTM-BO模型预测偏差分布,图5展示各目标参数模型预测偏差分布对应的QQ图(Quantile-Quantile)。
结果表明,所有目标参数模型的预测偏差在Q-Q图中均分布在一条直线附近,因此可认为上述预测偏差均满足正态分布假设,也即SPRT算法的假设成立,后续结果分析的理论依据可靠。
为验证本文所提方法的有效性,选择“当齿轮箱温度高于某个限值”和“发电机速度太低”两类故障为例。如图6和图7所示,热力图纵轴表示25个监测变量,横轴表示距离故障发生的时间,取值范围从故障发生前6小时(状态点刻度为36)至故障发生前20min(状态点刻度为2);横纵坐标交叉点的网格颜色深浅表示当前时刻观测窗口内异常点比例,最大为1,最小为0。
对于故障“齿轮箱温度高于某一限值”而言,如图6所示,齿轮箱油温和齿轮箱轴承温度作为直接与齿轮箱有关的监测变量,自然表现出最明显的异常趋势。在22号风力机6851号故障样本中,故障前2h30min齿轮箱油温开始超出报警阈值,10min后齿轮箱轴承温度也开始超出报警阈值,随后二者在观测窗口内的异常值比例越来越高,到故障前1h左右时,观测窗口内的已全部为异常值。
而在87号风力机12468号故障样本中,故障前3h10min齿轮箱油温开始超出报警阈值,而齿轮箱轴承温度直到故障前1h才开始报警。因此相比于6851号故障,12468号故障的出现主要是由齿轮箱油温异常引起的,也即齿轮箱油温率先出现异常,随后引起了齿轮箱轴承温度的异常,二者效果叠加之后,引起了故障“齿轮箱温度高于某一限值”的出现。
基于上述分析结果,6851号故障和12468号故障造成的影响相对单一,故障的影响范围尚未传递至其他部件。对于95号风力机502号故障而言,在齿轮箱油温和齿轮箱轴承温度出现异常的情况下,发电机驱动方向和非驱动方向的轴承温度也相继开始报警,这就意味着该故障的影响不再局限于齿轮箱之中,同时也影响到了发电机。
而对于故障“发电机速度太低”而言,如图7所示,发电机平均转速在故障发生前2h30min开始超出阈值报警,而同时变桨电机温度和最大发电机绕组温度及其他相关变量也出现了不同程度的报警,同样体现出该故障影响在不同设备间的扩散和演化。
结论
面对成本低廉、规模庞大、监测变量众多但采样率较低的风力机SCADA系统数据,如何从中挖掘有效信息实现故障预警、定位和诊断是风电运营商非常关注的问题。本文从数据预处理、变量筛选、神经网络高效建模、故障预警和故障演化分析这一连贯通用的流程出发,详细开展了针对风力机SCADA数据的实例应用和分析,这将为风电场实际预警系统的开发提供参考。
本文提出一种基于LSTM-BO模型和SPRT算法的故障演化过程分析方法。基于LSTM-BO模型挖掘多参数间蕴含的时序特征,构建出目标参数的正常行为模型。以模型预测偏差为研究对象,基于序贯检测的思路,使用SPRT对偏差序列进行状态评估分类,最后使用滑动观测窗口提取异常状态点演化过程,有效实现故障演化过程的展示和分析。
经BO算法训练后的LSTM模型能够在不影响建模精度的前提下自动寻优,高效提取多参数间的时序特征,构建出高精度的正常行为模型。
序贯检测方法能够有效地评估每个时刻预测偏差对应的状态。
实例分析证明了LSTM-BO-SPRT方法在故障演化过程提取分析方面的有效性,为基于SCADA数据进行风电机组故障分析和规律总结提供了新的思路。
标签: #sprt算法