刘晶杰 聂 磊
(计算机体系结构国家重点实验室(中国科学院计算技术研究所) 北京 100190) (中国科学院大学 北京 100049) (liujingjie09@hotmail.com)
普适计算中一个重要的应用场景是通过无处不在的传感设备感知用户在家庭中的用电行为[1].为了减少感知系统对用户正常用电的影响,仅利用单个固定传感器获取到家庭中各个电器的用电行为是普适计算的一个研究热点[2-12].在基于总电流的单点感知系统中[4-10],电流分解是核心问题.
电流分解问题是给定多个电器的总电流波形和这些电器的运行状态,估计各个电器各自的电流.对于电流分解问题,目前有2类方法:稳态估计方法与线性分解方法.
1) 稳态估计方法.此类方法基于Hart[4]提出的稳态耗电假设,认为电器在特定的运行状态下,其消耗的功率是在一个常数值附近变化.对于每个确定工作状态的电器,可以通过一个稳定电流波形对电器实际消耗的电流进行估计[5-6].对于非线性电器,也可以用电流波形在频域上的均值估计实际的电流波形[7].此类方法的优点是不需要复杂的计算,其分解结果的误差由电器本身在此运行状态下的电流变化幅度决定.对于同时工作的多个电器,稳态方法独立地对这些电器的电流进行估计,因此可以避免电器之间的相互影响.
2) 线性分解方法.此类方法利用物理模型约束或者是数据约束对各个电器的频域中的电流向量进行线性降维,通过线性回归将总电流分解到各个电器的低维表示中.物理模型约束和数据约束可以通过不同的方式得到,例如通过物理知识构造谐波电流需要满足的线性约束[8]、通过对电流波形的形态分析建立线性约束[9]、通过聚类分析将电器电流向量的变化范围缩减至一维[10]、通过主成分分析方法将电器的电流限制在主成分构成的低维空间[11].此类方法的优点是使用的模型能够有效地刻画电流的变化情况,使其分解结果能够反映总电流的实时变化.
这2类方法都能够在一定条件下解决电流分解问题,但都各自存在一些问题.稳态估计方法中给出的估计值仅依赖于电器的运行状态,对于在给定运行状态下电流波动较大的电器,其分解结果不能较为准确地反映电器电流的实时变化情况.线性分解方法一般不能无损降维,降维造成的误差会对分解结果的精度造成影响;更重要的是,线性分解方法不能处理相似电器[11],其适用范围受到限制.
为了将2种方法的优点结合起来,本文从贝叶斯统计的视角分析上述2类方法对电器行为的假设,建立了电流在低维空间中的位置向量先验分布和噪音先验分布.利用贝叶斯公式,本文将2个分布结合起来,并给出一种贝叶斯电流分解方法.此方法同时具备稳态估计方法和线性分解方法2类方法的优点,能够取得较良好的分解结果,并在所有情况下,完成总电流的分解.
家庭用电感知应用中2类场景如图1所示.图1(a)中给出了使用多点传感设备完成电器用电行为感知的示意图,对于每个需要感知的电器,使用单独的传感器进行感知[12].图1(b)中给出了单点传感器完成电器用电行为感知的示意图,传感器仅在电路入口处接入家庭电路,只能得到整个家庭的总电流波形和电压波形,需要通过一个计算过程得到每个电器的用电行为[3].对于每个独立工作的电器,其在工作中产生的电流波形均是随时间变化的波形,而其电压波形与传感器得到的电压波形相同,因此,计算其用电行为的关键是确定其电流波形.
Fig. 1 Two typical scenarios for household electricity usage sensing图1 家庭用电感知的2类典型场景
根据基尔霍夫节点电流定律:在任何时刻,电流传感器得到的多个电器的总电流的瞬时值是等于各个电器的电流瞬时值之和.电流分解问题就是要根据此关系以及电器的先验知识计算各个电器的实际通过的电流波形.为了完成电流分解问题的形式化定义,首先对问题中的各个物理量进行形式化表述.
在家庭用电场景中,电压是220V,频率是50 Hz的正弦交流电,而通过电器的电流是对此电压的响应.因此,在多数情况下,电流电压波形中的主要频域成分是50 Hz的整数倍频率.通过傅里叶级数展开能够将任意电流电压波形I(t)写成:
(1)
其中,I(t)是时刻t的波形,f是交流电频率,在中国是50 Hz,而n是每个周期中采样点的数目.式(1)中的系数aj和bj是根据离散傅里叶变换得到的傅里叶系数的实部和虚部.根据式(1)可以知道对于任何一个频率小于nf/2的电流电压波形,都可以通过一个由系数aj和bj构成的向量唯一表示.对于给定的电流波形I(t),我们可以通过一个n维的列向量i进行表示,我们将i称作一个电流向量:
i=[ij]n×1=[a1,a2,…,an /2,b1,b2,…,bn /2]T.
(2)
在图1所示的电路中,由基尔霍夫节点电流定律可知,对任意时刻都有总电流等于各个子电流之和.所以有:
(3)
其中,m是总电流对应的电器数目,Ia是总电流对应的波形,Ik是第k个电器的电流对应的波形.将式(1)和式(2)代入式(3)中可知总向量中所有元素都等于各个电器电流向量中对应元素之和.用矩阵形式进行表述,有:
(4)
其中,En是一个n阶的单位矩阵,ia是总电流向量,ik是第k个电器的电流向量.
电流分解问题就是要在给定的总电流向量ia以及各个电器的运行状态时,利用式(4)给出的线性关系,估计各个电器的电流向量ik,并使得计算得到的m个电流向量与真实的电流向量之间的误差尽可能小.
若每个电器的波形向量的取值范围都是整个n维实数空间n,那么对应式(4)中,给定一个总电流ia,存在无数多个解.无法通过对式(4)的求解直接计算各个电器的电流向量.
因为式(4)给出的信息不足以完成对电器电流的估计,要求解电流分解问题首先需要对电器的耗电行为建立约束.一种广泛使用的假设是在文献[4]中提出的稳态耗电假设.当电器处于特定工作状态时,其上消耗的功率处在一个常数值附近.从该假设出发,可以导出特定工作状态下的电器电流在每个周期中均是相同的波形,能够使用平均电流波形估计实际电流波形.例如在文献[5-6]中就直接将电器在各个工作状态下的波形视作定值.对电流分解问题的求解过程就是直接用各个电器的电流向量的均值估计当前的电流向量ik.我们将此类分解方法称为稳态估计方法.对第k个电器,此方法给出电流向量
ik=μk.
(5)
其中,μk是第k个电器的电流向量的均值.由此稳态估计方法的关键是获取每个电器的电流均值μk,通过预先的训练阶段得到的训练集合能够得到此向量.
显然对于一次分解而言,式(5)得到的估计电流向量与真实电流向量可能存在较大差异,同时不保证多个电器的分解结果满足式(4).但是对于多次电流分解,通过均值估计电流向量能够保证平均误差逼近于0,而标准误差逼近于电器在当前状态下电流向量的标准差.
使用稳态估计方法求解电流分解问题的优点在于各个电器的分解结果的计算过程相互独立,多次分解的标准误差具有一个确定的期望,等于电器电流向量的标准差.无论家庭中同时工作的电器数目和种类如何变化,对于特定的一个电器,稳态估计方法的计算结果始终是确定的,不会受其他电器的影响.而此类方法的缺点是在计算电器电流时完全没有利用总电流的信息,仅依赖于电器的稳态耗电假设.对于电流向量的标准差较大的电器,此方法的计算结果的误差随之增加.
稳态估计方法基于一种简单的假设,对电流分解问题进行求解,在其求解过程中,总电流向量所包含的信息没有任何使用.而考虑利用此信息则需要对电器的电流向量建立另外一套约束.文献[13]中观察变速电机类负载的谐波电流谱包络特征,发现不同阶谐波的谱包络线之间存在线性关系.而文献[8]针对变速驱动马达的电源结构的研究,在其基频电流和谐波成分之间建立了一个近似线性的函数关系,在文献[10]中假设家庭中存在多个电器类型,同类型电器的电流向量之和分布在整个谐波空间中的一条直线上,通过聚类方法得到直线方程.
上面3个工作都试图通过简单的数学模型对电器的电流变化规律进行抽象,其中的共同点是假定了不同频率的谐波之间存在线性关系.假设这种相关性是加在第k个电器的电流向量ik上的一组线性约束.根据一般的线性约束的性质,能够将ik限制在一个维度为r的低维线性空间中.令ik的均值μk作为低维空间的原点,此线性空间中位置向量为ck的一个点对应于电器的一个电流向量ik,两者之间的关系可以表示为
ik=Φkck+μk.
(6)
其中,Φk是由r个基向量组成的n×r的矩阵,ck则是在低维空间中的位置向量.式(6)是对第k个电器的电流向量的线性降维方程,由电器上的物理模型约束或者数据约束构造得到.在文献[8-9]中,降维方程是通过对电器物理模型和波形特征进行分析得到此降维方程.而在文献[10]中假定基矩阵是一个一维列向量,通过理论模型或者聚类方法可以得到此方程.而在我们之前一个工作中[11],通过主成分分析(PCA)计算得到此方程.
将式(6)代入到式(4)中,能够改写基尔霍夫节点电流定律,得到:
(7)
其中,矩阵Φ是各个电器的基矩阵Φk拼接起来得到的一个系数矩阵,向量μ是各个电器的均值之和,而向量c由所有电器在低维空间的位置向量拼接而成.通过求解式(7)中表示的线性方程,能够得到各个电器在低维空间中的位置向量,进而得到电流分解问题的解.我们将此类分解方法称为线性分解方法.文献[11]给出了普通最小二乘法求解式(7)的必要条件,即矩阵Φ列满秩.当条件满足时,根据普通最小二乘法(OLS)计算能够得到所有电器的位置向量:
c=(ΦTΦ)-1ΦT(ia-μ),
(8)
其中,向量c按照其电器划分后能够得到各个电器对应的位置向量ck,分别代人式(6),能够得到各个电器的电流向量的估计值ck.文献[11]中分析了此结果中的误差情况,误差由2个要素决定:矩阵Φ的状态数和总电流中的噪音项.而此矩阵的状态数由待分解电器的组合决定,而总电流中的噪音项不但包括测量误差还包括在各个电器降维时引入的噪音.
线性分解方法的优点在于有效利用了总电流向量中的信息以及电器的电流向量变化的特点,在大部分情况下能够取得优于稳态估计方法的分解效果.其分解结果能够有效的反映总电流的变化.而此方法的缺点也同样明显,即线性分解方法不是在任意情况下可用的.当矩阵Φ不满足列满秩条件时,式(8)中的项(ΦTΦ)-1不存在,原方程存在无数个解.同时电器降维会引入额外噪音,在某些情况下,其分解结果中的误差可能大于稳态估计方法.
第1节分别讨论了电流分解问题和2类计算方法的形式化表示以及2种方法的优缺点.从中我们发现2种方法具有一定的互补性:线性分解方法的精度容易受电器组合影响,相似电器会极大降低其分解精度.而稳态估计方法能够避免电器之间的相互影响,每个电器的估计结果中的误差仅由电器本身决定;稳态估计方法无法刻画电器的电流变化信息,而线性分解方法的基本假设便是电器的电流向量在线性约束下发生变化.
我们希望能够有效地将2种方法的优点结合到一种统一的分解方法中,但是在上述2种方法中使用的基础假设相互冲突:稳态耗电假设要求电器的电流向量等于稳定值,而线性降维的基础是电流在线性空间中不断变化.为了能够在统一框架中调和二者的冲突,我们从贝叶斯统计的观点进行讨论.
从统计的角度重新考虑电流分解问题,可以将整个过程看作一个随机过程.每个电器相互独立地在各自的低维空间中随机产生电流向量,所有电器的电流向量可以用一个位置向量c表示.用于电流分解的总电流ia不但包括了根据式(7)得到的总电流,同时还包括一个随机噪音ε.针对这个随机过程,由贝叶斯定律可以得到:
(9)
其中,P(c)是电器产生位置向量c的先验概率分布,此概率在电流分解开始前就已经确定.P(ia|c)是一个条件概率分布,它是给定了所有电器的位置向量时,测量得到的总电流向量的概率分布.P(c|ia)是后验概率分布,表示的是给定一个总电流向量时,各个电器的位置向量的概率分布.
结合式(9)分别讨论稳态估计方法和线性分解方法中的关键假设的统计意义.对于稳态估计方法,其使用每个电器的电流向量的均值作为分解结果.根据稳态耗电假设,可知在确定状态下,电器的电流向量在均值附近浮动.我们可以将此假设描述为以均值为中心的正态分布.那么对于所有电器的位置向量的先验分布可以写作:
P(c)=N(μc,Ψ),
(10)
其中,μc是所有电器的位置向量的均值.根据式(6)的描述可知,构造电器低维空间时,其原点落在原空间中的电流均值上,每个电器在低维空间中的位置向量的均值为0,因此分布P(c)是一个0均值分布.矩阵Ψ是各个电器的低维坐标的协方差矩阵.各个电器独立运行,任何2个不同电器的低维坐标之间是相互独立的.而对于单个电器,若降维方法是通过PCA方法进行,得到的各个主成分之间统计无关,且每个主成分的方差不为0.因此各个电器的低维坐标的协方差矩阵Ψ是一个对角阵且对角线元素均大于0.
对于稳态估计方法而言,其分解结果已经在式(5)中给出,存在于原向量空间中.若将其代入式(6)中可知此分解方法估计电器的低维坐标恒为0,即:c=0.此结果是坐标先验P(c)的协方差矩阵Ψ中所有元素为0时,后验分布P(c|ia)中唯一的非0项的位置向量.
在对线性分解方法进行分析前,向式(7)中引入一个总电流向量上的噪音项ε.因为此噪音项是多个0均值的随机变量之和,根据中心极限法则,不妨假定此噪音项服从0均值多维正态分布N(0,Θ).通过引入噪音的先验分布,能够将式(7)所示的线性方差缩放成为P(c|ia)表示的条件分布.此时,总电流向量ia和各个电器低维坐标c之间的一个随机关系:ia-μ-Φc=N(0,Θ).将此关系化简为P(ia|c)的形式,有:
P(ia|c)=N(μ+Φc,Θ).
(11)
其中,矩阵Θ是噪音先验分布的协方差矩阵,由多个相互独立的噪音之和.其中测量引入的噪音通常可以视作一个时域上白噪音,因此在电流向量这样一个频域表示下各个维度方差相等且独立,而每个电器因为降维引入的噪音均相互独立且数目极多.为了简化后续计算,可以近似假设此噪音的协方差矩阵Θ是一个对角矩阵且对角线元素均大于0.
对于线性分解方法而言,其分解结果在式(8)中给出,代入式(11)中可知,此结果是令分布P(ia|c)最大的电器电流向量.而矩阵Φ不满足列满秩时,对应的在分布P(ia|c)中,使得概率最大的电流向量c有无数个,无法确定唯一解.
至此,我们将稳态估计方法和线性分解方法的关键假设松弛为式(10)和式(11)所示的2个正态分布.利用贝叶斯公式可以将这2个分布融入到统一的计算框架中.将二者代入式(9)中,能够得到后验概率的分布.因为式(10)和式(11)所述的概率分布都是多维正态分布,所以后验分布存在解析解,而且也是一个多维正态分布,有:
P(c|ia)=N(γ,Σ).
(12)
其中,后验分布的均值γ和方差Σ分别为
Σ=(Ψ-1+ΦTΘ-1Φ)-1,
(13)
γ=ΣΦTΘ-1(ia-μ).
(14)
通过给出均值和方差,能够唯一地确定一个后验分布.而基于此后验分布,我们可以在其中找到后验概率最大的位置向量作为分解的结果.因为这是一个正态分布,所以最大后验在均值γ处取得.最大后验估计得到的位置向量代入式(6) 能够得到各个电器在原始向量空间中的电流向量.
此分解方法的关键在于利用训练集构造低维坐标的先验分布以及总电流中噪音项的先验分布.若使用主成分分析进行降维,那么前一个分布可以利用降维后的训练集数据得到.而后一个分布由多个分布叠加得到,包括测量噪音的分布以及每个电器降维时舍弃的非主成分的噪音.测量噪音由测量方法确定,而每个电器的降维噪音可以通过用训练集数据减去降维后能够保留的数据得到.我们将此分解方法称为贝叶斯电流分解(Bayesian current disaggregating, BCD)方法.
对于BCD方法,与线性分解方法类似,存在分解结果的必要条件是式(13)和式(14)计算过程中的求逆计算可行,其中关键是要求协方差矩阵Ψ和Θ以及矩阵之和Ψ-1+ΦTΘ-1Φ可逆.根据基本的线性代数知识可知,矩阵Ψ和Θ是一个对角矩阵且对角线元素均大于0,同时ΦTΘ-1Φ为半正定矩阵,显然3个矩阵均可逆.对于BCD方法,在几乎所有情况下都能够对总电流进行分解,不需要考虑类似文献[11]中给出的满秩条件.
Fig. 2 Current disaggregating problem and the relation between three computational methods图2 电流分解问题及3种计算方法之间的联系
将电流分解问题以及3类方法重新整理可以得到图2,图2中将电流分解问题描述成为其在线性降维后的等价表示,并给出3种方法分别得到的位置向量的解析表达式.从图2中可以看到,BCD方法的解在特定条件下会退化成另外2个方法的结果之一.当噪音先验的协方差矩阵Θ中所有项均趋于0时,BCD方法会退化成线性分解方法.当坐标先验的协方差矩阵Ψ中所有项均趋于0时,BCD方法会退化成稳态估计方法.而在一般情况下,BCD方法同时考虑了噪音先验和坐标先验,此方法得到的分解结果能够结合之前2种方法的优点.对于贝叶斯电流分解方法的分解效果的验证将放在本文第3节中进行.
BCD方法对总电流向量进行分解的核心公式是式(13)和式(14).而为了计算这2个公式,需要得到2个关键分布的值以及各个电器的低维空间基的矩阵表示.而在2.1节中,我们假定了2个分布的协方差矩阵均为对角矩阵,所以计算中可以用对角线元素的向量进行表示.为此,BCD算法分为2个阶段:1)训练算法.用于从电器的训练集合中得到电器的低维空间表示以及其先验分布的信息;2)分解算法.在给定总电流和电器集合的情况下,利用训练算法给出的信息,对总电流向量进行分解.
在给定第k个电器的训练算法中,其输入是此电器的电流波形I和同步采集到的电压波形V,而输出则包括电器低维空间的基矩阵Φk,电流向量均值μk,电器的电流向量在各个低维基上的方差向量Ψk,以及此电器降维引入的噪音的协方差矩阵Θk.具体算法如下:
算法1. 训练算法.
输入:I,V;
输出:Φk,μk,Ψk,Θk.
① 对输入电流电压波形进行预处理.根据电压波形的正向过零点将整个波形划分到各个周期中.对于每个周期的电流电压波形分别进行快速傅里叶变换,得到其对应的电流向量和电压向量.利用电压向量中50 Hz成分的相位信息对电流向量的相位进行修正.最后将得到的多个电流向量ia组成一个电流矩阵T,其中每一个列向量对应一个周期的电流波形.
② 主成分降维.首先对电流矩阵T计算电器的电流向量的均值μk,对电流矩阵T计算阈值为0.95的主成分,这些主成分的构成基矩阵Φk.
④ 计算因为电器降维引入的噪音.利用步骤②③中得到的基矩阵Φk和位置矩阵C,可以得到降维引入的噪音矩阵R=T-μk-ΦkC.对于此矩阵中的列向量计算协方差矩阵能够得到矩阵Θk.
在给定m个电器同时工作的场景下,分解算法的输入是m个电器运行时产生的总电流波形I和同步采集到的电压波形V,m个电器各自的基矩阵Φk、电流均值μk、位置向量的方差向量Ψk以及降维噪音协方差矩阵Θk以及测量噪音的协方差矩阵e.而其输出是各个电器的电流波形Ik.具体算法如算法2:
Fig. 3 The data acquisition devices and the scenario图3 电路信息的采集设备与采集场景
算法2. 分解算法.
输入:I,V,e,Φk,μk,Ψk,Θk,对每个k∈[1,m];
输出:Ik.
① 对输入电流电压波形进行预处理.预处理方法与算法1中步骤①相同,得到电流矩阵T.
③ 计算所有电器的位置向量c.将步骤②中得到的信息代入式(13),计算得到后验分布的协方差矩阵,有:Σ=(Ψ-1+ΦTΘ-1Φ)-1.再利用式(14),将第1步得到的电流矩阵T代入,能够得到需要计算的位置向量c=ΣΦTΘ-1(ia-μ).
④ 计算电器的电流波形.将步骤③中得到的位置向量c按照其对应的电器进行分解,得到各个电器的位置向量ck,代入式(6)能够得到电器的电流向量ik.对于每一个电流向量,执行与步骤①预处理过程相反的计算过程,能够得到对应周期中的波形,最后拼接起来可以得到各个电器的电流波形Ik.
本节通过仿真实验对贝叶斯电流分解算法进行验证.因为电流分解问题对数据精度要求较高,本文并没有构建多个高精度传感器对同时工作的多个电器进行采样.而是分别对不同电器的电流波形进行采样,利用采样得到的真实数据构造多个仿真场景对我们的方法进行评测.在这些场景中,我们根据基尔霍夫节点电流定律将不同电器的真实电流叠加起来作为理论上的总电流.得到的总电流将作为分解方法的输入,而分解结果将和原始电流进行比较,从而对分解效果进行评估.因为总电流是由真实电流直接叠加而成,所以算法2中输入的测量噪音e的取值为0.
实验中使用的数据均是来自实验室环境下采集的由电器产生真实用电数据.为了获取到精确的电流数据,我们使用一个创研高科公司生产的ETRC030高精度钳形漏电流传感器作为电流传感器安装在电路的主电源断路器附近的火线上(图3中左上图).而电压的测量是使用择明电子的ZMPT01B电压互感器作为电压传感器(图3中右下图).而数据采集时,我们使用阿尔泰科技的12 b数据采集器USB2831完成数据采集工作(图3中右上图),通过USB接口将数据存入电脑.实验时采集数据的频率为6 400 Hz,保证了在中国市电50 Hz的环境下,每个周期有128个采样数据.在本实验中,我们选取了5个不同的电器,这5个电器的基本信息在表1中给出.其中平均功率信息能够显示出电器之间电流强度的差异.主成分的数目显示了电器上受到的线性约束的强度.电流波形标准差给出的是各个电器电流波形与其均值波形的偏离程度,同时也能够估计通过均值估计得到的分解误差.图4中给出了20 s中这些电器50 Hz电流分量的变化情况.
从图4中,我们可以看到电器A1,A3,A5的电流峰值在多数时间中是处在一个稳定值附近的,在少数时间会有较大变化; A2的电流峰值基本一直在162 mA附近小幅度震荡;而A4的电流峰值在图4中始终有较大的变化幅度.A5有最大的标准差是因为其电流的绝对强度最高.而标准差和均值的比例最高的是A4,这也与图4中显示出的趋势一致.
Table1 The List of Five Appliances表1 实验中使用的5个电器的基本信息
*The dimension of position vectors is 128.
Fig. 4 The curve of current amplitude versus time for five appliances图4 5个被测电器在20 s内电流峰值(50 Hz)随时间变化情况
后续的实验中,我们将整个分解得到的波形与真实波形比较得到的标准误差作为分解方法的评价指标.在每个场景下,待分解的波形由4 000个周期的电流波形连接而成.作为参考,稳态估计方法、线性分解方法的分解误差将同BCD方法的分解误差一起给出.所以对于每一个分解场景,我们均给出了会给出3个不同的误差,分别来自稳态估计方法(Mean)、线性分解方法(Linear)以及贝叶斯电流分解方法(BCD).
首先对2个电器分解的仿真场景中的分解结果进行分析,表2中列出了5个电器两两组合的10种不同的分解场景下的分解结果.
表2中给出了2个电器场景中3种不同算法的分解结果.在给出的10个场景中,本文提出的BCD方法的分解结果都显著优于另外2种算法.以A3&5的情况为例进行讨论,A5电冰箱固有的电流波形标准差是603 mA,而A3只有10 mA.在2个电器分解时,A5的波形上的剧烈波动,容易对A3的分解结果造成影响.线性法在此场景中得到的A3的误差显著大于稳态法.而本文给出的BCD方法中,依靠位置向量先验对分解结果的约束,A3受到A5的影响被限制到了一个可以接受的程度,BCD方法得到A3和A5的误差均小于前2种分解方法.
Table 2 The Disaggregating Results for Two Appliances表2 2个电器场景中电流分解结果 mA
Fig. 5 The result comparison for a special case图5 特殊情况下2种方法的结果比较
下面我们讨论2个电器分解场景中的一个极端情况:我们选取了2个主成分数目超过总维度50%的电器,主成分数目分别为87和88.这2个电器受到线性约束较弱,降维后仍然不满足文献[11]提出的分解条件,线性法无法运行.在此情况下,通过稳态法和BCD方法能够给出分解结果.其结果在表3中列出:
Table 3 The Disaggregating Results for a Special Case
从表3中可以看到,在这一特场景下BCD方法的分解误差比稳态法小了30%.我们选取了此场景下离散的400个周期,给出其分解结果中的50 Hz的波形峰值构成的曲线,如图5所示:
从图5中可以看到,稳态法和BCD方法给出的结果都在真实值附近.而其中BCD方法的结果能够反映电器波形的实时变化,而稳态法仅是给出均值的估计.
下面在3个电器同时工作的仿真场景中,对3种方法进行测试,我们将分解结果列在表4中.对于每一种方法,我们将3个电器的标准误差的方均根值作为总体误差放在表4中.
表4给出的实验结果与2个电器的分解结果类似,在10种不同电器组成的场景下,本文提出的BCD方法给出的分解结果的标准误差是最低的.
Table 4 The Disaggregating Results for Three Appliances表4 3个电器场景中电流分解结果 mA
进一步展示本文给出的BCD方法与原有2类方法在更多电器的分解场景中的效果,表5中给出了4个电器和5个电器分解场景中3类方法的分解结果.与3个电器分解场景类似,我们在表5中列出了全部电器的分解结果的标准误差的方均根值.在这些场景中,本文给出的BCD方法的分解结果仍然显著地优于原有2类方法.
Table 5 The Disaggregating Results for More Appliances表5 多电器场景中电流分解结果 mA
本文针对单点家庭用电感知场景的电流分解问题,提出了一种贝叶斯电流分解(BCD)方法.为了同时具备稳态估计方法和线性分解方法的优点,本文将无法同时满足的2个假设同时进行松弛,得到2个先验分布,并结合贝叶斯公式,将2个分布统一的放入一个计算方法中,通过最大化后验概率的方法完成电流分解.
本文使用实验环境下电器的真实用电数据构造仿真实验,对3种分解方法进行评测和比较.利用5个不同电器的用电数据,我们构造了26个不同的仿真场景,每个场景下对4 000个周期的电流波形进行分解.在全部的场景中,BCD方法的分解结果均优于线性分解方法和稳态估计方法.相对于线性分解方法,在2电器分解场景下,总体误差降低了2.5%~44.4%;在3电器分解场景下,总体误差降低了11.5%~46.5%.而相比稳态估计方法,在2电器分解场景下,总体误差降低了73.5%~94.3%;在3电器分解场景下,总体误差降低了71.3%~94.5%.而在本文构造的一个极端情况中,线性分解方法无法运行,BCD方法的分解误差比稳态估计方法降低了30%.
[1] Mattern F, Staake T, Weiss M. ICT for green: How computers can help us to conserve energy[C] //Proc of the 1st Int Conf on Energy-Efficient Computing and Networking. New York: ACM, 2010: 1-10
[2] Chen Keyu, Gupta S, Larson E, et al. DOSE: Detecting user-driven operating states of electronic devices from a single sensing point[C] //Proc of the 5th Int Conf on Pervasive Computing and Communications. Piscataway, NJ: IEEE, 2015: 46-54
[3] Patel S, Gupta S, Reynolds S. The design and evaluation of an end-user-deployable, whole house, contactless power consumption sensor[C] //Proc of the 28th SIGCHI Conf on Human Factors in Computing Systems. New York: ACM, 2010: 2471-2480
[4] Hart G. Nonintrusive appliance load monitoring[J]. Proceedings of the IEEE, 1992, 80(12): 1870-1891
[5] Suzuki K, Inagaki S, Suzuki T, et al. Nonintrusive appliance load monitoring based on integer programming[C] //Proc of the 47th SICE Annual Conf. Piscataway, NJ: IEEE, 2008: 2742-2747
[6] Li Jiaming, West S, Platt G. Power decomposition based on SVM regression[C] //Proc of the 4th Int Conf on Modelling, Identification & Control. Piscataway, NJ: IEEE, 2012: 1195-1199
[7] Akbar M, Khan Z A. Modified nonintrusive appliance load monitoring for nonlinear devices[C] //Proc of the 11th Int Multitopic Conf. Piscataway, NJ: IEEE, 2007
[8] Wichakool W, Avestruz A, Cox R, et al. Modeling and estimating current harmonics of variable electronic loads[J]. IEEE Trans on Power Electronics, 2009, 24(12): 2803-2811
[9] Wichakool W, Remscrim Z, Orji U, et al. Smart metering of variable power loads[J]. IEEE Trans on Smart Grid, 2014, 6(1): 189-198
[10] Li Peng, Yu Yixin. Nonintrusive method for on-line power load decomposition[J]. Journal of Tianjin University, 2009, 42(4): 303-308 (in Chinese)
(黎鹏, 余贻鑫. 非侵入式电力负荷在线分解[J]. 天津大学学报, 2009, 42(4): 303-308)
[11] Liu Jingjie, Nie Lei, Xu Zhiwei. The input-sensing problem in ternary computing and its application in household energy-saving[C] //Proc of the 6th Int Conf on Green Computing and Communications. Los Alamitos, CA: IEEE Computer Society, 2011: 131-138
[12] Jiang Xiaofan, Dawson-Haggerty S, Dutta P, et al. Design and implementation of a high-fidelity ac metering network[C] //Proc of the 8th Int Conf on Information Processing in Sensor Networks. Piscataway, NJ: IEEE, 2009: 253-264
[13] Laughman C, Lee K, Cox R, et al. Power signature analysis[J]. IEEE Power and Energy Magazine, 2003, 1(2): 56-63