魏海浩 劉愛蓮 李英娜
(昆明理工大學(xué)信息工程與自動化學(xué)院 云南 昆明 650500)
智能用電是智能電網(wǎng)的重要環(huán)節(jié)之一,是實現(xiàn)高級量測體系和互動服務(wù)體系的核心內(nèi)容。負(fù)荷監(jiān)測是實現(xiàn)智能用電的關(guān)鍵技術(shù)之一。非侵入式負(fù)荷分解(Non-intrusive load disaggregation,NILD)最早由Hart[1]教授提出,利用電力入口處總負(fù)荷信息,對用戶內(nèi)部的用電設(shè)備進(jìn)行狀態(tài)監(jiān)測和能耗分解。NILD有利于用戶與電網(wǎng)公司友好互動,對于電網(wǎng)削峰填谷以及用戶綠色用電、節(jié)約用電均具有指導(dǎo)意義。
目前負(fù)荷分解方法主要分為模式識別和機(jī)器學(xué)習(xí)兩種。其中模式識別主要包括粒子群算法、遺傳算法等。文獻(xiàn)[2]將總諧波失真系數(shù)和功率作為負(fù)荷特征,采用慣性權(quán)重粒子群算法進(jìn)行負(fù)荷分解,負(fù)荷識別率高且克服了粒子群算法后期陷入局部最優(yōu)的缺點,但是前提條件為用電設(shè)備是開關(guān)型負(fù)荷。文獻(xiàn)[3]將NILM視為0-1背包問題,測試粒子群、模擬退火、差分進(jìn)化等數(shù)學(xué)優(yōu)化算法對于負(fù)荷辨識的性能,同樣是將用電設(shè)備抽象成開關(guān)二狀態(tài)模型。文獻(xiàn)[4]首先運用AP聚類進(jìn)行設(shè)備狀態(tài)提取,然后基于遺傳算法進(jìn)行負(fù)荷識別與分解,雖然對設(shè)備的建模更貼近實際,但是未考慮多用電器同時運行的情況。
機(jī)器學(xué)習(xí)在一定程度上能夠解決上面的問題,其中隱馬爾可夫(HMM)是常用的方法。文獻(xiàn)[5]提出了一種基于粒子濾波的負(fù)荷分解方法,單個負(fù)載和負(fù)載的疊加分別用隱馬爾可夫(HMM)和因子隱馬爾可夫(FHMM)建模,并且模擬了三種情景下的實驗:有無噪聲和重置后驗估計。文獻(xiàn)[6]運用FHMM對整個家庭負(fù)載設(shè)備進(jìn)行建模,使用維特比進(jìn)行負(fù)載能耗的解碼,對比傳統(tǒng)的NILM,該方法識別精度有一定的提高特別是針對負(fù)荷波動性較大的負(fù)載設(shè)備。文獻(xiàn)[7]提出了一種稀疏維特比的方法,該方法基于超狀態(tài)隱馬爾可夫模型和稀疏維特比算法。文獻(xiàn)[8]考慮了設(shè)備之間的相互作用,使用FHMM對設(shè)備交互進(jìn)行建模,并且通過維特比算法進(jìn)行推斷。
目前對于負(fù)荷分解的研究很多,但是依然面臨一些問題:(1) 基于優(yōu)化算法的負(fù)荷分解對負(fù)載設(shè)備的建模并不符合設(shè)備的實際運行情況[9],并且基于k-means電器狀態(tài)聚類受功率波動的影響,導(dǎo)致聚類中心不穩(wěn)定。(2) 基于HMM的NILD考慮的用電情景過于單一,導(dǎo)致識別不準(zhǔn)確。(3) 隨著電器數(shù)量的增多,基于HMM的NILD使用維特比進(jìn)行負(fù)載能耗解碼的效率低問題。
針對以上問題,提出一種結(jié)合情景上下文的FHMM負(fù)荷分解。對于單個負(fù)載和多負(fù)載疊加的情況分別運用HMM和FHMM建模。運用高斯混合模型(GMM)進(jìn)行負(fù)荷狀態(tài)聚類。結(jié)合情景上下文信息,對負(fù)載設(shè)備的狀態(tài)轉(zhuǎn)移概率進(jìn)行優(yōu)化消除冗余狀態(tài)轉(zhuǎn)移概率,對狀態(tài)空間以及狀態(tài)轉(zhuǎn)移路徑進(jìn)行約束降低維特比算法的復(fù)雜度。
根據(jù)負(fù)載穩(wěn)態(tài)特征的不同,負(fù)荷類型可分為開/關(guān)型負(fù)荷、有限狀態(tài)型負(fù)荷、連續(xù)變狀態(tài)型負(fù)荷。其中,前兩種設(shè)備類型沒有本質(zhì)區(qū)別,都具有有限的工作狀態(tài),且各狀態(tài)的負(fù)荷特征相對穩(wěn)定,可以用來描述大多數(shù)家用電器[6]。有限狀態(tài)型負(fù)載的運行過程如圖1所示。

