一种基于字符消息队列的非侵入式负荷识别方法技术

技术编号:34806783 阅读:14 留言:0更新日期:2022-09-03 20:14
一种基于实时事件的非侵入式负荷识别方法,所述方法包括以下步骤:步骤1:低频数据在线实时输入,数据预处理;步骤2:数据整合传输;步骤3:事件检测;步骤4:特征提取;步骤5:事件识别;步骤6:更新偏移量。本发明专利技术能够实现在线滑动窗口,在采集数据的同时,实现累积和窗口事件检测。采用本发明专利技术的技术方案,可以实现对负荷事件的实时检测,避免事件重复检测和由于数据缺失而漏检。数据缺失而漏检。数据缺失而漏检。

【技术实现步骤摘要】
一种基于字符消息队列的非侵入式负荷识别方法


[0001]本专利技术涉及非侵入式负荷识别领域,具体设计一种基于字符消息队列的非侵入式负荷识别方法。

技术介绍

[0002]基于字符消息队列的非侵入式负荷识别方法属于基于事件的在线非侵入式负荷检测的范畴,通过事件检测算法,检测采集点功率变化情况,计算判断是否发生负荷投切事件,记录相应事件特征,通过机器学习算法进行识别。
[0003]目前常见的在线非侵入式负荷识别方法,以深度神经网络、卷积神经网络等非基于事件的负荷识别方法为主。此类负荷识别方法,需要建立较为复杂的神经网络,并进行大量训练,所需算力较多,需要安装在云端。而基于事件的非侵入式负荷识别方法则能够被移植到微型芯片如单片机、ARM、DSP内,实现边缘侧非侵入式负荷识别,因此提供一种基于字符消息队列的非侵入式负荷识别方法。

技术实现思路

