掌桥专利:专业的专利平台
掌桥专利
首页

一种基于改进孤立森林算法检测电器投切事件的方法

文献发布时间:2023-06-19 12:19:35


一种基于改进孤立森林算法检测电器投切事件的方法

技术领域

本发明涉及一种基于改进孤立森林算法检测电器投切事件的方法。

背景技术

当下,在非侵入式负荷监测研究方面,对电器的投切事件检测至关重要,同时也是现下重要的研究课题。现有的电器的投切事件检测技术大致有基于CUSUM算法、基于能量比算法、基于经验规则检测等方法,但这些方法有一些缺陷,如在信息利用方面,CUSUM算法只利用了总体的一个方差与均值,基于能量比算法也只利用前窗与后窗的一个总体能量差,缺失了单个点的信息,基于经验规则检测更是缺乏普适性,难以作为一种算法去研究。

在窗口设置方面,基于滑动窗的CUSUM检测投切事件方法作为典型的算法被广泛应用,但是该种方法一般设置固定长度的前窗进行事件特征提取,设置固定长度的后窗进行稳态特征提取,若检测出有事件发生只能知道哪个窗口处发生事件,但无法获知是哪个采样点发生事件。

本发明应用孤立森林算法思想,同时改进异常值,原本的孤立森林算法通过循环足够多的次数进行数据点深度收敛,结合指数函数来获取一个点的异常程度,这样的会导致算法进程慢,还会产生一个是否收敛的判别问题,本发明将每次形成孤立数的深度倒数作为异常值,同时在执行程序有限次后,将每次相同数的异常值累加形成最后的异常值指标,相较于原本算法的指标,本发明的程序执行时间大大缩短,且将原来判断是否收敛的问题转化为发散程度的问题,避免了判断的问题。

发明内容

本发明针对现有技术的不足,设计了一种基于改进孤立森林算法检测电器投切事件的方法。

本发明包括以下步骤:

步骤一、获取电流信息样本集;

步骤二、设置合适长度的前窗口与后窗口用于提取数据;

步骤三、将前窗中被选中的数据样本与后窗数据样本集混合,通过采用改进孤立森林算法判断出异常的点;

步骤四、根据从前窗依次加入后窗的数据被标记为异常点的个数判断是否发生电器投切事件;

步骤五、当窗口未检测到事件投切,则前窗长度变为一个单位长度,同时前窗后窗向前移动一个单位,当已经检测出投切事件时,则不再记录此时前窗及以前的数据,向前形成一个设定长度的后窗以及一个单位长度的前窗进行动态检测。

本发明的有益效果是:

1、针对上述传统方法不能确切知道事件发生的精确时间,本发明设置可变长度的前窗,通过逐点检测可以确切知道事件投切的时间。

2、针对上述传统方法未能充分利用每个点的信息,本发明采用改进孤立森林算法,通过后窗学习到每个数据样本的幅值,来计算前窗内数据与后窗内数据的差异度来检测事件投切。

3、针对上述原本的孤立森林算法进程慢,且产生是否收敛的判别问题,本发明改进异常值,相较于原本算法的指标,本发明的程序执行时间大大缩短。

附图说明

图1是本发明的流程图;

图2是本发明的仿真图。

具体实施方式

以下结合附图对本发明作进一说明。

本发明的一种基于改进孤立森林算法检测电器投切事件的方法,以检测单电器启停、状态转换识别为例,仿真采用matlab仿真软件。吹风机共依次进行停机至冷风一档、冷风一档至冷风二挡、冷风二挡至热风二挡、热风二挡至热风一档、热风一档至停机五个状态。结合图1和图2,具体方法包括以下步骤:

步骤一、将电流的200个样本作为样本集,包括采样点,即时间信息、电流幅值等信息。

步骤二、设置合适长度的前窗口与后窗口用于提取数据,前窗口为变长度窗口,用于提取前窗口内单个数据样本;后窗口为固定长度窗口,用于提取固定长度的数据样本即前窗正常推进时设置为1个单位;检测到异常时,长度应设置为小于第二次事件投切来临的区间长度,同时应考虑存在电网波动,原则上高于4个单位,本例设置为6个单位,后窗作为采集稳态数据的窗口,长度应该大于前窗长度,同时长度应设置为小于第二次事件投切来临的区间长度,本例设置为30个单位。

步骤三、将前窗中被选中的数据样本与后窗数据样本集混合,通过采用改进孤立森林算法判断出异常的点,具体步骤为:

STEP1:提取前窗和后窗中每个电流数据样本的幅值,去除时间信息后混合;

STEP2: 在单次执行程序中,多次在最大、最小幅值之间取随机值并记录下随机值,直到最大幅值与随机数,或者最小幅值与随机数之间、或者随机数之间只存在一个幅值样本,记为孤立出一个点,此时生成了的随机数的个数作为前窗中被选中的数据样本在后窗数据内的划分深度,取划分深度的倒数作为异常值,表征前窗中被选中的数据样本较于后窗数据的异常程度;

STEP3:设定合适孤立点数即停止该次程序,本例设置改进孤立森林算法每次孤立出5个点即停止该次程序;

STEP4:执行该程序有限次,本例以重复执行15次为例,将有限次被孤立出相同的点的异常值相加得到异常值排序表;

STEP5:根据异常值排序表,标记异常点,本例以15次被孤立点的异常值累加最高的2个值作为异常值为例;

STEP6:若前窗数据未被标记成异常点,则前窗保持一个单位长度,否则前窗变为设定长度,将其中的单个数据样本依次加入后窗重复进行STEP1~STEP6操作直至前窗内最后一个数据样本被检测完。

步骤四、根据从前窗依次加入后窗的数据被标记为异常点的个数判断是否发生电器投切事件,本例以6个单位的后窗中的5个数据都被标记为异常点则表示发生电器投切事件为例。

步骤五、当窗口未检测到事件投切,则前窗长度变为一个单位长度,同时前窗后窗向前移动一个单位,当已经检测出投切事件时,则不再记录此时前窗及以前的数据,向前形成一个设定长度的后窗以及一个单位长度的前窗进行动态检测。如图2所示,横坐标为电流数据采样点,纵坐标为电流幅值,单位为安培,标记点1为吹风机进行停机至冷风一档操作,被本方法检测到,并打上标记“/”;标记点2为吹风机进行冷风一档至冷风二挡操作,被本方法检测到,并打上标记“/”;标记点3为吹风机进行冷风二挡至热风二挡操作,被本方法检测到,并打上标记“/”;标记点4为吹风机进行热风二挡至热风一档操作,被本方法检测到,并打上标记“/”;标记点5为吹风机进行热风一档至停机操作,被本方法检测到,并打上标记“/”,本例仿真效果显示设计方法识别了所有状态转换的识别,且无误检。

相关技术
  • 一种基于改进孤立森林算法检测电器投切事件的方法
  • 一种基于改进的孤立森林算法和高斯分布的联合数据异常检测方法
技术分类

06120113254885