一种基于机器学习的电力网络安全数据清洗系统及方法

文档序号:7522 发布日期:2021-09-17 浏览:16次 英文

一种基于机器学习的电力网络安全数据清洗系统及方法

技术领域

本发明涉及数据清洗

技术领域

,尤其是指一种基于机器学习的电力网络安全数据清洗系统及方法。

背景技术

随着电网的不断发展,为了保护电网运行安全,越来越多的安全系统被运用到电网的安全防护工作中。由于实际测得的电网数据往往会存在数据缺失、数据异常或数据误差等多种问题,实际测得的电网数据的应用可靠性很低,所以在对电网受到的安全威胁进行响应处理时,若直接使用实际测得的电网数据进行应用,会对根据电网数据制定的响应措施的有效性造成影响。

发明内容

本发明的目的是克服现有技术中的缺点,提供一种基于机器学习的电力网络安全数据清洗系统及方法。

本发明的目的是通过下述技术方案予以实现:

一种基于机器学习的电力网络数据清洗方法,包括以下步骤:

步骤一,数据采集模块采集电力网络数据,数据采集模块将电力网络数据存储至原始电力网络数据存储单元中;

步骤二,数据处理模块从原始电力网络数据存储单元中提取电力网络数据,数据处理模块对电力网络数据进行解析获取运行事件信息,数据处理模块将获取的运行事件信息储存至运行事件信息存储单元中;

步骤三,数据分析模块通过机器学习算法对所有运行事件信息进行分析,提取出运行事件信息内的异常数据和离群数据,数据分析模块将异常数据以及离群数据与正常数据进行分别储存,完成数据清洗。

将电力网络数据进行分类,根据电力网络数据完善运行事件信息,以方便后续对电力网络的安全性进行判断。在进行异常数据和离群数据分析时,将同一类运行事件信息内的电力网络数据进行判断分析,减少数据计算量,提高分析效率。

进一步的,步骤二中数据处理模块对电力网络数据进行解析获取运行事件信息的具体过程为:首先数据处理模块提取规则存储单元内的正则表达式,数据处理模块根据正则表达式对数据采集模块采集的电力网络数据进行解析,得到电力网络数据的字段信息,数据处理模块再将字段信息进行数据特征匹配,根据匹配结果进行运行事件信息分类,将属于相同运行事件信息类别的所有电力网络数据作为一类运行事件信息数据存储至运行事件信息存储单元内。

通过正则表达式能够将电力网络数据解析为不同的字段信息,方便根据字段信息的类型来进行数据特征匹配,提高分类的准确性。

进一步的,步骤三中所述机器学习聚类算法具体为K-means算法,数据分析模块通过K-means算法对所有运行事件信息进行分析的具体过程为:数据分析模块基于K-means算法建立数据分析模型,数据分析模块提取数据库内所有运行事件信息并对其进行特征提取处理,并根据特征提取得到的所有运行事件信息的特征值构建特征值样本集,从特征值样本集内选取若干种特征值构建训练样本集,数据分析模块根据训练样本集对数据分析模型进行训练,再根据训练完成的数据分析模型对特征值样本集进行分析,根据分析结果输出所有运行事件信息的特征值分布情况,数据分析模块再根据特征值分布情况获取样本集中的异常数据和离群数据。

K-means算法能够有效地将异常数据和离群数据从海量数据内提取出来,且识别准确度很高。

进一步的,数据分析模块在获取异常数据和离群数据后,数据分析模块首先对异常数据和离群数据进行产生原因判断,若判断出异常数据和离群数据的产生原因为电力网络收到攻击,则数据分析模块将该异常数据和离群数据进行标注并存储至异常监控数据单元内;若判断出异常数据和离群数据的产生原因为检测误差,数据分析模块通过格鲁布斯法对每一个异常数据和每一个离群数据进行异常值判断,若异常数据或离群数据被判断为异常值,数据分析模块将判断为异常值的异常数据或离群数据进行清除,数据分析模块再利用K-means算法对清除的异常数据或离群数据对应的运行事件信息进行缺失值填充,填充完成后重新存储至数据库内,完成数据清洗;若异常数据或离群数据被判断为不属于异常值时,数据分析模块将异常数据或离群数据进行标注,并将标注后的异常数据或离群数据重新存储至数据库内。

