基于加权朴素贝叶斯算法的调度指挥态势感知模块设计

2022-10-06 04:13陈兴望孙雁斌薛国权
计算技术与自动化 2022年3期
关键词:贝叶斯态势系数

陈兴望,辛 阔,孙雁斌,张 勇,薛国权

(1.中国南方电网电力调度控制中心,广东 广州 510700;2.泰豪软件股份有限公司,江西 南昌 330096)

随着南方五省区社会经济的稳步发展,近年来南方电网的设备规模成倍增长,检修操作任务量大幅增加,现场等待操作的情况频繁出现。厂站人员由于缺乏对调度操作准备进程的了解,经常出现不明原因的持续等待,现场不能有效利用等待时间安排其他站内工作,影响工作效率。同时现场会反复询问调度操作进展,这又影响了调度的操作效率,使得任务进一步推迟。此外,随着南方区域电力市场的持续深入推进,现货市场对主设备操作时间的预测要求也越来越高,在实时市场中,调度需提前把主设备的停复电时间提供给现货技术支持系统,作为下次市场出清的边界条件。如果预测出现较大偏差,有可能导致节点电价出清异常,影响市场的公平秩序。因此,亟需一个可预测展示的功能模块。基于近年来兴起的调度网络发令系统,业界开发过一些类似的功能模块,文献[1]、[2]中基于DICP系统开发了操作电子公告牌;文献[3]中提出了一种结合航班信息公告以及银行服务叫号的调度操作信息公告牌。以上模块主要聚焦于解决调度向现场展示调度指挥信息的问题,但对于业务时间的预估功能关注不多,更多的是依靠人工修正,在业务繁忙时反而会降低调度操作效率。

要实现对调度业务开展时间的准确预测关键在于获取调度员的当前所处业务环境,并实现机器的自我理解,然后作出对下令时间的预测。这类似于航天军事领域的“态势感知”概念,即在一定的时空条件下, 对环境因素的获取、理解以及对未来状态的预测,该概念中的“理解”实际上是通过对获取的环境因素进行数据挖掘实现的。数据挖掘近年来已经广泛应用于电力行业中,在负荷预测,故障诊断等方面都得到了长足发展。其中,朴素贝叶斯算法是一类应用较为广泛的大数据挖掘分类算法,与同类其他算法如决策树、支持向量机相比,其更加直观,计算量小,可实现高速度与高精度,但须建立在条件属性相互独立的基础上,而实际上这个假设往往不成立。文献[12]尝试放松独立性的假设,提出了一种基于条件属性对类别属性的相关度进行加权的朴素贝叶斯算法,取得了不错的效果。

首次将大数据挖掘理念引入了调度指挥领域,在南方电网调度指挥控制系统(Power Dispatch Command Control System,DCCS)的基础上,设计了一种对调度指挥态势进行实时感知的功能模块。该模块可通过DCCS获取调度员在业务准备过程多个关键操作节点的实时业务环境特征数据,并针对预测实时计算时的高速度需求,考虑不同业务对预计准备时间影响的差异度,选取加权朴素贝叶斯算法在海量业务环境数据中对调度员的实时忙碌程度(忙碌系数)进行挖掘,结合历史数据对忙碌系数进行匹配,随业务进程动态更新操作业务的预计开展时间,得到结果后可自动传输至现货技术支持系统,作为节点电价计算的边界条件。此外,该模块还具备操作预约、操作通知、智能编排、态势展示等功能,可构建一个共享、交互的调度-现场设备操作信息公告平台,并解决调度与现场在电网调度运行协调与沟通方面的问题,提升调度操作效率。

1 调度指挥态势感知模块设计

1.1 DCCS简介

调度指挥态势感知模块基于DCCS开发。DCCS是南方电网电力调度控制中心于2017年开始建设,2019年正式投入使用的调度指挥网络交互系统,目前已协同南方电网6家省调建成了网省地互联互通的调度网络指挥控制体系,大幅提升了南方电网的调度操作效率。系统基于网络信息技术,将调度业务的开展方式由电话沟通转变为网络交互,调度机构之间、调度与厂站之间通过网络交互各类调度业务信息。