圖1 有限狀態(tài)負(fù)載的運行過程
有限狀態(tài)類型負(fù)載的運行過程可以通過HMM建模。假設(shè),用電器狀態(tài)集合為Q={q1,q2,…,qK},K代表用電器運行狀態(tài)的個數(shù),則其運行過程可以描述為一個離散時間序列S={s1,s2,…,st,…,sT},其中st∈Q表示時刻t時用電器所處的狀態(tài)是不可觀測的隱藏狀態(tài),T為運行時間。用電器輸出功率作為觀測值輸出,觀測序列為O={o1,o2,…,oT}。單個用電器的負(fù)荷模型如圖2所示,該模型中K=2,st在ON和OFF之間切換。

圖2 單個負(fù)荷的HMM模型
單個負(fù)荷的HMM模型可由5個參數(shù)描述:θ={Q,V,π,A,B}。
1)Q代表隱藏狀態(tài)集合;V={v1,v2,…,vM}為觀測值集合,ot∈V。
2) 初始狀態(tài)概率π表示t=1時模型處于某個隱藏狀態(tài)的概率,π={π1,π2,…,πK},πk=P(s1=qk),k=1,2…,K。

4) 觀測值概率矩陣B={bj(m)}K×M,其中bj(m)表示t時刻狀態(tài)j輸出觀測值Vm的概率。


圖3 總負(fù)荷的FHMM模型
基于FHMM的總負(fù)荷模型可由3個參數(shù)描述:θ{π,A,B}。

(1)
式中:x是D維數(shù)據(jù)向量;λ=(ω1,ω2,…,ωK;μ1,μ2,…,μK;Σ1,Σ2,…,ΣK)為GMM的參數(shù);ωk(k=1,2,…,K)代表第k個高斯分布的權(quán)重;g(x|μk,Σk)為第k個高斯分布模型。
(2)
g(x|μk,Σk)=
(3)
式中:μk為均值向量;Σk為觀測向量的協(xié)方差矩陣。
EM算法通過事先假定數(shù)據(jù)的類別然后根據(jù)迭代估計出GMM的權(quán)值ωk、均值μk和協(xié)方差Σk。具體步驟如下。
E-步:引入隱含變量,即xi屬于k類的后驗概率P(k|xi,λ(t))。對于數(shù)據(jù)X={x1,x2,…,xn},已知上次迭代的參數(shù)λ(t)=(ω(t),μ(t),Σ(t)),則隱含變量為:
(4)
M-步:求解模型參數(shù)的最大似然估計,并對參數(shù)進(jìn)行更新。引入模型的對數(shù)似然函數(shù):
(5)
分別對ωk、μk、Σk求偏導(dǎo),將隱含變量代入得到t+1次迭代的GMM參數(shù):
(6)
(7)
(8)

GMM模型建立后,對于輸入數(shù)據(jù),采用Bayes最大后驗概率(MAP)準(zhǔn)則[13],得到數(shù)據(jù)屬于哪一類,具體實現(xiàn)如下。
對于一組樣本數(shù)據(jù),數(shù)據(jù)類別的劃分可以描述為:
(9)
每個數(shù)據(jù)點來自第k個高斯分量的后驗概率為:
(10)
式中:ωk為第k個高斯分布密度的先驗概率;g(xi|μk,Σk)為xi屬于第k類的概率密度。樣本xi屬于某類的后驗概率密度最大,即xi屬于該類。聯(lián)立式(9)和式(10)的聚類結(jié)果為:
(11)


(12)
(13)
(14)
(15)
觀測值滿足:ot|st(1:N)~N(μt,Σt)。

情景上下文包括:
1) 對實際環(huán)境下負(fù)載設(shè)備的功耗模式進(jìn)行分析,對各負(fù)載的狀態(tài)轉(zhuǎn)移概率矩陣進(jìn)行優(yōu)化。考慮REDD數(shù)據(jù)集[14]中的washer_dryer負(fù)載設(shè)備,它包含OFF、洗衣、烘干三個狀態(tài),washer_dryer的運行過程如圖4所示。

