基于人工智能的电网事件诊断自主学习方法及系统转让专利
申请号 : CN202110910732.4
文献号 : CN113361663B
文献日 : 2021-11-02
发明人 : 马翔 , 崔建业 , 王凯军 , 项中明 , 徐奇锋 , 支月媚 , 黄健 , 朱英伟 , 吴柄超 , 吕磊炎 , 陈水耀 , 童存智 , 周东波 , 杜浩良 , 吴华华 , 阙凌燕 , 徐立中 , 陈聪 , 谷炜 , 张小聪
申请人 : 国网浙江省电力有限公司金华供电公司 , 国网浙江省电力有限公司
摘要 :
权利要求 :
1.基于人工智能的电网事件诊断自主学习方法,其特征在于,包括:通过自主学习模型离线预处理部分对获取的含有大量缺失值的历史电网告警事件数据进行预处理、特征工程操作,把预处理过程产生的预处理信息存入自主学习模型数据库的算法模型离线预处理数据表,并确定训练算法模型所需的特征属性;
在自主学习模型在线训练部分使用定时自主训练,并存储算法模型训练时产生的训练信息及算法模型性能评估信息到自主学习模型数据库历次训练表、模型训练详情表、ROC曲线表中进行可视化展示;
通过确定的在线运行的算法模型,在自主学习模型在线运行部分进行电网告警事件诊断,若电网告警事件信号预测为有效告警信号,则诊断为真实的电网告警事件,把诊断结果发送给智能电网调度系统,智能电网调度系统使用电话或短信的方式通知值班或现场运维人员;否则,输出电网告警事件无效的类型,并把每次的告警事件信号预测类型及后续经工作人员确认的告警事件信号真实类型的信息存入自主学习模型数据库模型误差曲线表中,在页面展示模型训练及电网告警事件诊断结果;
其中,在自主学习模型离线预处理部分进行的特征工程操作,包括:通过p值使用卡方检验进行相关性分析,去掉p值高于阈值对标签作用小的特征;
使用随机森林的特征重要性因子进行特征选择,不断的迭代筛选掉最小特征重要性因子所对应的特征;
相关性分析中的阈值与迭代的截止通过对保留的特征使用随机森林训练算法模型,进行性能评估时准确率变化的高低进行判断;
具体包括:
3‑1将预处理过的数据集以8比2的比例分为训练集与测试集;
3‑2使用卡方检验进行特征属性的相关性分析,首先计算特征属性与标签的卡方值即实际值与理论值的偏离值,然后根据卡方值计算p值;
p值越小,表明两者相关概率越大,特征属性与标签变量卡方检验p值大于阈值,阈值初设0.5,具体根据随机森林算法模型的评估效果调整,转3‑4,否则转3‑5;
3‑4 去除掉相关特征属性;
3‑5使用训练集训练随机森林算法模型,根据特征重要性因子对特征进行排序;
3‑6使用测试集对随机森林算法模型根据准确率进行评估,去除掉特征重要性因子最小的特征,特征重要性具体的计算为1)计算每棵树的袋外数据误差,即未被选择构建树的数据的误差,2)对袋外数数据的所有样本的特征加入噪声干扰,3)某一特征重要性=sum(袋外数据特征加入噪声的误差‑袋外数据特征未加入噪声的误差)/随机森林中树的个数,4)重要性越高则特征越为越高的特征重要性因子,5)根据特征重要性对特征降序排序;
3‑7去除特征的新的样本训练集,为新的去除特征后剩余特征样本数据分布数据集,用于训练随机森林算法模型,并对剩余特征使用随机森林的特征重要性进行筛选,使用随机森林算法重新训练模型,使用去除特征的剩余特征集的样本测试集根据算法模型预测的准确率即测试集中样本预测正确的概率,进行评估,若准确率高于特征去除之前,转3‑8,否则转3‑9;
3‑8把去除特征样本训练数据集重新以8比2的比例划分为训练集、测试集接着转3‑5;
3‑9 因去除当前重要性因子最小特征后,模型预测准确率有所下降,因此,去除当前特征之前的特征集为最优特征集,采用去除当前重要性因子最小特征之前特征集作为最终的模型训练特征集。
2.根据权利要求1所述的基于人工智能的电网事件诊断自主学习方法,其特征在于,包括:
在自主学习模型离线预处理部分所述的历史电网告警事件数据包括历史遥信告警数据、历史遥测告警数据、历史设备检修计划、历史操作票与历史气象数据,分别存储在自主学习模型数据库中的遥信、遥测、设备检修计划、操作票、气象数据表中;
在自主学习模型离线预处理部分产生的信息有预处理时间,样本数据类型,样本数据来源,预处理去重、样本不均衡处理、归一化处理、缺失值处理、异常值处理步骤产生的样本数量变化信息及样本属性变化信息,预处理版本信息;
在自主学习模型在线训练部分产生的信息有训练的起止时间、训练算法、算法参数、算法模型性能评估信息、数据入库时间、对应的在线预处理步骤产生的信息、标志位信息、准确率在内的性能评估信息;
在自主学习模型在线运行部分产生的信息有数据标识信息、预测时使用的生成的算法模型版本、预测的电网告警事件类型、实际的电网告警事件类型。
3.根据权利要求1所述的基于人工智能的电网事件诊断自主学习方法,其特征在于,在自主学习模型离线预处理部分所述的对获取的含缺失值的历史电网告警事件数据进行预处理,具体操作为:
删除样本集中重复的冗余样本;
通过复制类别样本数低于阈值1的少数类样本、类别样本数低于单类别最大样本数乘阈值2的类别样本使用SMOTE算法采样、类别样本数高于单类别最大样本数乘阈值2类别样本保持不变三者相结合方式处理不均衡样本集,其中阈值1在[1,10]之间取值,阈值2取值范围[70%,100%],阈值1与阈值2可调;
通过使用随机森林训练并使用召回率进行评估,根据评估的结果确定具体值;对数据特征使用最大最小归一化方式进行处理;
对缺失值进行处理,删除缺失值大于80%的特征数据,并对缺失值占比低于80%的特征属性进行填充;
删除掉数据集中异常数据。
4.根据权利要求3所述的基于人工智能的电网事件诊断自主学习方法,其特征在于,在自主学习模型离线预处理部分缺失值的填充方式使用特征Mean均值或特征Median中位数方式进行填充,具体的填充方式为:
通过填充后使用随机森林算法进行训练然后使用准确率进行评估,根据评估的结果确定;
异常值去除方式使用Kmeans聚类,首先通过Kmeans算法形成K个聚类簇,去除掉距聚类簇中心的距离大于阈值的异常样本数据,K值的确定方式通过使用随机森林算法进行训练,然后使用准确率进行评估,根据评估的结果确定。
5.根据权利要求1所述的基于人工智能的电网事件诊断自主学习方法,其特征在于,在自主学习模型在线训练部分自主学习,包括:每天把新增的已经在智能电网调度系统中经过用户交互确认的电网告警事件数据即确定了的真实告警事件类型、算法模型判断为无效后事件处理完毕并确认的电网告警事件数据,存入历史电网告警事件数据库;
调用XGBoost与随机森林的集成算法,抽取历史电网告警事件数据;对数据进行缺失值填充、归一化的预处理操作;
使用GridSearch选择最优参数,针对随机森林调优的参数有树构建时特征划分方式、单个决策树使用的特征的最大数量、树的最大深度、特征划分时每个特征最少的样本数、叶节点最少的样本数、最大叶子节点数、树的个数、节点划分最小不纯度,针对XGBoost调优的参数有学习率、模型中树的数量、树的深度、划分到某个叶子节点的所有样本权重之和最小值、划分到叶子节点所需要达到的最小损失减少值、训练时使用的子样本占全部训练集的比例、建树时使用的特征占总特征的比例、L1正则化权重、L2正则化权重;训练算法模型,每种算法产生保留一个最优参数训练的算法模型,并保存到模型文件中,版本号格式为xgboost_年月日_时间戳.pkl,表示某年某月某日具体某时刻生成的算法模型;使用准确率进行评估,选取准确率最高的算法模型,并与已在线算法版本的准确率进行比较,若准确率高于在线运行版本则进行替换,否则不进行替换。
6.根据权利要求1所述的基于人工智能的电网事件诊断自主学习方法,其特征在于,在自主学习模型在线运行部分可视化展示部分,具体包括:智能电网调度系统通过加载模型训练预处理表、模型历次训练表、模型训练详情表、ROC曲线表、模型误差曲线表数据在浏览器页面展示;
智能电网调度系统通过加载算法模型历次训练表中历次训练数据生成算法模型历次训练页面;智能电网调度系统通过加载算法历次训练表、历次训练详情表中及模型训练预处理表中数据预处理数据、算法模型训练数据、算法模型评估数据生成模型训练详情页面;
智能电网调度系统通过加载模型误差曲线表中的算法模型对电网告警事件信号预测类型及电网告警事件信号真实类型数据生成模型误差曲线页面;
算法模型历次训练页面主要展示历次训练生成的模型版本号类型为、模型生成日期、模型训练使用的算法类型、模型训练数据类型、模型训练选择的训练数据时间范围;
模型训练详情页面主要展示单次训练时的详情信息,包含模型训练数据预处理过程产生的处理信息、算法参数信息、ROC曲线信息、模型更新信息,并通过表、环形图、曲线图的方式去展现;
模型误差曲线页面主要展示电网告警事件信号算法模型预测类型信息及真实类型信息,分为年、月、日展示类型,每种类型通过柱状图与曲线图结合的方式展示当前展示类型下模型被调用进行预测的次数及当前类型预测准确率。
7.根据权利要求1所述的基于人工智能的电网事件诊断自主学习方法,其特征在于,在自主学习模型在线运行部分,通过在线运行模型版本号从对应的以模型版本号命名的JSON文件中获取当前模型版本训练时产生的最大、最小的统计数据;
获取最近的电网告警事件数据并整合成与算法模型训练时相同特征数据;结合从JSON文件中获取的统计数据对整合的数据进行归一化处理;
对归一化处理后的电网告警事件数据使用在线运行的算法模型进行电网告警事件诊断,把算法模型预测的结果反馈到智能电网调度系统,当模型预测电网告警事件信号是有效告警信号时,智能电网调度系统需把事件告警信号发送用户确认,用户确认确实为有效的告警信号时,智能电网调度系统通过电话或短信的方式取通知值班、现场运维人员,由值班人员或现场运维人员填写值班日志;否则,输出无效告警事件类型。
8.一种用于执行权利要求1‑7任一项所述方法的基于人工智能的电网事件诊断自主学习系统,其特征在于,包括:
智能电网调度系统请求模块、Flask Web服务模块、自主学习模型处理模块、自主学习模型数据库模块,用户请求模块与Flask Web服务模块之间交互;
用户经智能电网调度系统请求模块通过HTTP POST请求方式向Flask Web服务模块发送JSON请求信息,JSON请求信息包含具体的在线训练、在线预测请求功能及实现请求功能所需的参数信息;当请求功能为在线训练时,请求返回的算法模型预测的电网告警事件信号预测结果及当前在线应用的算法模型版本在内的信息存入自主学习模型数据库的模型误差曲线表中;
Flask Web服务模块接收请求信息,对用户的身份进行验证,当用户身份不合法时,重定向到错误页面;当用户的身份合法时,调用自主学习模型处理模块的功能函数去完成请求的功能;
自主学习模型处理模块,包含对请求功能进行处理的功能函数;当请求实现在线训练功能时,调用数据预处理功能函数、算法模型训练功能函数,把训练的算法模型保存在模型文件中,把训练过程中产生的训练信息保存到自主学习模型数据库中;当实现的是在线预测功能时,把预测的电网告警事件类型及概率封装在JSON数据包中,并把JSON数据包通过Flask Web服务模块传输至智能电网调度系统请求模块;
自主学习模型数据库模块,用于存储数据预处理操作产生的预处理信息、算法模型训练产生的训练及评估信息、用户评审信息、算法模型在线预测信息。
说明书 :
基于人工智能的电网事件诊断自主学习方法及系统
技术领域
背景技术
越来越复杂,当发生电力网络异常、事件等状况时,由于其发生的因素多、环境复杂,给电网
告警事件的准确识别带来了极大的困难。
生,同时规则的挖掘也依赖于大量的数据与经验知识,需要大量人工去维护,这样也进一步
对规则库的形成带来挑战。随着人工智能的发展,在电网事件诊断中也引入了一些算法模
型进行判断,但是也大多依赖既定的算法模型对电网事件进行诊断。
从而减少调度员的工作量;采用专家系统与特定算法模型的方式去作为金华智能电网调度
系统故障事件诊断方法仍避免不了以上所列问题。而且,金华调度机器人作为应用于电力
这种核心领域,更加关注电网事件诊断的稳定性、及时性、准确性,所以急需更稳定、及时诊
断、准确率高的电网事件诊断方法及系统。
发明内容
自主定时调用XGBoost及随机森林算法模型,并自主的使用GridSearch获取构建模型树的
个数、学习率等最优参数,训练出对新告警事件识别效果更好即泛化效果更好,准确率更高
的算法模型;构建人工智能自主学习引擎,进行电网告警事件诊断,降低电网事件诊断时漏
诊断、误诊断比例,提高电网事件诊断的准确率。
据库的算法模型离线预处理数据表,并确定训练自主学习模型所需的特征属性;
历次训练表、模型训练详情表、ROC曲线表中进行可视化展示;
结果发送给智能电网调度系统,智能电网调度系统使用电话或短信的方式通知值班或现场
运维人员;否则,输出电网告警事件无效的类型,并把每次的告警事件信号预测类型及后续
经工作人员确认的告警事件信号真实类型等信息存入自主学习模型数据库模型误差曲线
表中,在页面展示自主学习模型训练及电网告警事件诊断结果。
测、设备检修计划、操作票、气象数据表中;
版本信息在内的信息;
估信息;
最大样本数乘第二阈值的类别样本保持不变三者相结合方式处理不均衡样本集,其中第一
阈值在[1,10]之间取值,第二阈值取值范围[70%,100%],第一阈值与第二阈值可调;
样本数据,聚类簇数值K的确定方式通过使用随机森林算法进行训练,然后使用准确率进行
评估,根据评估的结果确定。
点最少的样本数、最大叶子节点数、树的个数、节点划分最小不纯度,针对xgBoost调优的参
数包括学习率、模型中树的数量、树的深度、划分到某个叶子节点的所有样本权重之和最小
值、划分到叶子节点所需要达到的最小损失减少值、训练时使用的子样本占全部训练集的
比例、建树时使用的特征占总特征的比例、L1正则化权重、L2正则化权重;训练算法模型,每
种算法产生保留一个最优参数训练的算法模型,并保存到模型文件中,版本号格式为
xgboost_年月日_事件戳.pkl,表示某年某月某日具体某时刻生成的算法模型;使用准确率
进行评估,选取准确率最高的算法模型,并与已在线算法的准确率进行比较,若准确率高于
已在线算法则进行替换,否则不进行替换。
预处理表中的预处理数据、算法模型训练数据、算法模型评估数据生成模型训练详情页面;
智能电网调度系统通过加载模型误差曲线表中的算法模型对电网告警事件信号预测类型
及电网告警事件信号真实类型数据生成模型误差曲线页面;
的方式去展现;
类型下模型被调用进行预测的次数及当前类型预测准确率。
计数据;
效告警信号时,智能电网调度系统需把事件告警信号发送用户确认,用户确认确实为有效
的告警信号时,智能电网调度系统通过电话或短信的方式取通知值班、现场运维人员,由值
班人员或现场运维人员填写值班日志;否则,输出无效告警事件类型。
实现请求功能所需的参数信息;当请求信息指定在线训练时,请求返回的算法模型预测的
电网告警事件信号预测结果及当前在线应用的算法模型版本等信息存入自主学习模型数
据库的模型误差曲线表中;
成用户请求的功能;
模型文件中,把训练过程中产生的训练信息保存到自主学习模型数据库中;当请求信息指
定的是在线预测功能时,把预测的电网告警事件类型及概率封装在JSON数据包中,并把
JSON数据包通过Flask Web服务模块传输至智能电网调度系统请求模块;
据中缺失值的影响;使用多种算法模型训练,并选取最优算法模型在线运行,避免了单一模
型不能满足多种状况的问题发生;以可视化的方式展现模型训练评估、模型运行误差等,可
以更直观的观察算法模型训练及故障诊断情况;使用不断的向自主学习模型数据库中补充
电网事件数据,并自主根据事件数据调整算法模型参数训练更符合数据分布的算法模型,
提高了自主学习模型预测的准确率及广泛性。
附图说明
通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
具体实施方式
警事件数据包括历史遥信告警、历史遥测告警、历史检修计划、历史操作票、历史气象数据。
高于单类别最大样本数乘阈值2时,样本数保持不变。阈值1的取值范围[1,10],阈值2的取
值范围[70%,100%]。阈值1与阈值2具体的取值确认方式:不断的调整阈值1与阈值2,使用随
机森林算法训练算法模型,使用准确率进行评估,准确率最高时的阈值1、阈值2取值为最终
的阈值1、阈值2取值;
离;不断的循环直到簇中心不再变化,最终形成K个聚类簇。计算簇的样本距簇中心的距离,
删除掉距簇中心大于阈值的异常样本数据,阈值的选择根据通过随机森林训练的结果评估
确定。
树的数据的误差,2)对袋外数数据的所有样本的特征加入噪声干扰,3)某一特征重要性=
sum(袋外数据特征加入噪声的误差‑袋外数据特征未加入噪声的误差)/随机森林中树的个
数,4)重要性越高则特征越为越高的特征重要性因子,5)根据特征重要性对特征降序排序;
随机森林算法重新训练模型,使用去除特征的剩余特征集的样本测试集根据算法模型预测
的准确率即测试集中样本预测正确的概率,进行评估,若准确率高于特征去除之前,转3‑8,
否则转3‑9;
终的模型训练特征集。
变化信息及样本属性变化信息,预处理版本信息离线预处理信息存入自主学习模型数据库
模型训练预处理表中。
的数据集的算法模型,根据算法模型的准确率,确定在线运行算法模型,自主学习模型在线
训练的详细步骤如图4所示:
高于单类别最大样本数乘阈值2时,样本数保持不变。阈值1的取值范围[1,10],阈值2的取
值范围[70%,100%]。阈值1与阈值2具体的取值确认方式:不断的调整阈值1与阈值2,使用随
机森林算法训练算法模型,使用准确率进行评估,准确率最高时的阈值1、阈值2取值为最终
的阈值1、阈值2取值;
法模型文件。评估各算法模型的准确率,取其最高准确率与当前在线的算法模型版本的准
确率进行对比,若高于当前在线算法模型版本的准确率,则使用最高准确率对应的算法模
型版本替换当前在线版本,否则,不进行替换。
训练信息及评估信息存储到自主学习模型数据库中,用于在自主学习模型在线运行可视化
部分可以方便观察算法模型的训练情况。
据,扩大了电网故障数据涵盖的范围,调用xgboost算法模型,使用GridSearch自主选择最
优算法模型参数,训练出更符合动态变化数据集分布的算法模型,从而提高故障事件诊断
的正确率。
网调度系统的可视化页面即浏览器页面查看:
中获取对应特征属性数据。特征属性在表中存储方式,对应表中的字段,比如气象中的温度
属性对应气象表中的温度字段,并整合成一张包含所有特征属性与标签的宽表。
VERSION_TYPE": "xgboost_xx_xx_xx_xx.pkl","STYLE": "run", "DATA": [{},{}],"
TIME": xx, "AGENTID": xx}。其中具体的故障事件数据放在DATA数组内,每条数据封装为
JSON格式并作为DATA数组的一个元素。
为0,则为有效电网告警事件信号,转6‑5;
到自主学习数据库中,但是不将无效的电网告警事件发送给用户确认,转6‑7;
使用GridSearch获取XGBoost与随机森林最优的模型树的个数、学习率在内的参数,并训练
算法模型,结合最优参数训练每种算法训练一个版本的算法模型。
诊断自主学习系统,请参考图7,图7是基于人工智能的电网事件诊断自主学习系统架构图。
包括:
习模型数据库中。