1.2 调度指挥态势感知模块架构

调度指挥态势感知模块架构如图1所示,分为主站端和受令端。系统采用客户机/浏览器/服务器的架构,客户机实时监视调度指挥控制系统数据库并实时刷新调度指挥态势展示数据库,浏览器端实现态势展示信息的修改与展示,通过前端展示接口按角色权限显示态势展示信息,而服务器发挥存储公告信息及Web发布等功能。

图1 调度指挥态势感知模块架构

1.3 调度指挥态势感知模块总体功能设计

调度指挥态势感知模块适用于向网内各单位展示调度当前工作状态,向受令单位展示业务的开展进程及必要关联信息。受令单位业务开展时间发生变化时,可通过该模块向调度申请变更业务下令操作时间,同时调度也可以主动编排业务开展时间与顺序,并通知现场。该模块基本涵盖了目前接入DCCS的所有调度业务,主要业务包括直接操作、委托操作、许可操作、临时安全措施、线路带电作业、定值单执行、送受电计划调整、机组开停机计划、电网故障汇报等,是一个集成式的调度-现场业务信息交互平台,可实时展现当前的调度指挥态势,解决了调度与现场在设备操作信息交互方面沟通不畅的问题。

1.3.1 调度指挥态势可视化展示

调度指挥态势可视化界面主要分为调度指挥态势展示主页面、公告牌、待办事项三个部分,如图2所示。调度指挥态势主页面主要展示业务名称、业务状态(“计划中”“申请中”“操作中”)、方式计划时间、调度预计下令及等待时间等字段,展现当前调度指挥的态势情况及必要关联信息。页面左上方的公告牌主要用于调度处于事故或交接班等特殊情况下的临时展示,告知现场非必要事项不应电话干扰调度台。页面下方的待办事项按照系统的预置规则对现场提起的“申请中”的调度业务进行智能编排,调度员可自上而下进行逐一操作。

图2 调度指挥态势感知模块界面

1.3.2 基于业务进程信息的多节点调度指挥态势动态感知

模块在业务准备过程中各关键节点(表1),抓取DCCS当前的业务环境特征数据,通过加权朴素贝叶斯算法对历史业务数据进行挖掘得出忙碌因子,并进一步匹配历史操作数据,滚动估算业务的预计下令时间。例如调度员受理了现场提起的直接操作申请,如表1所示的关键节点,模块均会调用算法进行忙碌因子挖掘并估算当前节点(=1,2,…,)及节点+1(=1,2,…,-1)后所需要的准备时间。若调度员在节点与+1节点间耗费了过多时间(超过了两个节点的预计准备时间差),模块会保持+1节点准备时间不流逝,并根据实时时间持续刷新预计下令时间。这个“卡点”功能解决了调度员因业务沟通等,业务准备进程堵塞,使时间估算不准确的问题,进一步提高了调度指挥态势感知的准点率。

表1 部分主要调度业务关键节点列表

1.3.4 调度业务开展顺序智能编排

在操作高峰期,现场将通过DCCS上报大量的各类型业务申请,模块可根据预置规则,对“申请中”的业务进行自动智能编排,调度员可在“待办事项”模块,根据编排顺序逐一开展操作。

调度业务自动智能编排功能可辅助调度员初步梳理目前开展的调度业务,按照预定规则区分业务主次,确保调度员不因主观失误遗漏重要业务,降低因重要业务延迟带来的系统安全风险,保障了电网的安全稳定运行。

2 基于加权朴素贝叶斯算法的调度指挥态势感知功能模型设计

2.1 模型设计

调度指挥态势感知模型主要分为调度业务类型与节点判定、调度业务状态特征抓取等六个环节,如图3所示。

图3 调度指挥态势感知功能模型流程图

1)调度业务类型及节点判定。

设定表示调度业务的类型节点矩阵,判定前=0。设系统获取的待测业务类型为(=1…),进程节点为(=1…),则使=1,后令=+1,再使=1,(需计算与+1节点的预计耗时,用于预计进程与操作进程不一致时进行“卡点”)。以便(3)环节中选取相对应的贝叶斯分类器。

