一种基于双滑动窗口的电器设备运行状态识别方法技术领域
本发明涉及识别技术领域,特别涉及了一种电器设备运行状态识别方法。
背景技术
在识别电气设备的领域中,如何准确有效的识别终端设备一直是一个很重要的课题。目前
对电气设备终端的识别往往需要较为复杂的多种类型的数据,比较复杂。
发明内容
本发明的目的在于提供一种基于双滑动窗口的电器设备运行状态识别方法,基于用户在较
长一段时间内用电总功耗信息,获得用户电器设备运行状态信息的方法。
为了实现上述目的,本发明采用如下技术方案:
一种基于双滑动窗口的电器设备运行状态识别方法,包括如下步骤:
S100、输入:用户用电总负荷;
S101、稳态负荷识别:采用两个滑动窗口交替前进的方式,对负荷稳态进行判别,将偶然
误差点和过渡点对于稳态负荷的影响进行消除;
S102、稳态负荷变化检测:以当前数据较前一数据的数据跳跃程度为依据,进行稳态数据
段转折点的判别;
S103、稳态负荷修正:以各稳态数据段所求取的均值中心和误差半径为依据,进行稳态负
荷的修正;
S104、电器设备运行状态识别:基于整数规划的方法,求解出最优的电器设备运行状态组
合;
S105、输出:电器设备操作序列。
进一步的,步骤S101具体包括以下步骤:以数据初始起点初始化第一个滑动窗口:设定
窗口长度N和数据变化阈值Th%,逐点进行分析,当k点数据与k-1点数据差的绝对值小于
k-1点数据的Th%,则将k点数据载入滑动窗口;若大于,则以第k点为起点,重新进行滑动
窗口的初始化,并将总数据中前k-1赋值为零,直到窗口载入N个数据;计算窗口数据的均
值此时窗口内的数据为一个稳态过程。设初始化完毕后窗口中载入的最后一个数据为第k个
数据,当第k+1个数据小于窗口均值的Th%,则将窗口向前滑动一个单位;否则,引入第二
个窗口,同样的,窗口长度N和数据变化阈值Th%,以该数据为起点重新进行初始化;在第
二个窗口的初始化过程中,计窗口内数据个数为j,设窗口中载入的第j个数据为总数据中的第
k个数据,如果出现数据大于阈值Th%,即第二个窗口的初始化失败,此时将第一个窗口向前
滑动j个单位,并以窗口内均值代替总数据中的第k-j+1至第k个数据;如果初始化成功,
即第二个窗口载入N个数据,此时判断为第二个稳态;之后窗口互换,将第二个窗口作为第
一个窗口继续进行滑动,第一个窗口清空,作为新的第二个窗口后续使用;通过以上步骤对负
载稳态点进行判别,将数据起点有偶然误差或过渡点都进行剔除;剔除掉的超出设定阈值的偶
然误差点和过渡点原位置,用滑动窗口的均值来填补;其中,N=4,Th=15;此时,k≥2,0≤j≤4。
进一步的,步骤S102中获得稳态负荷分段转折点的方式是将步骤S101得到的处理后的
总功耗信息逐点输入,以后一点较前一点的跳跃程度为依据,判断后一点是否为稳态数据段的
转折点,即设定阈值Th%,当后一点数据超过前一点数据的Th%时,后一点即为梯形分段转折
点。
进一步的,步骤S103具体包括以下步骤:将所求出的各稳态数据段均值在数轴上标出,
并以均值为中心作误差圆,将两个误差圆重合部分在数轴上的长度与两误差半径中较小的那个
半径的比值作为评价重合程度的标准,判断所求得的这些均值中是否可以进行合并;当重合程
度超过设定的CTh%时,将两均值合并为一个,以两均值的平均值作为合并后的均值,代表同
一稳定状态;否则,不进行均值中心的修正。其中,CTh%=60%。
进一步的,步骤S104中求解出最优的电器设备运行状态组合所采用的模型为:
处理后的阶梯总负荷为Lt;
约束条件:
Σ j = 1 K m Z m , j t ≤ 1 m = 1 , 2 , 3... , M - - - ( 2 ) ]]>
Z m , j t ∈ { 0 , 1 } - - - ( 3 ) ]]>
| Σ m = 1 M Σ j = 1 K m P m , j · Z m , j t - L t | ≤ ϵ - - - ( 4 ) ]]>
目标:
minε(5)
其中,M表示电器个数,分别标号为1,2,3….,m,…,M;Km表示第m个电器的状态个数,
表示第m个电器的第Km个状态所对应的功耗值;Km和为已知,根据家庭的实际电
器数量以及电器功耗情况获得;
最终根据模型及约束条件求解出满足目标的最优电器状态组合,各个电器对应的即
获得所需的家用电器运行状态信息。
进一步的,步骤S101具体包括以下步骤:
Step1:初始化第一个滑动窗口。设置滑动窗口宽度为N(建议N=4),设定阈值Th%(Th的建
议值为15)。窗口初始化过程为:从数据初始起点开始,将数据逐个载入滑动窗口中,
逐点进行分析,当m(m≥2)点数据与m-1点数据差的绝对值小于m-1点数据的Th%,
则将m点数据载入滑动窗口;若大于,则以第m点为起点,重新进行滑动窗口的初始化,
并将总数据中前m-1个赋值为零。
Step2:判断滑动窗口初始化是否成功。当窗口载入的数据个数等于N时,初始化成功,跳转
Step3;否则,跳转Step1,重新进行窗口初始化。计初始化完毕时载入窗口内的最后一
个数据是总数据中的第k个数据。
Step3:计算滑动窗口内数值均值,记为求取第k+1数值与均值的差值的绝对值,即
Δ x = | x k + 1 - x ‾ | , ]]>并与均值做比值,记为 r = Δ x x ‾ . ]]>
Step4:判断由Step3求得的比值r是否超过阈值Th%。若是则继续Step5;否则将滑动窗口向
前滑动一个单位,跳转Step3。
Step5:第二个滑动窗口初始化。同样的,设置滑动窗口宽度为N(建议N=4),设定阈值Th%
(Th的建议值为15)。将超过Th%的新数据的第k+1个数据xk+1载入一个新的宽度为
N=5的滑动窗口中,将滑动窗口内数据计数为n=1。
Step6:求取第k+2个数据xk+2与xk+1差值的绝对值,即Δx=|xk+2-xk+1|,计算与xk+1的比
值 r a = Δ x x k + 1 . ]]>
Step7:判断求得的比值ra是否小于阈值Th%。若小于则继续Step8;否则跳转Step13。
Step8:将数据个数计数加1,继续Step9。
Step9:判断新的滑动窗口是否初始化成功。根据窗口内数据个数m是否等于N,若等于N,
则初始化成功,继续Step10;否则,跳转Step12。
Step10:进行窗口互换,将第二个窗口作为第一个窗口继续进行滑动,第一个窗口清空,作为
新的第二个窗口后续使用,继续Step11。
Step11:判断数据是否结束。如果是最后一个数据则数据处理结束,将处理完毕的数据输出;
否则,跳转Step12。
Step12:滑动窗口继续向前移动一个单位,跳转Step3。
Step13:将第二个滑动窗口中的数据(n个,0≤n≤3)清除,将第一个窗口向前滑动n个单位,
并以窗口内均值代替总数据中的第k-n+1至第k个数据,跳转Step12。
进一步的,步骤S103具体包括以下步骤:
求取的相邻两个状态切换点之间数据的平均值作为该段数据的稳态功耗代表值,设相邻两
个状态切换点km与km+1之间有n个数据,分别为x1,x2,x3......,xn,求取均值以
均值为数据中心,求取该段数据的误差半径,即误差半径
表示该段数据的最大误差范围。在数轴上以均值为圆心,半径为r作误差圆,设和分别
为需要比较的两段稳态负荷的均值中心,其对应的误差半径分别为rm和rn,且为数值较小的
均值,将两个误差圆重合部分在数轴上的长度与两误差半径中较小的那个半径的比值作为评价
重合程度的标准,即以重合率rac作为判断标准。当超过设定的阈值(建议阈
值60%)时,则认为两个均值所代表的状态为同一状态,需要进行合并,当有这
样m个均值中心需要合并时,以这m个均值中心的平均值,即作为修正后的状
态代表功耗值;否则不对步骤S102中获得的稳态功耗代表值的均值数据进行修正。
相对于现有技术,本发明具有以下有益效果:
1、电力负荷的稳态特征是表征电气设备运行过程的重要特征,而电力负荷的稳态判别是
电器设备运行状态识别问题中的难点。本发明创新地采用双滑动窗口对电力负荷数据进行分析,
有效地解决了电力负荷的稳态判别问题,进而根据电力稳态负荷的变化确定转折点,并以各稳
态数据段所求取的均值中心和误差半径为依据,得到稳态负荷的特征;
2、本发明基于电力负荷的稳态特征,利用整数规划优化求解电器设备的运行状态。相对
于现有技术,本发明所提方法具有以下优点:第一,多个电器设备运行时,由于其特征相互叠
加,对多个电器设备运行状态的识别是现有技术的难点,而本发明利用整数规划求解电器设备
的运行状态的最优组合,解决了多个电气设备运行状态识别的问题;第二,本发明方法基于电
力负荷的稳态过程,不需要大量高频的采集负荷的暂态数据,因此本发明对采样频率要求不高,
数据处理容易,易于实现。
附图说明
图1为本发明的方法路程框图。
图2为本发明中基于双滑动窗口的电力负载稳态判别方法流程图。
具体实施方式
下面结合附图和实例对本发明做进一步说明。
本发明一种基于双滑动窗口的电器设备运行状态识别方法,基于用户在较长一段时间内用
电总功耗信息;具体包括以下步骤:
S100.输入:用户用电总负荷。从用户总的电力入口处的电表获取用电总负荷数据,将
这些用电总负荷数据输入。本案例中选取的数据为有功功率数据。
在该举例案例中,将所抓取的17分钟的有功功耗数据作为已知信息进行研究。除此
之外,已知还有实验室抓取的电器功耗信息,如表1所示。
表1电器功耗信息
S101.稳态负荷识别。
采用两个滑动窗口交替前进的方式,对偶然误差点以及状态过渡点进行剔除。具体方
法见图2。
S201:设置滑动窗口宽度为N=4,设定阈值15%。开始第一个窗口初始化。
S202:判断第一个窗口初始化是否成功。如果初始化成功,则跳转S203;否则,将初
始化失败的数据赋值为零,以第一个非零数据为起点,重新开始第一个窗口的
初始化。计初始化成功的最后一个数据为第k个数据。
S203:计算滑动窗口内数值均值,记为求取第k+1数值与均值的差值的绝对
值,即并与均值做比值,记为
S204:判断由S203求得的比值r是否超过阈值15%。若超过则继续S205;否则跳转
S209。
S205:初始化第二个滑动窗口。同样的,设置滑动窗口宽度为N=4,设定阈值15%。
S206:求取第k+2个数据xk+2与xk+1差值的绝对值,即Δx=|xk+2-xk+1|,计算与
xk+1的比值 r a = Δ x x k + 1 . ]]>
S207:判断求得的比值ra是否小于阈值15%。若小于则继续S208;否则跳转S2013。
S208:将数据个数计数加1,继续S209。
S209:判断第二个滑动窗口是否初始化成功。若窗口内数据个数m等于4即为成功,
则继续S2010;否则,跳转S2012。
S2010:进行窗口互换,将第二个窗口作为第一个窗口继续进行滑动,第一个窗口清空,
作为新的第二个窗口后续使用,继续S2011。
S2011:判断数据是否结束,如果结束,则将处理完毕的数据输出;否则,跳转S2012。
S2012:将滑动窗口继续向前滑动一个单位,跳转S203。
S2013:用所求窗口均值代替初始化失败的数据,跳转S2012。
S102.稳态负荷变化检测。
将步骤S101得到的处理后的总功耗信息逐点输入,设定阈值15%,当第k(k≥2)
点数据值超过第k-1点数据值的15%时,即当时,则第k点即为梯形分
段转折点,通过此种方法将电器状态切换点选择出来,并将状态切换点进行记录,结果如
表2所示。
表2分段转折点
注:起始时刻2016s,终止时刻2745s
S103.稳态负荷修正。
求取相邻两个转折点之间数据的平均值将其作为该段数据的代表功耗
值,计算每一个均值中心的误差半径
在数轴上以均值为圆心,半径为r作误差圆,设和为需要比较的两个均值中心,
且为数值较小的均值,其对应的误差半径分别为rm和rn,计算重合率rac
判断rac是否超过阈值60%,若超过,则将状态合并,当有这样m个均值中
心需要合并时,以这m个均值中心的平均值,即作为合并后状态的最终代
表功耗值;否则,这两个状态为单独的两个状态。
对所得的一系列电器功耗信息进行进一步整理,获得最终的状态功耗信息表,如表3
所示。
表3状态功耗信息表
S104.电器设备运行状态识别。
处理后的阶梯总负荷为Lt
约束条件:
Σ j = 1 K m Z m , j t ≤ 1 m = 1 , 2... , M - - - ( 2 ) ]]>
Z m , j t ∈ { 0 , 1 } - - - ( 3 ) ]]>
| Σ m = 1 M Σ j = 1 K m P m , j · Z m , j t - L t | ≤ ϵ - - - ( 4 ) ]]>
目标:
minε(5)
其中,用户家庭中电器个数M;第m个电器第Km个状态所对应的工作功耗为已知,
通过第一步数据采集获得。
S105.输出:电器设备操作序列。
最终可以根据模型求解出最优的电器状态组合。获得的结果如下:
1)在起始时刻2016时,开启了计算机的状态1模式,开启了电视的状态1模式,开启了
电话;
2)在2028时刻,关闭了计算机和电视,开启了电灯和打印机的状态1模式;
3)在2033时刻,关闭了电灯和打印机,开启了风扇的状态1模式和计算机的状态1模式;
4)在2043时刻,将风扇的状态1模式切换为状态3模式,开启了电灯、打印机的状态1
模式和电视的状态1模式;
5)在2056时刻,将计算机的状态1模式切换为状态2模式,将电视的状态1模式切换为
状态2模式;
6)在2153时刻,将打印机的状态1模式切换为状态3模式;
7)在2270时刻,将打印机的状态3模式切换为状态1模式;
8)在2310时刻,关闭了电灯、电话,开启了加热器,将风扇的状态3模式切换为状态1
模式,将打印机的状态1模式切换为状态2模式;
9)在2455时刻,关闭了加热器,开启了电灯、电话,将风扇的状态1模式切换为状态3
模式,将打印机的状态2模式切换为状态1模式;
10)在2594时刻,关闭了电灯和计算机;
11)在2620时刻,开启了电灯和计算机的状态1模式,将电视的状态2模式切换为状态1
模式;
12)在2627时刻,关闭了电灯和打印机,将风扇的状态3模式切换为状态2模式;
13)在2646时刻,关闭了风扇和电话,开启了打印机的状态1模式;
14)在2656时刻,关闭了计算机;
15)在2745时刻,关闭了打印机和电视。