基于人工智能的电网事件诊断自主学习方法及系统转让专利

申请号 : CN202110910732.4

文献号 : CN113361663B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马翔崔建业王凯军项中明徐奇锋支月媚黄健朱英伟吴柄超吕磊炎陈水耀童存智周东波杜浩良吴华华阙凌燕徐立中陈聪谷炜张小聪

申请人 : 国网浙江省电力有限公司金华供电公司国网浙江省电力有限公司

摘要 :

本申请提出了基于人工智能的电网事件诊断自主学习方法及系统,包括自主学习模型离线预处理、自主学习模型在线训练、自主学习模型在线运行三部分。自主学习模型离线预处理部分,通过对含大量缺失值的历史电网告警事件数据预处理、特征工程确定训练算法模型所需数据特征属性;自主学习模型在线训练部分,通过定时自主处理算法模型数据、选取最优算法及算法参数,训练算法模型;自主学习模型在线运行部分,选取准确率最高的算法模型,进行电网事件诊断,并以可视化方式展示模型训练及事件诊断结果。本发明采用的算法模型自主构建及选择方式,提高了算法模型预测准确率与自主学习系统运行的安全性。

权利要求 :

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服务模块传输至智能电网调度系统请求模块;

自主学习模型数据库模块,用于存储数据预处理操作产生的预处理信息、算法模型训练产生的训练及评估信息、用户评审信息、算法模型在线预测信息。

说明书 :

基于人工智能的电网事件诊断自主学习方法及系统

技术领域

[0001] 本发明涉及电力系统技术领域,具体涉及应用于智能电网调度系统的基于人工智能的电网事件诊断自主学习方法及系统。

背景技术

[0002] 随着我国综合国力的不断增加,人们的生活水平和生活质量不断的提高,各种电气设备开始进入我们生活的方方面面,用电量随之激增。同时,电力网络架构、运行方式也
越来越复杂,当发生电力网络异常、事件等状况时,由于其发生的因素多、环境复杂,给电网
告警事件的准确识别带来了极大的困难。
[0003] 目前,对电网事件诊段大多依赖于专家系统,专家系统又需要规则库的不断的补充与调整,由于规则库规则的缺失与不够完备会造成电网事件诊断的漏诊与误诊现象的发
生,同时规则的挖掘也依赖于大量的数据与经验知识,需要大量人工去维护,这样也进一步
对规则库的形成带来挑战。随着人工智能的发展,在电网事件诊断中也引入了一些算法模
型进行判断,但是也大多依赖既定的算法模型对电网事件进行诊断。
[0004] 金华智能电网调度系统作为辅助电网调度的智能调控系统,在识别到电网告警事件信号时,需要去判断当前的电网事件信号是否是真实有效的事件信号,过滤掉无效信号,
从而减少调度员的工作量;采用专家系统与特定算法模型的方式去作为金华智能电网调度
系统故障事件诊断方法仍避免不了以上所列问题。而且,金华调度机器人作为应用于电力
这种核心领域,更加关注电网事件诊断的稳定性、及时性、准确性,所以急需更稳定、及时诊
断、准确率高的电网事件诊断方法及系统。

发明内容