2)调度指挥业务环境特征抓取。

按业务类型抓取DCCS当前时间所有处于申请中、操作中状态的业务数量数据,作为调度指挥状态的特征数据。所涉及的调度业务包括直接操作、委托操作、许可操作、配合操作、临时安全措施、线路带电作业、定值单执行、信息汇报、电网故障等。

3)初始化对应的贝叶斯分类器。

对获取的业务环境特征项与目标类别(忙碌与否)之间进行相关度分析,去掉相关度较小的特征项。根据以及有效特征项选择相应的贝叶斯分类器(基于历史业务准备耗时数据训练获得),并对分类器数据进行基本校核,完成分类器初始化,构建忙碌系数数据挖掘库。

4)基于加权朴素贝叶斯算法挖掘忙碌系数。

鉴于模块对数据的实时与准确性需求,采用加权朴素贝叶斯算法对(2)中得到的数据挖掘库进行数据挖掘,得到当前节点的忙碌系数。朴素贝叶斯算法可适应海量、复杂、高维的数据环境。算法计算相对简单,对内存需求不大,可实现大数据训练与查询时的高速度,符合模块的实时展示需求。此外,对朴素贝叶斯算法进行属性加权,可削弱属性之间的联系,进一步提升计算精度。

5)基于历史业务耗时数据感知调度指挥态势

通过历史业务准备耗时数据与忙碌系数,计算得到忙碌系数-耗时数据曲线。将(4)环节计算得出的忙碌系数与该关系进行匹配计算得出与+1节点对应的预计准备时间。此外当业务流转至下一节点后,计算流程将再次流转至环节(1)进行循环计算,样本数据也将补充至贝叶斯分类器中。

6)调度指挥态势可视化展示

将上述计算得到的预计调度下令时间以及调度业务其他必要关联信息通过DCCS展示出来。

2.2 业务行为特征项筛选

在形成忙碌系数挖掘库之前,需要对业务行为的特征项与目标类别之间进行相关性分析,剔除相关性较小的特征项,以保证算法执行的效率与忙碌系数结果的准确性。

首先定义相关性的测算指标:对于两个已知特征项(,=1,2,…,),其概率密度可表示为()与(),联合概率密度可表示为(,),则的互信息见式(1),本文将互信息作为特征项与目标类别相关度的测量指标。

(1)

以在“直接操作”业务的节点2-“接受现场操作申请”,抓取到的“信息汇报”业务特征为例说明相关性分析过程。此时业务类型节点矩阵元素=1,=1,需对“接收现场操作申请”以及“操作票进入一审”两个节点的特征数据与忙碌度进行相关性分析(下一节点的业务特征数据由于未知将仍采用本节点的特征数据,实际上,两个节点的业务数据一般变化不大)。设定表示目标类别,其中=0表示调度员不忙碌,=1表示调度员忙碌,“忙碌”的定义为该节点后所耗费的业务实际准备时间是否超过标准时间,标准时间是根据历史业务数据并结合调度相关标准制定的。基于模块2020年1月上线后得到的样本数据,训练得到,“直接操作”业务节点2“接收现场操作申请”对应的忙碌概率(=0)=047,(=1)=053。表2给出了“信息汇报”业务特征项的概率值以及信息汇报特征项与忙碌度之间的联合概率值。

表2 “信息汇报”业务特征项的相关概率值

(2)

根据表中数据,计算可得信息汇报与忙碌度的相关度为0.013。初始化相关度阈值,基于试凑法通过跟踪预计耗时误差率反复迭代阈值,初值设定为0.02,迭代300余次后约为0.017,即经过相关度分析应排除信息汇报业务特征项。事实上,“信息汇报”业务由于完全形成了电子化流程,只需点击同步即可,处理非常便捷,且系统具备重要信息汇报提醒,非重要的信息可以延后处理,因此对其他业务的干扰较小,与上文的相关性分析结果是一致的。而其他业务例如直接操作,由于业务相对复杂,现场电话询问以及值内沟通协调情况相对较多,因此对其他业务准备时间的影响相对较大,按上述方法计算得相关度结果为0.22,显著大于阈值与“信息汇报”的指标。