圖4 washer_dryer運行過程
觀察圖4可知,washer_dryer的狀態(tài)轉(zhuǎn)移矩陣為9×9方陣。假設(shè)其狀態(tài)轉(zhuǎn)移矩陣如表1所示。

表1 washer_dryer狀態(tài)轉(zhuǎn)移概率
但是實際情況下用戶行為決定了其操作模式,Q13、Q21和Q32是不存在的,即新的狀態(tài)轉(zhuǎn)換圖和狀態(tài)轉(zhuǎn)移矩陣更新如圖5和表2所示。

圖5 修正后的washer_dryer運行過程

表2 修正后的washer_dryer狀態(tài)轉(zhuǎn)移概率
仿照上述結(jié)合實際環(huán)境對負(fù)載設(shè)備的功耗模式進(jìn)行分析,可得到其他負(fù)載設(shè)備優(yōu)化后的狀態(tài)轉(zhuǎn)移概率矩陣。
2) 根據(jù)t時刻的功率觀測值ot對該時刻的狀態(tài)空間進(jìn)行約束,同時考慮后前時刻的差分功率ΔPt來減少狀態(tài)轉(zhuǎn)移路徑的條數(shù),降低維特比算法的計算量。

(16)

圖6 基于FHMM的負(fù)荷分解

(17)

(18)

(19)
對于總負(fù)荷模型t時刻的差分功率是大于或等于N個設(shè)備的差分功率的和,可由式(20)描述。
(20)

通過式(18)對負(fù)荷設(shè)備i的狀態(tài)空間進(jìn)行約束,剔除狀態(tài)空間中不符合實際情況的狀態(tài),通過式(20)考慮后前時刻觀測值的差分功率ΔPt減少狀態(tài)轉(zhuǎn)移路徑的條數(shù),經(jīng)過約束的FHMM負(fù)荷分解可由圖7表示。

圖7 基于狀態(tài)約束的FHMM負(fù)荷分解
在FHMM參數(shù)θ{π,A,B}已知的條件下,結(jié)合實際情況對負(fù)荷設(shè)備的狀態(tài)空間進(jìn)行約束,接下來運用維特比算法通過動態(tài)規(guī)劃求解概率最大路徑,即求得各負(fù)荷設(shè)備的最優(yōu)狀態(tài)序列實現(xiàn)負(fù)荷分解,其目標(biāo)函數(shù)為:
(21)
其中:
(22)
(23)
(24)
(25)
(26)
聯(lián)立式(21)和式(26),得到負(fù)荷設(shè)備i的負(fù)荷序列Oi,得其在時段T內(nèi)的能耗為:
(27)
本文選用REDD數(shù)據(jù)集中6戶家庭的負(fù)荷數(shù)據(jù)來驗證算法,數(shù)據(jù)長度為10天,采樣頻率為1 Hz。前7天的數(shù)據(jù)用于訓(xùn)練模型參數(shù),余下3天的數(shù)據(jù)用于驗證負(fù)荷分解效果。在用聚類算法求取用電器狀態(tài)之前,由于功率序列中普遍存在功率脈沖噪聲,因此選用中值濾波去除序列中的噪聲。圖8反映了dishwaser電器的原始功率信號,以及使用了中值率波處理后的信號。對比發(fā)現(xiàn)當(dāng)濾波窗口為7的時候信號更加平滑,信號中幾乎沒有比較突出的尖峰,與此同時信號也并未發(fā)生畸變,與原信號比較吻合。

(a) 中值率波處理后的信號

(b) 原始功率信號圖8 中值濾波
針對濾波處理后的數(shù)據(jù),分別使用k-means和GMM算法分別對該功率數(shù)據(jù)聚類,聚類效果如表3所示,選取House1和House2的兩種電器進(jìn)行橫向?qū)Ρ龋Y(jié)果k-means受功率波動的影響較大,表現(xiàn)出較大的方差,從而導(dǎo)致聚類中心不穩(wěn)定,而GMM是一種基于概率的聚類,受波動的影響較小,兩次聚類的中心比較穩(wěn)定。圖9是GMM的聚類結(jié)果,可以看出其結(jié)果為四個高斯分布圖。綜上說明本文選取GMM狀態(tài)聚類是合理的。

表3 GMM和k-means聚類結(jié)果對比

續(xù)表3

