一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-09-03 21:48:51 来源:中国专利 TAG:


1.本发明涉及非侵入式负荷识别领域,具体设计一种基于字符消息队列的非侵入式负荷识别方法。


背景技术:

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


技术实现要素:

4.为了解决现有非侵入式负荷识别方法所需算力较多,难以实现边缘侧移植的问题,本发明提出了一种基于字符消息队列的非侵入式负荷识别方法。
5.为了解决上述的技术问题,本发明提供如下的技术方案:
6.一种基于字符消息队列的非侵入式负荷识别方法,包括以下步骤:
7.步骤1:低频数据在线实时输入,数据预处理
8.计算模块接受数据,将数据强制转换成字符串格式,计算参数;
9.步骤2:数据整合传输
10.kafka消息系统作为消息中间件,producer端将步骤1所得的数据逐条发送到消息队列中,根据步骤1计算得到的检测窗口长度n,初始化偏移量为i,评估窗口长度为b,consumer端指定从消息队列中获取偏移量为i到i n b的数据;
11.步骤3:事件检测
12.将步骤2所得的数据格式化,进行事件检测后返回事件数据列表database_event,包括:评估均值μ_mean、检测均值μ_det、均值偏移量累积和s
±
和事件持续时间δi,若无事件发生则δi=1;
13.步骤4:特征提取
14.将步骤3所得的database_event进行处理,提取特征包含如下:均值差δμ、均值偏移量累积和s
±
、功率极差δpower、功率均值power_mean;
15.步骤5:事件识别
16.使用lightgbm算法进行事件识别分类,使用贝叶斯算法优化lightgbm参数,将步骤4所得的特征输入事件识别模型中,得到事件概率列表,取概率最大的事件类型为最终识别结果;
17.步骤6:更新偏移量
18.根据步骤3所得的事件持续时间δi,修改偏移量为i δi。
19.进一步,所述步骤1中,获取最小功率负荷的功率p
min
,设检测窗口为n,事件检测算法累积和阈值为thd,其中p
min
为已知参数,n和thd为未知参数,为使算法能够以最小的算力进行检测,n和thd应满足以下公式:
20.thd≈p
min
×n[0021][0022]
式中为最大功率设备切出时,第一次出现功率下降的检测窗口,为设备完全切出时的检测窗口,pj为偏移量为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

pk)/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]
式中为最大功率设备切出时,第一次出现功率下降的检测窗口,为设备完全切出时的检测窗口,pj为偏移量为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、单次返回的最小数据量为num
×
(n b),使consumer每次从消息队列中获取指定数量n的数据,当consumer无法从消息队列中获取到足够数量n的数据时,将自动暂停数据获取操作,直至能够获取n b条;
[0045]
步骤3:事件检测
[0046]
将步骤2所得的数据格式化,进行事件检测后返回事件数据列表database_event,包括:评估均值μ_mean、检测均值μ_det、均值偏移量累积和s
±
、事件持续时间δi,若无事件发生则δi=1;
[0047]
所述步骤3的过程为:使用改进的变长滑窗cusum算法,将步骤3所得的窗口数据,划分为评估窗口mw和检测窗口dw,评估窗口给出评估均值μ_mean,检测窗口根据检测均值μ_det相对于μ_mean的变化情况,来判断是否发生事件,若发生事件则获取当前事件的μ_mean、μ_det、s
±
及事件持续时间δi,制成1维事件数据列表。
[0048]
改进的变长滑窗cusum算法中,以变长窗口的方式计算检测均值,其计算公式如下:
[0049]
μ_det=(p1 p2

pk)/k
[0050]
初始时k=1,之后每次k 1,当s
±
>thd时,记录δi=k,即为事件持续时间,而当k大于dw的长度时,即视为未检测到事件,δi=1。
[0051]
步骤4:特征提取
[0052]
将步骤3所得的database_event进行处理,提取特征包含如下:均值差δμ、均值偏移量累积和s
±
、功率极差δpower、功率均值power_mean;
[0053]
步骤5:事件识别
[0054]
使用lightgbm算法进行事件识别分类,使用贝叶斯算法优化lightgbm参数,将步
骤4所得的特征输入事件识别模型中,得到事件概率列表,取概率最大的事件类型为最终识别结果;
[0055]
步骤6:更新偏移量
[0056]
根据步骤3所得的事件持续时间δi,修改偏移量为i δi;
[0057]
所述步骤6的过程为:根据事件持续时间δi,修改偏移量i=i δi,使consumer下次获取偏移量为i δi到i δi n b的数据,此方案使算法不会对同一事件进行重复检测。
[0058]
本说明书的实施例所述的内容仅仅是对发明构思的实现形式的列举,仅作说明用途。本发明的保护范围不应当被视为仅限于本实施例所陈述的具体形式,本发明的保护范围也及于本领域的普通技术人员根据本发明构思所能想到的等同技术手段。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献