2.3 基于加权朴素贝叶斯算法的忙碌系数挖掘

1)给定一个业务特征向量=(,,…,),该向量为待分类向量,其中表示其中一个特征项,比如许可操作特征项。

2)确定目标类别即忙碌与否的量化集合=(),其中表示忙碌,表示不忙碌。

3)根据对应业务类型节点的忙碌系数挖掘数据库,得到以下条件概率:

(|),(|)

(|),(|)

(|),(|)

(3)

4)根据贝叶斯定理,有:

(4)

其中,若的各特征项相互独立,则有:

(5)

实际上,各项调度业务为不同厂站根据方式安排的计划工作独立进行申请,业务申请本身不存在相互关联关系,可以近似为相互独立。

5)根据式(4)与式(5),可以得出某业务环境下调度员忙碌与不忙碌的概率比,如下式:

(6)

该定义的好处是可省去()的计算,而()的计算难度较大。

6)式(6)的形式认为不同特征项是等价影响目标类别的,但事实上,不同条件对目标类别的影响程度是不一致的,甚至差异性较大。比如特征项中的“直接操作”,由于其操作的复杂性,在其业务数量较多时对正处于操作中业务的准备耗时是有较大影响的。若是特征项中的“许可操作”,由于其操作的简便性,其对业务耗时延时的影响有限的。此外,朴素贝叶斯算法的分类准确性建立在对象特征项的相互独立性上,调度业务的申请虽简化为相互独立,但方式安排检修业务具有一定的集中性,业务申请可能出现“扎堆”现象,某些业务导致调度忙碌的高概率或许并非由其本身导致,而是由同一时刻其他复杂业务造成,这就使得某些业务对业务准备时间的影响程度被高估了。因此,为体现不同类型业务对业务准备时间的影响差异,削弱因业务之间联系而带来的误差,提高算法计算精度,本文采用加权朴素贝叶斯算法,基于特征项与目标类别的互信息,对特征属性进行加权得到挖掘结果。设与之间的互信息即属性之间的相关度,则忙碌系数可定义为:

(7)

同样以“直接操作”业务的节点2-“接受现场操作申请”为例说明朴素贝叶斯算法的实现。此时需通过当前的业务环境特征对“接收现场操作申请”以及“操作票进入一审”两个节点进行忙碌系数挖掘,以“接收现场操作申请”节点的计算为例。基于模块2020年1月上线后得到的样本数据,训练得到(=0)=047,(=1)=053。经相关度测算确定采取以下9项业务作为数据挖掘的特征项。根据业务状态特征数据调取相应贝叶斯分类器中的条件概率可得表3。

表3 挖掘忙碌系数所需的特征项与条件概率

根据表中条件概率与相关度数据,可计算忙碌系数为4.36。

053×035022×…×004006=0048

(8)

047×002022×…×028006=0011

(9)

(9)

2.4 基于历史业务耗时数据感知调度指挥态势

根据式(9)得出的忙碌系数,将其带入业务类型节点矩阵相应元素(上节算例中对应为)对应的忙碌系数-准备耗时曲线(与上节算例对应为)中求取准备耗时。忙碌系数-准备耗时曲线是根据业务的历史忙碌系数以及相应实际准备耗时数据拟合而成的曲线,数据成对数关系。其中表示(=1,…,)待测业务类型,(=1,…,)进程节点所对应的忙碌系数-准备耗时曲线。以为例,将2020年1月模块上线后,“直接操作”进入操作中节点后的实际耗时数据以及计算得到的忙碌系数作为样本训练,拟合数据曲线如图4所示:

图4 忙碌系数-准备耗时拟合曲线

图7中曲线的拟合函数如下式所示,拟合优度为0.935。

()=7689ln()+35727,=0935

(10)

带入上节中得到的忙碌系数,可得预计准备耗时为47min,超出了业务标准准备时间,调度台处于忙碌状态。