由于异常数据和离群数据的产生原因有电网受到攻击和测量误差两种,若为测量误差,在异常数据或离群数据为异常值时,需要通过将其清除并采用正常值进行填充来修补误差,且若为测量误差,就不需要对该异常数据或离群数据进行监测,只需要进行正常的标注或者修正误差即可。而若是由于电网受到攻击而产生的异常数据和离群数据,则需要对其对应的运行事件进行实时的监测,防止再次受到攻击或者能够在受到攻击时做出及时反应。对异常数据和离群数据产生原因的判断可以有效提高监测效率,减小监测工作量。

进一步的,当异常数据或离群数据被判断为异常值时,数据分析模块还从运行事件信息存储单元中提取出异常数据或离群数据对应的运行事件信息,数据分析模块根据规则存储单元内的关联规则将运行事件信息内与异常数据或离群数据关联的数据进行清除以及缺失值填充处理。

对关联的数据也进行误差修正处理,保证运行事件信息内数据的准确性。

进一步的,步骤二中数据处理模块将获取的所有运行事件信息储存至运行事件信息存储单元前,数据处理模块还对每个运行事件信息进行添加时间戳处理。

进一步的,数据处理模块对每个运行事件信息进行添加时间戳处理后,数据处理模块还对每个运行事件信息建立对应的数据库索引。

对每个运行事件信息建立数据库索引后,在后续需要对运行事件信息进行查阅时,能够快速准确地获取需要的运行事件信息。

一种基于机器学习的电力网络数据清洗系统,包括数据采集模块、数据处理模块和数据分析模块,所述数据采集模块与数据处理模块连接,所述数据采集模块用于采集电力网络数据,所述数据分析模块与数据处理模块连接,所述数据处理模块用于对电力网络数据进行解析分类,所述数据分析模块用于提取运行事件信息内的异常数据和离群数据。

进一步的,一种基于机器学习的电力网络数据清洗系统还包括数据库,所述数据库包括原始电力网络数据存储单元、运行事件信息存储单元、规则存储单元和异常监控数据单元,所述原始电力网络数据存储单元同时与数据采集模块和数据处理模块连接,所述运行事件信息存储单元同时与数据处理模块以及数据分析模块连接,所述规则存储单元与数据处理模块连接,所述异常监控数据单元与数据分析模块连接。

本发明的有益效果是:

将电力网络数据进行解析分类来获取电网运行过程中的运行事件信息,并以运行事件信息为单位进行数据清洗,数据计算量低从而提高清洗效率,数据清洗后的电力网络数据的应用可靠性得到提示。且在提取出运行事件信息内的异常数据和离群数据时,还对异常数据和离群数据的产生原因进行判断,对于测量误差导致的异常数据和离群数据进行标注或误差修正处理,只对由于电网受到攻击而产生的异常数据和离群数据进行数据清洗,提高数据清洗效率。

附图说明

图1是本发明的一种流程示意图;

图2是本发明的一种结构示意图;

其中:1、数据采集模块,2、数据处理模块,3、数据分析模块,4、数据库,41、原始电力网络数据存储单元,42、运行事件信息存储单元,43、规则存储单元,44、异常监控数据单元。

具体实施方式

下面结合附图和实施例对本发明进一步描述。

实施例:

一种基于机器学习的电力网络数据清洗方法,如图1所示,包括以下步骤:

步骤一,数据采集模块1采集电力网络数据,数据采集模块1将电力网络数据存储至原始电力网络数据存储单元41中;

步骤二,数据处理模块2从原始电力网络数据存储单元41中提取电力网络数据,数据处理模块2对电力网络数据进行解析获取运行事件信息,数据处理模块2将获取的运行事件信息储存至运行事件信息存储单元42中;

步骤三,数据分析模块3通过机器学习算法对所有运行事件信息进行分析,提取出运行事件信息内的异常数据和离群数据,数据分析模块3将异常数据以及离群数据与正常数据进行分别储存,完成数据清洗。

步骤二中数据处理模块2对电力网络数据进行解析获取运行事件信息的具体过程为:首先数据处理模块2提取规则存储单元43内的正则表达式,数据处理模块2根据正则表达式对数据采集模块1采集的电力网络数据进行解析,得到电力网络数据的字段信息,数据处理模块2再将字段信息进行数据特征匹配,根据匹配结果进行运行事件信息分类,将属于相同运行事件信息类别的所有电力网络数据作为一类运行事件信息数据存储至运行事件信息存储单元42内。