[0005] 本申请实施例提出了于人工智能的电网事件诊断自主学习方法及系统,通过不断积累电网告警事件数据和人机交互的确认结果,增加算法模型训练数据规模及范围,通过
自主定时调用XGBoost及随机森林算法模型,并自主的使用GridSearch获取构建模型树的
个数、学习率等最优参数,训练出对新告警事件识别效果更好即泛化效果更好,准确率更高
的算法模型;构建人工智能自主学习引擎,进行电网告警事件诊断,降低电网事件诊断时漏
诊断、误诊断比例,提高电网事件诊断的准确率。
[0006] 具体的,一方面,本申请实施例提出了基于人工智能的电网事件诊断自主学习方法,包括:
[0007] 通过自主学习模型离线预处理部分对获取的含有大量缺失值的历史电网告警事件数据进行预处理、特征工程操作,把预处理过程产生的预处理信息存入自主学习模型数
据库的算法模型离线预处理数据表,并确定训练自主学习模型所需的特征属性;
[0008] 在自主学习模型在线训练部分针对自主学习模型使用定时自主训练,并将自主学习模型训练时产生的训练信息及自主学习模型性能评估信息存储到自主学习模型数据库
历次训练表、模型训练详情表、ROC曲线表中进行可视化展示;
[0009] 通过确定的在线运行的算法模型,在自主学习模型在线运行部分进行电网告警事件诊断,若电网告警事件信号预测为有效告警信号,则诊断为真实的电网告警事件,把诊断
结果发送给智能电网调度系统,智能电网调度系统使用电话或短信的方式通知值班或现场
运维人员;否则,输出电网告警事件无效的类型,并把每次的告警事件信号预测类型及后续
经工作人员确认的告警事件信号真实类型等信息存入自主学习模型数据库模型误差曲线
表中,在页面展示自主学习模型训练及电网告警事件诊断结果。
[0010] 可选的,所述方法包括:
[0011] 所述历史电网告警事件数据包括历史遥信告警数据、历史遥测告警数据、历史设备检修计划、历史操作票与历史气象数据,分别存储在自主学习模型数据库中的遥信、遥
测、设备检修计划、操作票、气象数据表中;
[0012] 在自主学习模型离线预处理部分产生的信息包括预处理时间、样本数据类型、样本数据来源;
[0013] 在自主学习模型离线预处理部分还包括预处理去重、样本不均衡处理、归一化处理、缺失值处理、异常值处理步骤,产生包括样本数量变化信息、样本属性变化信息,预处理
版本信息在内的信息;
[0014] 在自主学习模型在线训练部分产生的信息包括训练的起止时间、训练算法、算法参数、算法模型性能评估信息、数据入库时间,以及包括标志位信息、准确率在内的性能评
估信息;
[0015] 在自主学习模型在线运行部分产生的信息包括数据标识信息、预测时使用的生成的算法模型版本、预测的电网告警事件类型、实际的电网告警事件类型。
[0016] 可选的,在自主学习模型离线预处理部分对获取的含缺失值的历史电网告警事件数据进行预处理,具体操作为:
[0017] 删除样本集中重复的冗余样本;
[0018] 通过对类别样本数低于第一阈值的少数类样本进行复制采样、对类别样本数低于单类别最大样本数乘第二阈值的类别样本使用SMOTE算法采样、对类别样本数高于单类别
最大样本数乘第二阈值的类别样本保持不变三者相结合方式处理不均衡样本集,其中第一
阈值在[1,10]之间取值,第二阈值取值范围[70%,100%],第一阈值与第二阈值可调;
[0019] 通过使用随机森林算法训练并使用召回率进行评估,根据评估的结果确定具体值,对具体值内的数据特征使用最大最小归一化方式进行处理;
[0020] 对缺失值进行处理,删除缺失值大于80%的特征数据,并对缺失值占比低于80%的特征属性进行填充;
[0021] 删除掉数据集中异常数据。
[0022] 可选的,在自主学习模型离线预处理部分对缺失值的填充方式使用特征Mean均值或特征Median中位数方式进行填充,具体的填充方式为:
[0023] 通过填充后使用随机森林算法进行训练,然后使用准确率进行评估;
[0024] 对自主学习模型离线预处理部分产生的异常值去除方式使用Kmeans聚类算法,包括:首先通过Kmeans算法形成K个聚类簇,去除掉距聚类簇中心的距离大于预设阈值的异常
样本数据,聚类簇数值K的确定方式通过使用随机森林算法进行训练,然后使用准确率进行
评估,根据评估的结果确定。
[0025] 可选的,在自主学习模型离线预处理部分进行的特征工程操作,包括:
[0026] 通过p值使用卡方检验进行相关性分析,去掉p值高于阈值且对标签作用小的特征;
[0027] 使用随机森林算法的特征重要性因子进行特征选择,不断地迭代筛选掉最小特征重要性因子所对应的特征;
[0028] 使用随机森林训练算法模型对相关性分析中的阈值以及迭代的截止值进行计算,根据计算结果对进行性能评估时的准确率进行判断。
[0029] 可选的,所述自主学习模型在线训练部分还包括:
[0030] 将智能电网调度系统中已经过用户交互确认的电网告警事件数据存入历史电网告警事件数据库;
[0031] 调用包括xgBoost与随机森林在内的集成算法,对抽取到的历史电网告警事件数据进行缺失值填充、归一化的预处理操作;
[0032] 使用GridSearch选择最优参数,针对随机森林调优的参数包括特征划分方式、单个决策树使用的特征的最大数量、树的最大深度、特征划分时每个特征最少的样本数、叶节
点最少的样本数、最大叶子节点数、树的个数、节点划分最小不纯度,针对xgBoost调优的参
数包括学习率、模型中树的数量、树的深度、划分到某个叶子节点的所有样本权重之和最小
值、划分到叶子节点所需要达到的最小损失减少值、训练时使用的子样本占全部训练集的
比例、建树时使用的特征占总特征的比例、L1正则化权重、L2正则化权重;训练算法模型,每
种算法产生保留一个最优参数训练的算法模型,并保存到模型文件中,版本号格式为
xgboost_年月日_事件戳.pkl,表示某年某月某日具体某时刻生成的算法模型;使用准确率
进行评估,选取准确率最高的算法模型,并与已在线算法的准确率进行比较,若准确率高于
已在线算法则进行替换,否则不进行替换。
[0033] 可选的,所述可视化展示具体包括:
[0034] 智能电网调度系统通过加载模型训练预处理表、模型历次训练表、模型训练详情表、ROC曲线表、模型误差曲线表数据在浏览器页面展示;
[0035] 智能电网调度系统通过加载模型历次训练表中的历次训练数据生成算法模型历次训练页面;智能电网调度系统通过加载模型历次训练表、模型训练详情表中及模型训练
预处理表中的预处理数据、算法模型训练数据、算法模型评估数据生成模型训练详情页面;
智能电网调度系统通过加载模型误差曲线表中的算法模型对电网告警事件信号预测类型
及电网告警事件信号真实类型数据生成模型误差曲线页面;
[0036] 算法模型历次训练页面主要展示历次训练生成的模型版本号类型、模型生成日期、模型训练使用的算法类型、模型训练数据类型、模型训练选择的训练数据时间范围;
[0037] 模型训练详情页面主要展示单次训练时的详情信息,包含模型训练数据预处理过程产生的处理信息、算法参数信息、ROC曲线信息、模型更新信息,并通过表、环形图、曲线图
的方式去展现;
[0038] 模型误差曲线页面主要展示电网告警事件信号算法模型预测类型信息及真实类型信息,分为年、月、日展示类型,每种类型通过柱状图与曲线图结合的方式展示当前展示
类型下模型被调用进行预测的次数及当前类型预测准确率。
[0039] 可选的,在所述自主学习模型在线运行部分中,通过在线运行的算法模型版本号从对应的以模型版本号命名的JSON文件中获取当前算法模型训练时产生的最大、最小等统
计数据;
[0040] 获取最近的电网告警事件数据并整合成与算法模型训练时相同的特征数据;结合从JSON文件中获取的统计数据对整合的特征数据进行归一化处理;
[0041] 对归一化处理后的电网告警事件数据使用在线运行的算法模型进行电网告警事件诊断,把算法模型预测的结果反馈到智能电网调度系统,当预测电网告警事件信号是有
效告警信号时,智能电网调度系统需把事件告警信号发送用户确认,用户确认确实为有效
的告警信号时,智能电网调度系统通过电话或短信的方式取通知值班、现场运维人员,由值
班人员或现场运维人员填写值班日志;否则,输出无效告警事件类型。
[0042] 另一方面,本申请实施例提出了基于人工智能的电网事件诊断自主学习系统,包括:
[0043] 智能电网调度系统请求模块、Flask Web服务模块、自主学习模型处理模块、自主学习模型数据库模块,用户请求模块与Flask Web服务模块之间交互;
[0044] 用户经智能电网调度系统请求模块通过HTTP POST请求方式向Flask Web服务模块发送JSON请求信息,JSON请求信息包含在线训练、在线预测请求功能所需的参数信息及
实现请求功能所需的参数信息;当请求信息指定在线训练时,请求返回的算法模型预测的
电网告警事件信号预测结果及当前在线应用的算法模型版本等信息存入自主学习模型数
据库的模型误差曲线表中;
[0045] Flask Web服务模块接收请求信息,对用户的身份进行验证,当用户身份不合法时,重定向到错误页面;当用户的身份合法时,调用自主学习模型处理模块的功能函数去完
成用户请求的功能;
[0046] 自主学习模型处理模块,包含对请求功能进行处理的功能函数;当请求实现在线训练功能时,调用数据预处理功能函数、算法模型训练功能函数,把训练的算法模型保存在
模型文件中,把训练过程中产生的训练信息保存到自主学习模型数据库中;当请求信息指
定的是在线预测功能时,把预测的电网告警事件类型及概率封装在JSON数据包中,并把
JSON数据包通过Flask Web服务模块传输至智能电网调度系统请求模块;
[0047] 自主学习模型数据库模块,用于存储数据预处操作产生的预处理信息、算法模型训练产生的训练及评估信息、用户评审信息、算法模型在线预测信息。
[0048] 有益效果:
[0049] 使用基于人工智能的方式进行电网事件诊断,避免了传统基于专家系统进行电网事件诊断为维护规则库耗费大量人工与时间现象;使用基于树结构的集成算法减少样本数
据中缺失值的影响;使用多种算法模型训练,并选取最优算法模型在线运行,避免了单一模
型不能满足多种状况的问题发生;以可视化的方式展现模型训练评估、模型运行误差等,可
以更直观的观察算法模型训练及故障诊断情况;使用不断的向自主学习模型数据库中补充
电网事件数据,并自主根据事件数据调整算法模型参数训练更符合数据分布的算法模型,
提高了自主学习模型预测的准确率及广泛性。