3 调度指挥态势感知模块的应用实践

调度指挥态势感知模块于2020年1月在DCCS上线,模块上线后实时展示了调度业务的进程以及调度台当前状态,现场不再因操作暂停而反复打进电话询问暂停原因,同时也完全消除了现场对业务预计开展时间的电话质询,同时,模块具备向现货市场技术支持系统传输业务预计开展时间的功能,进一步提高了调度操作效率与节点电价的计算精度。以下数据是根据模块2020年1月上线后产生的业务历史数据统计得到相关指标情况,主要从信息展示与业务处理情况、预计耗时误差率两个方面来说明。

3.1 信息展示与业务处理情况

自模块上线以来,共计展示3290项业务进程信息,1422项调度台状态信息,完成214项现场向调度预约操作下令时间的业务流程,完成148项调度主动更改下令时间并通知现场的业务流程,按50%的业务会延时并引来现场质询的情形估算,模块上线一年来至少可省去约3429个电话,平均每天可省去约10个电话。各类业务展示信息数量明细如图5所示:

图5 业务展示信息数量明细

3.2 预计耗时误差率

预计耗时误差率指某业务节点的系统预计准备耗时与实际准备耗时偏差占预计准备耗时的比率。单次业务的预计耗时误差率为多节点误差率的平均值,如式(10)所示。第类业务的预计耗时误差率则为多次业务预计耗时误差率的平均值,如式(11)所示:

(11)

(12)

上线初期为了积累足够数据训练贝叶斯分类器,采用的是预置定额时间为预计耗时,此时由于未考虑调度台实时的业务处理环境,误差相对较大,图6为便用加权朴素贝叶斯算法前后各类业务进入“操作中”环节的时间误差率对比,可见,采用算法后误差率显著减少。其中误差率提升最大的是“许可操作”业务,这是由于其准备时间相对较短,系统预置的定额时间也较小,一旦受到其他业务的干扰则会拖延准备进程,其误差率会相对较大。且该类型业务有一定考虑核实的工作量,需仔细核对检修单与设备状态信息,易受其他业务的干扰。在采用加权贝叶斯算法后,由于考虑实时业务环境对准备耗时的影响,误差率减小了41%,效果显著。此外,可以看到,直接操作的误差率减小到14%,在所有业务中效果最好,这主要是由于该类型业务的业务节点设置相对较多,这使得其可再业务进程中进行多次预计耗时评估,这有助于进一步减小预计耗时误差率。

图6 使用加权贝叶斯算法前后的预计耗时误差率对比图

4 结 论

基于DCCS设计了“调度指挥态势感知”的功能模块。该模块可实现调度操作预约、调度操作通知、任务智能编排、指挥态势感知与展示等功能。在业务操作准备过程中,可通过DCCS获取业务准备进程关键操作节点的实时业务环境数据,并针对预测实时计算时的高速度需求,考虑不同业务对预计准备时间影响的差异度,采用加权朴素贝叶斯算法在业务环境数据挖掘库中对潜在忙碌系数进行挖掘,再结合由历史数据训练得到的准备耗时-忙碌系数曲线对忙碌系数进行匹配,得到该业务节点与下一节点的预计准备时间,若实际准备进程与预计准备进程产生偏差,还可通过时间“卡点”功能纠正偏差,动态更新业务下令时间,提高业务下令时间预计准确率。模块应用后,大幅减少了询问业务进程事项的电话量,解决了调度与现场在电网调度运行协调与沟通方面的问题;此外,实现了系统根据实时业务环境自动预测业务下令时间的功能,并可自动传输至现货市场技术支持系统,解决了过分依赖人工修改停复电时间的问题,提高了节点电价的计算精度,提升了调度操作效率。

猜你喜欢
贝叶斯态势系数
江苏巩固拓展高质量发展开放型经济的新态势
网络安全态势感知关键技术研究
2019年12月与11月相比汽车产销延续了增长态势
小小糕点师
苹果屋
嬉水
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
贝叶斯网络概述
贝叶斯公式的应用和推广