基于机器学习的水电趋势预警系统设计

2021-04-10 06:18刘云久
水电站机电技术 2021年3期
关键词:预警系统水电预警

刘云久,徐 丹,孙 超,陈 州

(南京南瑞继保电气有限公司,江苏 南京 211100)

1 引言

随着我国工业的不断发展,对于传统煤炭资源的消耗逐渐增多,水力资源作为一种清洁高效的能源受到越来越多的重视。利用水利发电不仅可以一定程度上缓解我国不可再生资源的快速消耗,同时还能提高地区电网的调峰能力[1,2]。目前,水力发电已经成为我国发电的重要组成[3]。但是水电机组在运行过程中,常常因为出现故障导致机组停机,对于地区电网的供电可靠性造成严重影响。根据相关统计,在水电机组故障[4]中,温度异常往往又是发生最为频繁[5]。为此,需要设计相应的趋势预警系统,通过对相关采集点温度的实时监测,在故障发生之前及时预警,从而减少水电机组停机。

2 趋势预警应用现状

目前,我国水电厂的运行方式正处于“无人值班,少人值守”的发展时期,随着物联网和信息技术的发展,越来越多的大型水电厂建立自己的水电数据中心,汇集全站运行相关监测数据。为了保证水电机组能够安全、可靠、经济的运行,对于水电机组的故障预警愈加受到重视[6]。目前,针对水电机组的温度告警往往采用简单限值比较等方式进行监测预警。这种方法虽然能够对机组的某些异常运行起到告警的作用,但是当设备温度超过告警阈值时,可能设备已经带缺陷运行,无法实现对设备可能出现的缺陷进行及早预警。再加上水电机组运行工况复杂,受水力干扰明显,简单的限值比较越来越无法满足现场的需求。因此,将人工智能[7,8]、大数据[9]等新兴技术运用于预警系统成为目前的主流趋势[10-14]。

本文在水电机组温度预警系统设计中,提出基于机器学习神经网络算法的趋势预警系统。以水电数据中心中的海量历史数据为依据对神经网络参数进行训练,最终获得机组温度运行状态的等效拟合。预测时利用该模型的输出结果与采样温度进行比较,判断是否预警。

3 机器学习在趋势预警中的应用

3.1 数据预处理

水电机组运行过程中的相关数据大都通过前置采集至水电数据中心,对于被采集的原始数据,可能外在条件的变化,如电源电流变化、气压变化、电磁干扰、仪器故障等偶发性变化,出现与其他检测值相差较远且不符合统计规律的个别值,也称之为“粗大误差”。而神经网络训练效果受训练样本的影响较大,所以构造训练样本之前,需要剔除原始数据中“粗大误差”[15]。

判别异常值的方法一般分为物理判别法和统计判别法。本文采用统计方法中的拉依达准则(也称3σ 准则)来剔除异常数据。具体方法为:

(1)将单一变量同一时刻的采集数据构造数组X,分别计算其偏差Id 和标准偏差σ。

(2)取其中最大偏差值与3σ 进行比较,若最大偏差大于3σ,则对应的测量值即为“粗大误差”,需要被剔除。

(3)剔除该数据之后,重复上述过程,直到新数组中各个偏差均小于3σ。

(4)对得到的新数组求取平均值作为当前变量该时刻的特征值。

采用同样的方法,获取其余变量的特征值,最终选取一段时间内输入输出变量的特征值构成后续神经网络模型需要的训练样本。

3.2 人工神经网络诊断方法

人工神经网络是基于数学模型对人脑思维的一种简单模拟。对于温度故障预警问题,多层感知器(Multilayer Perceptron, MLP)是一类较好的解决方案。BP(Back-Propagation)算法是其中最为成熟的一种算法,一般分为:输入层、隐层以及输出层,在这三层中,每一层的神经元并未直接相连,但是上一层和下一层之间全部相连。

基于万能逼近定理:含一个隐层的三层BP 网络,只要隐节点数足够多,能以任意精度逼近有界区域上的任意函数。本文设计单个隐层的BP 网络来进行瓦温预测,如图1 所示。其中隐节个数可通过经验设定,也可通过不断观察训练效果进行调整来建立最优模型。

图1 三层神经网络结构

假定输入层定义为X,共有n 个单元,下标用i索引。隐藏层定义为B,共有p 个单元,偏置为α,下标用j 索引。输出层定义为Y,偏置为β,单输出定义为y1。输入层到隐藏层的权值矩阵为W,隐藏层到输出层的权值矩阵为V。从而各层的神经元值如下:

BP 算法训练过程中,采用平方和误差来衡量期望输出与实际输出的差别,选择adam 优化器进行参数更新,隐藏层激活函数选择ReLU 函数,输出层的激活函数选择线性函数。训练的过程中,采用交叉验证(Cross validation),设定历史数据集的80%作为训练数据集,剩余20%作为验证数据集,并设置BP 算法最多迭代次数为1 000 次。

BP 算法训练的过程,就是从历史数据中学习,找出数据变化的趋势关系,进而将其存入网络的权值和阈值中,为后续的预测过程提供基础。BP 网络预测的时候,只需要将输入量的实时采集数据送入BP 网络,经前向传播,输出的结果即为预测数据。

选取1 号机组上导瓦在一段时间内的温度数据,预测效果如表1 所示。

表1 上导瓦温神经网络预测结果

从表1 可以看出,基于BP 神经网络预测的上导瓦温度和相应的实际采样值误差较小,整体预测效果较好。

3.3 模型管理与展示

为了方便用户查看当前训练模型的数量以及每个模型训练的结果,本文基于MLflow 框架来实现趋势预警的模型管理与展示。MLflow 主要包括跟踪记录、项目管理、模型管理等三大功能模块。在以往的机器学习训练过程中,往往难以追踪试验过程,而基于MLflow 框架不需要修改相应机器学习算法,只需调用相关API 接口就可以将参数内容记录到本地文件,具体函数见表2。

表2 训练跟踪函数

针对前面的神经网络模型,采用均方根误差(RMSE)、平均绝对误差(MAE)和R2 决定系数来进行评价,并调用log_metric 进行记录。

模型的展示,提供Web UI 界面,方便查看多个模型的多次训练的参数与指标,如图2 所示。

图2 模型web 展示

每一项训练记录除了包含该次训练记录的参数以及相关指标外,还可以查看模型存储的结果。模型存储中包含三类文件,其中Mlmodel 为元数据文件,记录如何加载模型;conda.yaml 文件即conda 环境配置;model.pkl 文件是训练好的模型。

3.4 模型发布与应用

本次系统设计中,通过将训练好的模型部署成本地REST API 服务,实现在线预测。同时通过配置相关任务调度,设定训练间隔,只有模型训练成功之后,才发布新的模型,替代前一次的模型对外提供服务。整体发布流程如图3 所示:

图3 神经网络模型发布流程

客户端应用可以认为预测服务始终在线,只需要按照设定的时间周期,定时发送POST 请求到服务端的/invocations 路径,就能获取当前最新模型的预测结果。

为了方便数据的对比展示,按照原始采样数据表的定义创建预测结果表,客户端应用将当前预测的结果存储于该预测结果表中。

4 应用效果

基于机器学习的趋势预警系统应用后,根据上导瓦等设备历史温度训练的模型进行自动判断,系统可以按照预先设定的预警策略发出实时告警,能够让现场监控值班人员及时发现问题,并尽早加以处理,确保水电机组运行的安全,提高运行人员对设备缺陷的预见性和识别能力。

在实时告警功能之外,预测数据实时存储于时序数据库中,可以提供相应的曲线图表,方便运行人员实时观察相关设备温度的采样值与预测值之间的差距。当然,为了保证水电机组的安全运行,在温度异常预警之外,往往还需结合其他在线监测系统,综合相关数据得出准确的判断。

5 结束语

相比于传统的限值预警,基于机器学习的水电机组趋势预警系统在对历史数据充分学习的基础上,预警结果更能反映机组设备的实际运行状态。在保障水电机组安全运行的同时,也为机组的检修重点提供了科学依据。系统在一定程度上增加了机组设备的使用率,提高了工作效率,减轻了运行人员的工作负担,实现了管理的信息化和智能化,为大型水电站的“无人值班,少人值守”提供了技术保障。

猜你喜欢
预警系统水电预警
国际水电协会:2021年全球水电装机容量增长缓慢,难以满足实现2050年净零排放目标
高层建筑水电安装施工技术要点探讨
建筑水电安装工程造价的控制分析
水电安装工程中造价超预算的原因及解决办法
民用飞机机载跑道入侵预警系统仿真验证
法国发布高温预警 严阵以待备战“史上最热周”
基于ZigBee与GPRS的输电杆塔倾斜监测预警系统
桥、隧安全防范声光预警系统
车辆碰撞预警系统有望进入国标
机载预警雷达对IFF 的干扰分析