步骤三中所述机器学习聚类算法具体为K-means算法,数据分析模块3通过K-means算法对所有运行事件信息进行分析的具体过程为:数据分析模块3基于K-means算法建立数据分析模型,数据分析模块3提取数据库4内Nginx的AccessLog相关数据,并对其进行特征提取处理,可以解析出请求时间、请求地址、请求头、请求方法、请求体、响应状态码等特征值,根据特征提取得到的所有特征值构建特征值样本集,从特征值样本集内选取请求地址特征值和请求头特征值构建训练样本集,数据分析模块3根据训练样本集对数据分析模型进行训练,再根据训练完成的数据分析模型对特征值样本集进行分析,根据分析结果输出所有运行事件信息的特征值分布情况,数据分析模块3再根据特征值分布情况获取Nginx的AccessLog相关数据内的异常数据和离群数据。

数据分析模块3在获取异常数据和离群数据后,数据分析模块3首先对异常数据和离群数据进行产生原因判断,数据分析模块3获取异常数据和离群数据对应的采集节点,并从数据库4中调取该采集节点近段时间内的所有电力网络数据,并获取该段时间内电力网络数据的波动曲线及波动幅度,由于电网受到攻击时所反映的异常数据和离群数据应当是长时间的,而测量误差往往是某一点的异常,所以通过波动曲线及波动幅度来判断异常数据和离群数据的产生原因,以进行后续的数据处理。若判断出异常数据和离群数据的产生原因为电力网络收到攻击,则数据分析模块3将该异常数据和离群数据进行标注并存储至异常监控数据单元44内;若判断出异常数据和离群数据的产生原因为检测误差,数据分析模块3通过格鲁布斯法对每一个异常数据和每一个离群数据进行异常值判断,若异常数据或离群数据被判断为异常值,数据分析模块3将判断为异常值的异常数据或离群数据进行清除,数据分析模块3再利用K-means算法选取运行事件信息存储单元42中最近一次被判断为正常数据的值来对清除的异常数据或离群数据对应的运行事件信息进行缺失值填充,填充完成后重新存储至数据库4内,完成数据清洗;若异常数据或离群数据被判断为不属于异常值时,数据分析模块3将异常数据或离群数据进行标注,并将标注后的异常数据或离群数据重新存储至数据库4内。

由于异常数据和离群数据的标准偏差处于未知状态,所以采用格鲁布斯法进行异常值判断,且格鲁布斯法不仅设定了一定的置信度,而且引入了平均值和标准偏差,故判断的准确性很高。格鲁布斯法的异常值判断公式为:

其中:T为异常判断值,a为异常数据或离群数据,b为异常数据或离群数据对应的运行事件信息内数据的平均值,S为异常数据或离群数据对应的运行事件信息内数据的标准差。

在获取T值后,需要在规则存储单元43中调取格鲁布斯法校验用数据表,将T值与表格内数据进行比较,若计算出的T值比表格内对应的数据大,则判断异常数据或离群数据为异常值。

当异常数据或离群数据被判断为异常值时,数据分析模块3还从运行事件信息存储单元42中提取出离群数据对应的运行事件信息,数据分析模块3根据规则存储单元43内的关联规则将运行事件信息内与离群数据关联的数据进行清除以及缺失值填充处理。

步骤二中数据处理模块2将获取的所有运行事件信息储存至运行事件信息存储单元42前,数据处理模块2还对每个运行事件信息进行添加时间戳处理。

数据处理模块2对每个运行事件信息进行添加时间戳处理后,数据处理模块2还对每个运行事件信息建立对应的数据库4索引。

一种基于机器学习的电力网络数据清洗系统,如图2所示,包括数据采集模块1、数据处理模块2、数据分析模块3和数据库4,所述数据采集模块1与数据处理模块2连接,所述数据采集模块1用于采集电力网络数据,所述数据分析模块3与数据处理模块2连接,所述数据处理模块2用于对电力网络数据进行解析分类,所述数据分析模块3用于提取运行事件信息内的异常数据和离群数据。

所述数据库4包括原始电力网络数据存储单元41、运行事件信息存储单元42、规则存储单元43和异常监控数据单元44,所述原始电力网络数据存储单元41同时与数据采集模块1和数据处理模块2连接,所述运行事件信息存储单元42同时与数据处理模块2以及数据分析模块3连接,所述规则存储单元43与数据处理模块2连接,所述异常监控数据单元44与数据分析模块3连接。

且实时对异常监控数据单元44内存储的异常数据或离群数据对应的电网采集节点进行监控。

以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种用户行为标签偏好排序方法、装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!