[0004]为了解决现有非侵入式负荷识别方法所需算力较多,难以实现边缘侧移植的问题,本专利技术提出了一种基于字符消息队列的非侵入式负荷识别方法。
[0005]为了解决上述的技术问题,本专利技术提供如下的技术方案:
[0006]一种基于字符消息队列的非侵入式负荷识别方法,包括以下步骤:
[0007]步骤1:低频数据在线实时输入,数据预处理
[0008]计算模块接受数据,将数据强制转换成字符串格式,计算参数;
[0009]步骤2:数据整合传输
[0010]kafka消息系统作为消息中间件,producer端将步骤1所得的数据逐条发送到消息队列中,根据步骤1计算得到的检测窗口长度n,初始化偏移量为i,评估窗口长度为b,consumer端指定从消息队列中获取偏移量为i到i+n+b的数据;
[0011]步骤3:事件检测
[0012]将步骤2所得的数据格式化,进行事件检测后返回事件数据列表database_event,包括:评估均值μ_mean、检测均值μ_det、均值偏移量累积和S
±
和事件持续时间Δi,若无事件发生则Δi=1;
[0013]步骤4:特征提取
[0014]将步骤3所得的database_event进行处理,提取特征包含如下:均值差Δμ、均值偏移量累积和S
±
、功率极差Δpower、功率均值power_mean;
[0015]步骤5:事件识别
[0016]使用LightGBM算法进行事件识别分类,使用贝叶斯算法优化LightGBM参数,将步骤4所得的特征输入事件识别模型中,得到事件概率列表,取概率最大的事件类型为最终识别结果;
[0017]步骤6:更新偏移量
[0018]根据步骤3所得的事件持续时间Δi,修改偏移量为i+Δi。
[0019]进一步,所述步骤1中,获取最小功率负荷的功率p
min
,设检测窗口为n,事件检测算法累积和阈值为thd,其中p
min
为已知参数,n和thd为未知参数,为使算法能够以最小的算力进行检测,n和thd应满足以下公式:
[0020]thd≈p
min
×
n
[0021][0022]式中为最大功率设备切出时,第一次出现功率下降的检测窗口,为设备完全切出时的检测窗口,p
j
为偏移量为j的功率值,l和m为偏移量。
[0023]再进一步,所述步骤2中,计算每条数据的字节数num,初始化偏移量为i,使得consumer从i处开始获取数据,设置单次能够获取的最大记录数为n+b、单次返回的最小数据量为num
×
(n+b),使consumer每次从消息队列中获取指定数量n的数据,当consumer无法从消息队列中获取到足够数量n的数据时,将自动暂停数据获取操作,直至能够获取n+b条。
[0024]更进一步,所述步骤3中,使用改进的变长滑窗CUSUM算法,将步骤3所得的窗口数据,划分为评估窗口MW和检测窗口DW,评估窗口给出评估均值μ_mean,检测窗口根据检测均值μ_det相对于μ_mean的变化情况,来判断是否发生事件,若发生事件则获取当前事件的μ_mean、μ_det、S
±
及事件持续时间Δi,制成1维事件数据列表。
[0025]优选的,改进的变长滑窗CUSUM算法中,以变长窗口的方式计算检测均值,其计算公式如下:
[0026]μ_det=(p1+p2+

p
k
)/k
[0027]初始时k=1,之后每次k+1,当S
±
>thd时,记录Δi=k,即为事件持续时间,而当k大于DW的长度时,即视为未检测到事件,Δi=1。
[0028]所述步骤6中,根据事件持续时间Δi,修改偏移量i=i+Δi,使consumer下次获取偏移量为i+Δi到i+Δi+n+b的数据,此方案使算法不会对同一事件进行重复检测。
[0029]与现有技术相比,本专利技术的有益效果是:
[0030]1.从数据角度来说,使用低频数据,对采集设备、计算设备的性能要求低,能够降低功耗,控制成本;
[0031]2.从应用角度来说,实时的负荷事件检测,能够及时反馈发生的事件,有更高的工程应用价值。
附图说明
[0032]图1为本专利技术一种非侵入式负荷事件实时检测方法的流程图;
[0033]图2为步骤2数据整合的示意图。
具体实施方式
[0034]下面结合附图对本专利技术做进一步说明。
[0035]参照图1和图2,一种基于字符消息队列的非侵入式负荷识别方法,包括以下步骤:
[0036]步骤1:低频数据在线实时输入,数据预处理
[0037]计算模块接受数据(5Hz),将数据强制转换成字符串格式,计算参数;
[0038]所述步骤1的过程为:获取最小功率负荷的功率p
min
,设检测窗口为n,事件检测算法累积和阈值为thd,其中p
min
为已知参数,n和thd为未知参数,为使算法能够以最小的算力进行检测,n和thd应满足以下公式:
[0039]thd≈p
min
×
n
[0040][0041]式中为最大功率设备切出时,第一次出现功率下降的检测窗口,为设备完全切出时的检测窗口,p
j
为偏移量为j的功率值,l和m为偏移量;
[0042]步骤2:数据整合传输
[0043]kafka消息系统作为消息中间件,producer端将步骤1所得的数据逐条发送到消息队列中,根据步骤1计算得到的检测窗口长度n,初始化偏移量为i,评估窗口长度为b,consumer端指定从消息队列中获取偏移量为i到i+n+b的数据;
[0044]所述步骤2的过程为:计算每条数据的字节数num,初始化偏移量为i,使得consumer从i处开始获取数据,设置单次能够获取的最大记录数为n+b、单次返回的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于字符消息队列的非侵入式负荷识别方法,其特征在于,所述方法包括以下步骤:步骤1:低频数据在线实时输入,数据预处理计算模块接受数据,将数据强制转换成字符串格式,计算参数;步骤2:数据整合传输kafka消息系统作为消息中间件,producer端将步骤1所得的数据逐条发送到消息队列中,根据步骤1计算得到的检测窗口长度n,初始化偏移量为i,评估窗口长度为b,consumer端指定从消息队列中获取偏移量为i到i+n+b的数据;步骤3:事件检测将步骤2所得的数据格式化,进行事件检测后返回事件数据列表database_event,包括:评估均值μ_mean、检测均值μ_det、均值偏移量累积和S
±
和事件持续时间Δi,若无事件发生则Δi=1;步骤4:特征提取将步骤3所得的database_event进行处理,提取特征包含如下:均值差Δμ、均值偏移量累积和S
±
、功率极差Δpower、功率均值power_mean;步骤5:事件识别使用LightGBM算法进行事件识别分类,使用贝叶斯算法优化LightGBM参数,将步骤4所得的特征输入事件识别模型中,得到事件概率列表,取概率最大的事件类型为最终识别结果;步骤6:更新偏移量根据步骤3所得的事件持续时间Δi,修改偏移量为i+Δi。2.如权利要求1所述的基于字符消息队列的非侵入式负荷识别方法,其特征在于,所述步骤1中,获取最小功率负荷的功率p
min
,设检测窗口为n,事件检测算法累积和阈值为thd,其中p
min
为已知参数,n和thd为未知参数,为使算法能够以最小的算力进行检测,n和thd应满足以下公式:thd≈p
min
×
n式中为最大功率设备切出时,第一次出现功率下降的检测窗口,为设备完全切出时的检测窗口,p

【专利技术属性】
技术研发人员:潘国兵钱浚杰欧阳静邓伟芳罗宇涵
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1