圖9 基于GMM的dishwaser狀態(tài)聚類
表4為利用GMM聚類得到的House1中所有電器的運行功率。

表4 House1中各電器的運行功率
為驗證本文方法負(fù)荷分解的性能,引入F1-Measure、能耗分解誤差εE這2個參數(shù)作為評價指標(biāo),具體計算方法如下:
(28)
(29)

表5展示了利用第一周的歷史數(shù)據(jù)訓(xùn)練的負(fù)荷分解模型在測試環(huán)境下2個指標(biāo)的結(jié)果。表5中,F(xiàn)1-Measure的均值為0.823,表明本文方法能夠?qū)﹄娖髟O(shè)備準(zhǔn)確辨識;其次,平均能耗誤差為4.034%,表明本文方法可以準(zhǔn)確地實現(xiàn)負(fù)荷的分解。

表5 負(fù)荷分解測試結(jié)果
組合優(yōu)化方法(Combinatorial Optimization,CO)[15]是NILM的常用方法,前文已經(jīng)探討CO無法模擬用電器的實際運行過程,處理辦法往往是將用電設(shè)備抽象成開關(guān)二狀態(tài)負(fù)荷。因此,接下來本文將進(jìn)行負(fù)荷分解方法的橫向和縱向?qū)Ρ取M向?qū)Ρ葹榻Y(jié)合情節(jié)上下文的FHMM(C-FHMM)和CO的對比;縱向?qū)Ρ葹镕HMM和C-FHMM的對比,基于CO的負(fù)荷分解參考文獻(xiàn)[16]。實驗結(jié)果如表6所示。

表6 負(fù)荷分解方法對比
可以看出,從F1-Measure的角度看,CO的F1-Measure最高,平均值為0.883;FHMM的F1-Measure最低;C-FHMM的F1-Measure比CO低的原因為C-FHMM將電器建模為多狀態(tài),負(fù)荷分解時出現(xiàn)電器狀態(tài)的混淆識別導(dǎo)致其F1-Measure略低于CO。從能耗分解誤差εE的角度看,C-FHMM的能耗誤差要比CO的能耗誤差小,為4.272%,這是由于當(dāng)CO將電器建模為二狀態(tài)(電器的各狀態(tài)的平均功率代表運行時功率),出現(xiàn)負(fù)荷辨識錯誤時將提高其能耗分解誤差。其次,dishwaser和refrigerator的F1-Measure最低,原因是這兩個電器的運行狀態(tài)功率比較接近(見表4),導(dǎo)致負(fù)荷辨識錯誤。圖10為運用C-FHMM方法得到的負(fù)荷分解結(jié)果。

圖10 負(fù)荷分解結(jié)果
圖11展示了三種方法的負(fù)荷分解效率,觀察發(fā)現(xiàn),隨著電器設(shè)備的增多,算法求解的復(fù)雜度越大。本文的C-FHMM在運用維特比算法進(jìn)行解碼時對狀態(tài)空間和狀態(tài)轉(zhuǎn)移路徑進(jìn)行了約束,所以運算效率相比FHMM有了明顯提高,且當(dāng)電器設(shè)備數(shù)量大于8個時,負(fù)荷分解效率也優(yōu)于CO。

圖11 負(fù)荷分解效率
本文提出一種結(jié)合情景上下文的FHMM的負(fù)荷分解方法:(1) 針對組合優(yōu)化(CO)的負(fù)荷分解對電器設(shè)備建模不符合電器實際運行狀態(tài)的問題,運用因子隱馬爾可夫(FHMM)對負(fù)荷進(jìn)行建模。(2) 根據(jù)電器工作狀態(tài)的功率服從高斯分布,運用GMM進(jìn)行電器狀態(tài)聚類,避免了k-means聚類中心不穩(wěn)定問題。(3) 考慮情景上下文的信息,對負(fù)載設(shè)備狀態(tài)轉(zhuǎn)移概率進(jìn)行優(yōu)化,其次,對狀態(tài)空間以及狀態(tài)轉(zhuǎn)移路徑進(jìn)行約束,降低維特比算法的復(fù)雜度。
基于REDD數(shù)據(jù)集進(jìn)行方法驗證,本文算法對比CO和FHMM在降低能耗分解誤差的情況下,分解效率也有一定的提高。不足的地方在于,當(dāng)用電設(shè)備的狀態(tài)功率接近時分解效果并不理想,其次模型的訓(xùn)練依賴于電器已知的情況。未來將對上述存在的問題進(jìn)行研究。