附图说明

[0050] 为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普
通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051] 图1是本发明提供的应用与金华智能电网调度系统的基于人工智能的电网事件诊断自主学习方法的自主学习模型离线预处理流程图;
[0052] 图2是图1中步骤1‑2流程示意图
[0053] 图3是图1中步骤1‑3流程示意图;
[0054] 图4是本发明提供的应用于金华智能电网调度系统的基于人工智能的电网事件诊断自主学习方法的自主学习模型在线训练流程图;
[0055] 图5是图4中步骤4‑2流程示意图;
[0056] 图6是本发明提供的应用于金华智能电网调度系统的基于人工智能的电网事件诊断自主学习方法的自主学习模型在线运行流程图;
[0057] 图7是本发明提供的基于人工智能的电网事件诊断自主学习系统的架构图。

具体实施方式

[0058] 为使本申请的结构和优点更加清楚,下面将结合附图对本申请的结构作进一步地描述。
[0059] 下面将结合发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。
[0060] 请同时参考图1、图2、图3、图4、图5、图6。
[0061] 基于人工智能的电网事件诊断自主学习方法包括三部分,
[0062] 第一部分,自主学习模型离线预处理部分;
[0063] 第二部分,自主学习模型在线训练部分;
[0064] 第三部分,自主学习模型在线运行部分。
[0065] 其中第一部分包括:通过图1进行自主学习模型离线预处理,确定算法模型训练数据特征属性集。
[0066] 1‑1 从自主学习模型数据库中获取各厂站历史电网告警事件数据,通过时间轴点每隔5分钟采样一条电网告警事件数据的方式进行整合,形成样本训练数据集。历史电网告
警事件数据包括历史遥信告警、历史遥测告警、历史检修计划、历史操作票、历史气象数据。
[0067] 1‑2 对获取的样本训练数据集进行预处理,消除历史电网告警事件数据中重复值、样本不均衡、缺失值、异常值的影响。
[0068] 在可选的实施方式中步骤1‑2,具体如图2所示:
[0069] 2‑1去除样本训练数据集中的重复数据;
[0070] 2‑2处理样本不均衡问题,当单类别样本数低于阈值1时,进行复制,当单类别样本数高于阈值1低于单类别最大样本数乘阈值2时,使用SMOTE算法进行采样;当单类别样本数
高于单类别最大样本数乘阈值2时,样本数保持不变。阈值1的取值范围[1,10],阈值2的取
值范围[70%,100%]。阈值1与阈值2具体的取值确认方式:不断的调整阈值1与阈值2,使用随
机森林算法训练算法模型,使用准确率进行评估,准确率最高时的阈值1、阈值2取值为最终
的阈值1、阈值2取值;
[0071] 2‑3当经样本不均衡处理后的样本数据集某特征属性含有的缺失值占比超过80%转2‑4,否则转2‑5;
[0072] 2‑4 去除掉此特征属性;
[0073] 2‑5 使用去除含缺失值的数据集的特征Mean均值填充特征缺失值;
[0074] 2‑6使用Kmeans算法进行聚类,随机确定K个簇中心,然后不断的计算各样本距簇中心的距离,形成K个簇;计算各簇的中心点,然后不断的计算各样本距离新的簇中心的距
离;不断的循环直到簇中心不再变化,最终形成K个聚类簇。计算簇的样本距簇中心的距离,
删除掉距簇中心大于阈值的异常样本数据,阈值的选择根据通过随机森林训练的结果评估
确定。
[0075] 1‑3 对经过预处理的样本数据集进行特征工程,以确定训练算法模型所需特征属性。
[0076] 在可选的实施方式中步骤1‑3特征集的具体筛选流程如图3所示:
[0077] 3‑1将预处理过的数据集以8比2的比例分为训练集与测试集;
[0078] 3‑2使用卡方检验进行特征属性的相关性分析,首先计算特征属性与标签的卡方值即实际值与理论值的偏离值,然后根据卡方值计算p值;
[0079]  p值越小,表明两者相关概率越大,特征属性与标签变量卡方检验p值大于阈值,阈值初设0.5,具体根据随机森林算法模型的评估效果调整,转3‑4,否则转3‑5;
[0080] 3‑4 去除掉相关特征属性;
[0081] 转3‑5使用训练集训练随机森林算法模型,根据特征重要性因子对特征进行排序;
[0082] 3‑6使用测试集对随机森林算法模型根据准确率进行评估,去除掉特征重要性因子最小的特征,特征重要性具体的计算为1)计算每棵树的袋外数据误差,即未被选择构建
树的数据的误差,2)对袋外数数据的所有样本的特征加入噪声干扰,3)某一特征重要性=
sum(袋外数据特征加入噪声的误差‑袋外数据特征未加入噪声的误差)/随机森林中树的个
数,4)重要性越高则特征越为越高的特征重要性因子,5)根据特征重要性对特征降序排序;
[0083] 3‑7去除特征的新的样本训练集,为新的去除特征后剩余特征样本数据分布数据集,用于训练随机森林算法模型,并对剩余特征使用随机森林的特征重要性进行筛选,使用
随机森林算法重新训练模型,使用去除特征的剩余特征集的样本测试集根据算法模型预测
的准确率即测试集中样本预测正确的概率,进行评估,若准确率高于特征去除之前,转3‑8,
否则转3‑9;
[0084] 3‑8把去除特征样本训练数据集重新以8比2的比例划分为训练集、测试接着转3‑5,否则转3‑9;
[0085] 3‑9 因去除当前重要性因子最小特征后,模型预测准确率有所下降,因此,去除当前特征之前的特征集为最优特征集,采用去除当前重要性因子最小特征之前特征集作为最
终的模型训练特征集。
[0086] 1‑4把离线预处理操作过程中产生的预处理时间,样本数据类型,样本数据来源,预处理去重、样本不均衡处理、归一化处理、缺失值处理、异常值处理步骤产生的样本数量
变化信息及样本属性变化信息,预处理版本信息离线预处理信息存入自主学习模型数据库
模型训练预处理表中。
[0087] 第二部分,自主学习模型在线训练部分,自主的训练算法模型,自主的通过GridSearch获取训练算法模型最优的树的深度、学习率在内的参数,训练更符合动态变化
的数据集的算法模型,根据算法模型的准确率,确定在线运行算法模型,自主学习模型在线
训练的详细步骤如图4所示:
[0088] 4‑1 定时每天凌晨1点从自主学习数据库中获取包含新增的历史电网告警事件数据,包括遥信告警数据、遥测告警数据、设备检修计划数据、操作票数据、气象数据。
[0089] 4‑2 对获取的数据集进行去重复值、样本不均衡处理、缺失值、异常值操作。
[0090] 在可选的实施方式中步骤4‑2,具体如图5所示:
[0091] 5‑1对获取的样本训练数据集进行去重复值操作;
[0092] 5‑2处理样本不均衡问题,当单类别样本数低于阈值1时,进行复制,当单类别样本数高于阈值1低于单类别最大样本数乘阈值2时,使用SMOTE算法进行采样;当单类别样本数
高于单类别最大样本数乘阈值2时,样本数保持不变。阈值1的取值范围[1,10],阈值2的取
值范围[70%,100%]。阈值1与阈值2具体的取值确认方式:不断的调整阈值1与阈值2,使用随
机森林算法训练算法模型,使用准确率进行评估,准确率最高时的阈值1、阈值2取值为最终
的阈值1、阈值2取值;
[0093] 5‑3对样本训练数据集使用特征mean均值或特征median中位数填充特征缺失值,具体的填充方式使用随机森林进行训练,根据准确率评估的结果确定;
[0094] 5‑4对样本训练数据集使用kmeans算法进行聚类,形成K个簇,并去除样本数据距簇中心距离大于阈值的异常值数据;
[0095] 4‑3 根据GridSearch获取随机森林、XGBoost算法模型最优的参数,如模型中树的个数、学习率,训练算法模型。
[0096] 4‑4 将训练的算法模型保存到模型文件中,具体的模型版本名如xgboost_xx年‑xx月‑xx日_时间戳.pkl,此模型版本表示某年某月某日某时刻根据xgboost算法训练的算
法模型文件。评估各算法模型的准确率,取其最高准确率与当前在线的算法模型版本的准
确率进行对比,若高于当前在线算法模型版本的准确率,则使用最高准确率对应的算法模
型版本替换当前在线版本,否则,不进行替换。
[0097] 4‑5 将训练时产生的训练的起止时间、算法参数信息、算法模型性能评估信息、数据入库时间、对应的在线预处理步骤产生的信息、标志位信息、准确率在内的性能评估信息
训练信息及评估信息存储到自主学习模型数据库中,用于在自主学习模型在线运行可视化
部分可以方便观察算法模型的训练情况。
[0098] 在此部分,每天会定时使用含每日新增电网事件数据的自主学习模型数据库中全量的历史电网告警事件数据,通过每日新增并在事件处置完成后根据真实结果标记的数
据,扩大了电网故障数据涵盖的范围,调用xgboost算法模型,使用GridSearch自主选择最
优算法模型参数,训练出更符合动态变化数据集分布的算法模型,从而提高故障事件诊断
的正确率。
[0099] 第三部分自主学习模型在线运行,在线进行电网事件诊断,如图6所示,其可视化部分在训练数据与算法模型对电网告警事件诊断结果存入自主学习数据库后,可在智能电
网调度系统的可视化页面即浏览器页面查看:
[0100] 6‑1 根据自主学习模型离线预处理部分确定的遥信、遥测、设备检修计划、操作票、气象特征属性,从自主学习模型数据库遥信、遥测、设备检修计划、操作票、气象数据表
中获取对应特征属性数据。特征属性在表中存储方式,对应表中的字段,比如气象中的温度
属性对应气象表中的温度字段,并整合成一张包含所有特征属性与标签的宽表。
[0101] 6‑2 调用在线版本算法模型进行电网告警事件诊断,示例:
[0102] (1)发生一条故障告警信号,调度机器人组装为Json格式发送到web端,json格式为{"USER":xx, "TOKEN":xx, "TIMESTAMP":xx,"AREANO":xx, "VERIFY_CODE":xx, "
VERSION_TYPE": "xgboost_xx_xx_xx_xx.pkl","STYLE": "run", "DATA": [{},{}],"
TIME": xx, "AGENTID": xx}。其中具体的故障事件数据放在DATA数组内,每条数据封装为
JSON格式并作为DATA数组的一个元素。
[0103] (2)调用xgboost_年月日_时间戳.pkl模型即在线版本模型进行预测。
[0104] (3)事件类型使用数字化的形式,比如0代表有效的电网事件告警信号,模型预测结果为0,则诊断结果为此条电网告警事件信号为有效电网告警事件信号。
[0105] 6‑3 进行电网告警事件诊断,预测电网告警事件信号是否为有效告警事件信号,若算法模型预测结果为非0值,即为无效告警事件信号进行步骤6‑4,若算法模型预测结果
为0,则为有效电网告警事件信号,转6‑5;
[0106] 6‑4 输出无效的电网告警事件类型,如人为误操作、检修,并将结果反馈到智能电网调度系统,此时智能电网调度系统会记录电网告警事件数据、当前诊断的告警事件类型
到自主学习数据库中,但是不将无效的电网告警事件发送给用户确认,转6‑7;
[0107] 6‑5 将诊断结果反馈给智能电网调度系统,智能电网调度系统会将告警事件数据发送给用户确认,用户确认确实为有效告警信号,转6‑6,否则转6‑7;
[0108] 6‑6 智能电网调度系统会以短信或电话的方式通知值班人员或现场运维人员。
[0109] 6‑7 把用户确认的告警事件数据及用户确认的告警事件类型如0即有效告警事件存入自主学习模型数据库模型误差曲线表,定时每天凌晨1点调用历史电网告警事件数据,
使用GridSearch获取XGBoost与随机森林最优的模型树的个数、学习率在内的参数,并训练
算法模型,结合最优参数训练每种算法训练一个版本的算法模型。
[0110] 6‑8 对训练的当天的算法模型进行准确率评估。
[0111] 6‑9 若当天训练的各版本算法模型的最高准确率高于当前在线版本算法模型的准确率,转6‑10,否则转6‑11。
[0112] 6‑10 使用当天训练的最高准确率的版本算法模型替换当前在线的算法模型版本。
[0113] 6‑11 仍使用当天的在线算法模型版本进行电网告警事件诊断。
[0114] 基于本发明提供的应用于金华智能电网调度系统的基于人工智能的电网事件诊断自主学习方法,本发明提供了应用于金华智能电网调度系统的基于人工智能的电网事件
诊断自主学习系统,请参考图7,图7是基于人工智能的电网事件诊断自主学习系统架构图。
包括:
[0115] 7‑1 用户请求模块,此处用户即智能电网调度系统以HTTP请求的方式向Flask Web服务模块发送请求信息、接收Flask Web服务模块的响应信息、把响应信息存入自主学
习模型数据库中。
[0116] 7‑2 Flask Web服务模块,用于接收用户即智能电网调度系统发送的算法模型训练、预测预测请求信息,根据请求信息调用自主学习模型处理模块的功能函数。
[0117] 7‑3 自主学习处理模型模块,用于接受Flask Web服务模块调用,实现算法模型的在线训练与预测,并与自主学习模型数据库连接,进行数据的存、取。
[0118] 7‑4 自主学习模型数据库模块,用于保存模型训练版本、评估结果、模型预测结果等数据。
[0119] 以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。