傅軍棟,耿 余,趙 穎,劉 珺
(華東交通大學電氣與自動化工程學院,江西 南昌 330013)
非侵入式負荷監(jiān)測(non-intrusive load monitoring,NILM)早在20 世紀80 年代就已經提出。 近年來,如何科學用電、引導用戶側提高用電效率引起了諸多關注[1]。 所謂的非侵入式就是在用戶入口處采集用戶總負荷的能耗等用電信息,通過一定的方法分解識別出末端的各個設備[2]。 此方式較侵入式監(jiān)測投入小,實用性強。 成熟的非侵入式負荷監(jiān)測模型將會對包括智能電表等用戶側設備的革新帶來新的方向,同時也可以優(yōu)化故障檢測及定位、節(jié)能等研究內容,具有很大的實用價值。
國內外對于NILM 的研究一直持續(xù)著,孫毅[3]將總諧波失真系數(shù)作為負荷新特征引入目標函數(shù), 采用基于動態(tài)粒子群自適應算法的非侵入式負荷分解方法對實測用電數(shù)據進行負荷分解,但是兩個方法都采用仿真所得數(shù)據,過于理想化,實用價值不高。劉興杰[4]提出一種基于改進雞群算法的負荷監(jiān)測方法, 綜合考慮穩(wěn)態(tài)諧波電流和功率特征的正態(tài)分布度量函數(shù)。 對于變功率負荷,兩種方法的識別能力較差。Racines[5]采用兩個獨立的神經網絡模型,分別對事件和負載狀態(tài)進行識別,但是模型之間的聯(lián)系不夠緊密,導致識別率不高。 牟魁翌[6]提出了一種基于分段線性近似及高斯動態(tài)彎曲核支持向量機的非侵入式負荷監(jiān)測方法。Wang[7]提出一種基于V-I 軌跡特征支持向量機的多分類算法進行負荷識別。 兩個模型的識別精度都有所提高, 但基于支持向量機模型的算法對于相似負荷的識別無法達到預期效果。張麗[8]基于智能負荷控制器 (SRLC) 的用電參數(shù)檢測功能和非侵入式負荷監(jiān)測原理, 提出一種基于多參量隱馬爾可夫模型的負荷辨識方法, 但是由于實驗在特定環(huán)境下進行,缺乏多樣性,導致在個別環(huán)境下,識別誤差增大。 王曉換[9]提出了一種決策融合方法。 由于模型的復雜化, 導致加權值無法準確選取,降低了識別精度。
針對以上研究中存在的不足, 通過對幾種具有代表性的家用電器的分析, 將用于環(huán)境變化檢測以及降水趨勢變化中的Mann-Kendall(MK)[10]變點檢測算法應用于NILM 中的事件檢測中,并加以改進,提出基于雙滑動窗的MK 變點檢測算法,并以每個設備各內部狀態(tài)在每個時間段的出現(xiàn)概率作為權值帶入到算法中,以負荷有功功率和電流電壓相位差為參數(shù),提出加權雙參量隱馬爾可夫模型實現(xiàn)負荷狀態(tài)識別。最后以ECO 數(shù)據集[11]提供的數(shù)據驗證算法的先進性。
負荷狀態(tài)變化時,會伴隨著從一個穩(wěn)態(tài)到另一個的穩(wěn)態(tài)的突變過程,可以通過變點識別的方法檢測到狀態(tài)改變事件。 史帥彬[12]提出了一種基于復合滑動窗的CUSUM 暫態(tài)事件檢測算法, 但是該方法需要負荷參數(shù)在投切時的爬坡過程來累計偏移量,適用于高頻的負荷參數(shù), 且出現(xiàn)大量的漏檢現(xiàn)象。在低頻情況下,CUSUM 變點檢測算法無法滿足要求。 為了滿足低頻信號下能夠準確檢測到突變點,將MK 變點檢測應用到負荷事件檢測中,該方法具有很高的抗干擾能力,同時也避免了漏檢和誤檢的發(fā)生。
負荷狀態(tài)的改變,將檢測到負荷信息從一個穩(wěn)態(tài)到另一個穩(wěn)態(tài)的轉變,這樣的過程可以通過變點檢測的方法檢測到。 變點檢測即利用一定的方法,對時間序列的趨勢狀態(tài)進行檢測[12]。
MK 是一種非參數(shù)統(tǒng)計檢驗方法, 該方法的樣本不遵從特定的分布方式,檢測結果也不會因為個別異常值而出現(xiàn)很大的誤差,且能客觀地展現(xiàn)序列變化趨勢[13]。 本文對有功功率的時間序列P 作MK 變點檢測,對P(含有n 個樣本)構造一個秩序列
UFk為標準正態(tài)分布, 是在時間序列P 的正順序情況下計算出的統(tǒng)計量,并形成相應的序列。 按時間序列P 的逆序列,重復上述公式計算UFk(k′=n+1-k),并且令UBk′=-UFk′,當k′=1 時,UB1=0。
給定顯著性水平α, 將UFk和UBk序列曲線與Uα的兩條臨界直線一起繪制。 若UFk的值大于0,則表明有功功率序列呈上升趨勢,小于0 則表明呈下降趨勢。 如果UFk和UBk兩條曲線出現(xiàn)交點,且交點在顯著性水平曲線之間,則交點對應時刻或者前一時刻即為事件發(fā)生的時刻。
MK 變點檢測在處理變點檢測問題上有很大的優(yōu)勢。 然而,在處理多次突變的時間序列時,由于UFk和UBk的在圖像中的完整性, 會出現(xiàn)無法完全檢測突變點的情況, 導致突變點的漏檢和誤檢,本文基于這一問題提出復合滑動窗的方法將MK 變點檢測序列細分成更小的窗口進行逐一檢測,這一手段也大大減少了MK 變點檢測的工作量。
在實際的用電情況中,無事件情況下功率等參數(shù)波動小。 當出現(xiàn)設備狀態(tài)改變時,伴隨著負荷參數(shù)的突變,窗口的均值和方差也會突變。 根據這一特性, 提出基于雙滑動窗的MK 變點檢測算法,其檢測過程如圖1 所示。
圖1 基于雙滑動窗的MK 變點檢測過程圖Fig.1 MK change point detection process based on double sliding windows
考慮到事件發(fā)生在WD1前端或者WD2尾端時,均值μWD1和μWD2的差值可能不明顯, 增加了漏檢的概率。 可以適當增加大窗口兩端采樣點的參考價值。 為此對大窗口內每個采樣點值進行加權處理,采用類似于正態(tài)窗的方式獲取WD1和WD2的均值。
通過對正態(tài)分布函數(shù)進行變換用于確定權值
式中:ai表示大窗口內每個采樣點的位置;as表示大窗口中間采樣點位置,即WD1尾部和WD2頭部重疊采樣點位置;θ 為0~1 的一個系數(shù);σ 為大于0 的常數(shù),決定權值曲線的平滑程度,其值越大,權值曲線越平滑,每個采樣點作用越均勻。 通過調節(jié)σ,可以改變大窗口兩端采樣值在計算均值時的權重。
由式(4)可知,中間采樣點as處權值f(as)=θ,為最小權值。對f(ai)進行歸一化處理,得到權值φ(ai),最終得到窗口WD1和WD2的均值μWD1和μWD2為
式中:kstart表示窗口開始位置時刻;L1和L2為WD1和WD2的窗口寬度;W(ai)為窗口中采樣點ai的采樣值。
獲取事件點及對應負荷參數(shù)后,即可進行該突變點的設備狀態(tài)識別,即識別出每次突變后各設備的運行狀態(tài)。 文獻[8,14-15]均采用隱馬爾可夫模型(hidden Markov model,HMM) 進 行 負 荷 識 別,在HMM 的基礎上做了相應的改進,分別提出基于免疫優(yōu)化和增量學習改進的HMM[14]、可加因子HMM[15]以及多參量HMM 算法[8]。然而3 種方法均未進行前期的事件識別操作, 每個采樣點均需要進行狀態(tài)識別,算法運行負擔加大。 對此本文在識別負荷事件的基礎上,采用有功功率和電流電壓相位差兩個參量,并以每個設備各內部狀態(tài)在每個時間段的出現(xiàn)概率作為權值帶入到算法中,提出基于加權雙參量HMM 的負荷狀態(tài)識別方法。 將事件點負荷參數(shù)帶入HMM 中, 獲取各狀態(tài)組合的概率并通過負荷各狀態(tài)出現(xiàn)概率作加權處理,找出最大概率對應狀態(tài)組合即為該事件發(fā)生后各設備的狀態(tài),最終實現(xiàn)負荷識別的目的。
HMM 作為典型的機器學習模型在模式識別等領域得到了廣泛的應用。在HMM 模型中,主要有以下幾個概念:隱藏狀態(tài)集合Q,觀測集合V,狀態(tài)序列I,觀測序列O,狀態(tài)轉移矩陣A,觀測概率矩陣B以及初始概率分布向量C。
在HMM 中,采用三元組λ=(A,B,C)表示一個HMM 模型。在預測模型中,通常采用Viterbi 算法對隱藏狀態(tài)序列I 進行解碼。在給定了λ=(A,B,C)及觀測序列O 后,即可解碼出觀測序列O 對應的狀態(tài)序列I。 其過程如下:
1) 需要進行局部狀態(tài)的初始化
4) 當遞推至δtmax和ψtmax后,通過ψt(i)回溯每個ot對應的狀態(tài),其中t=tmax-1,tmax-2,…,2,1。 最終得到狀態(tài)序列I=(i1,i2,…,itmax)。
實際運行中,很多設備比如冰箱存在關機、待機、制冷等多個工作狀態(tài),需要確定每個設備的狀態(tài)數(shù)。 本文采用PMF 方法[16]進行設備狀態(tài)數(shù)的確定。
在PMF 中,通過統(tǒng)計各設備有功功率可能存在的取值的概率來確定設備狀態(tài)數(shù)。 公式如下:
式中:η 為設備有功功率為l 的概率;Pmax為設備最大的有功功率取值。
在獲取設備狀態(tài)數(shù)時,認為設備狀態(tài)可由PMF的峰值來確定。當出現(xiàn)η(l)-η(l-1)>0 且η(l)-η(l+1)<0 時,即認為P=l 為設備的一個狀態(tài),且l 為該狀態(tài)下設備的有功功率取值。 賦予設備每個狀態(tài)一個索引值,其中包括設備的關閉狀態(tài),索引值為“1”即l=0。
通過PFM 方法分別獲取各個設備的狀態(tài)數(shù)并賦予各狀態(tài)索引值。即可獲取隱藏狀態(tài)集合Q 中的各狀態(tài)組合
式中:S 為當前的設備隱藏狀態(tài)組合;k(n)為第n 個設備的狀態(tài)索引,對應設備的內部狀態(tài)。
隱藏狀態(tài)集合Q 即由設備狀態(tài)組合S 組成,其組合S 的總數(shù)表示為
式中:N 為設備總數(shù);K(n)設備n 的內部狀態(tài)總數(shù)。例如, 當存在4 個設備, 各設備內部狀態(tài)數(shù)分別為4,5,2 和7。則組合S 的總數(shù)num(Q)=4×5×2×7=280個。
關于狀態(tài)轉移概率矩陣Anum(Q)×num(Q),aij表示從狀態(tài)i 轉移到狀態(tài)j 的概率。通過計算狀態(tài)i 轉換為狀態(tài)j 的次數(shù)并通過從狀態(tài)i 轉換所有狀態(tài)的總數(shù)進行歸一化,以最大似然準則估算aij
式中:Dij是從狀態(tài)組合i 到狀態(tài)組合j 的轉變數(shù);num(Q)為狀態(tài)總數(shù)。由于該算法是在檢測到變點后進行,認為不存在狀態(tài)沒有改變的情況,即矩陣A對角線上的值全部設為0。
同理,也可以得出各種狀態(tài)組合下對應各觀測值組的概率矩陣Bnum(Q)×num(V)。
式中:?mk為設備內部狀態(tài)k 在第m 個時間段內出現(xiàn)的概率;Fmk是在第m 個時間段內設備內部狀態(tài)k出現(xiàn)的總數(shù)。
在進行狀態(tài)識別時即采用Viterbi 算法獲取設備的狀態(tài)組合。 不同的是,在計算δ 時,由于觀測值序列對應為事件發(fā)生后的負荷參數(shù),即認為當前狀態(tài)組合只與前一狀態(tài)組合有關,且所有觀測值之間相互獨立,只與生成它的狀態(tài)組合有關。 即
狀態(tài)序列I 及觀測值序列O 均只包含當前事件和前一事件相關參數(shù)。 當檢測到事件發(fā)生,即可得到該時刻的觀測值組ot,并列入觀測序列O=ot-1,ot)中。 HMM 通過觀測值ot,結合每個設備各內部狀態(tài)在每個時間段內出現(xiàn)的概率?計算當前事件后處于不同狀態(tài)組合的最大概率δt:
式中:?mk(n)表示第n 個設備在當前狀態(tài)組合為j,自身內部狀態(tài)為k,本次事件發(fā)生時間段為m 的情況下的出現(xiàn)概率;aij為從狀態(tài)組合i 轉移到狀態(tài)組合j的狀態(tài)轉移概率;bj(ot)為觀測值為ot時隱藏狀態(tài)組合為j 的概率。
最大的δt對應的隱藏狀態(tài)組合即為本次事件后各設備狀態(tài)的組合。 通過狀態(tài)組合即可獲取每個設備的狀態(tài)信息,實現(xiàn)負荷識別的目的。
本文采用ECO(electricity consumption & occupancy,ECO) 數(shù)據集對算法進行驗證。 該數(shù)據集以1HZ 的頻率收集了瑞士6 個家庭歷時8 個月的總負荷以及各用電設備參數(shù)。 包含功率、電流、電壓、相位差等數(shù)據。
選取該低壓臺區(qū)其中一戶家庭某一周的總負荷數(shù)據進行算法驗證。 對該周用戶負荷事件進行統(tǒng)計并采用基于雙滑動窗的MK 變點檢測方法進行負荷事件識別。 計算事件識別方法的精確率P 及準確率E式中:TP表示模型判斷結果為正例, 且實際上判斷結果為正確, 即真正例;TN表示模型判斷結果為負例,且實際上判斷結果為正確,即真負例;FP表示模型判斷結果為正例, 但實際上判斷結果為錯誤,即假正例;FN表示模型判斷結果為負例, 但實際上判斷結果為錯誤,即假負例。
選取該低壓臺區(qū)其中一戶家庭某一天的總負荷數(shù)據進行NILM 算法驗證。 圖2 為家庭該天的12時至14 時的總有功功率曲線, 通過統(tǒng)計可知該時間段內實際發(fā)生了14 次事件。
對該時間段內的設備事件進行監(jiān)測。 在進行窗口檢測的過程中, 通過得到的UF 與UB 曲線及時的確定窗口內是否發(fā)生負荷事件以及其確切的時間,并在監(jiān)測到事件后進入設備狀態(tài)識別階段。
通過基于雙滑動窗的MK 變點檢測的算法,對圖2 整個時間段的負荷數(shù)據進行事件檢測,檢測出事件數(shù)為14 個,分別發(fā)生在以下時刻:12:17:29,12:35:41,12:48:18,12:56:49,13:09:06,13:10:48,13:15:31,13:36:43,13:37:03,13:54:06,13:57:00,13:57:41,13:58:14,13:58:36。 這與實際的設備啟停事件發(fā)生時刻幾乎一致。 在圖3 中分別取第46 098 s,第44 249 s 的事件對應窗口進行分析。
圖2 家庭1 某時間段總負荷有功功率曲線圖Fig.2 Family 1 total load active power curve for a certain period of time
圖3(a)的UF 和UB 曲線存在大于0 的交點,且交點在臨界線之間, 即在交點前一時刻出現(xiàn)了功率突增的情況;圖3(b)的兩條曲線出現(xiàn)了小于0 的交點,且交點在臨界線之間,表明在交點前一時刻出現(xiàn)了功率突減的情況,這與實際情況完全吻合。
圖3 MK 變點檢結果Fig.3 MK change check result
上文已驗證基于雙滑動窗的MK 變點檢測算法的先進性, 在此基礎上進行基于加權雙參HMM的設備狀態(tài)識別算法驗證。 以家庭1 連續(xù)180 d 的負荷數(shù)據作為統(tǒng)計數(shù)據,在該時間段里,待識別設備包括冰箱1、水壺、洗衣機、冰箱2、臺式電腦和照明6 個設備。 在此基礎上,以統(tǒng)計天以外的負荷數(shù)據作為驗證數(shù)據進行算法驗證。
將本文提出的MK-WHMM 算法與孫毅[14]中的IA-IL-HMM 算 法、Bomfifli[15]提 出 的AFHMM 算 法以及基于k-means 的NILM 算法進行對比, 分別從狀態(tài)識別準確率和有功功率平方誤差兩個方面進行算法性能比較。兩種性能指標如式(18)式(19)所示。
式中:RS為狀態(tài)識別準確率;num(ST)為正確識別狀態(tài)數(shù);num(SF)為錯誤識別狀態(tài)數(shù)。
式中:RPE為有功功率平方誤差;Pt為t 時刻設備實際有功功率;P 為t 時刻算法估計設備有功功率。
如圖4 和圖5 分別為4 種NILM 算法對家庭1的冰箱1、水壺、洗衣機、冰箱2、臺式電腦以及照明設備的狀態(tài)識別精度及有功功率平方誤差對比。
由圖4 可知,在對該家庭的6 個用電設備進行NILM 算法識別時, 本文提出的方法狀態(tài)識別精度均高于其他3 種方法,較其他3 種算法在負荷狀態(tài)識別上更具有優(yōu)勢,且對于冰箱1 和冰箱2 兩個負荷特性較為相似的設備以及照明設備等負荷較小的設備同樣可以進行有效的識別。
圖4 家庭1 的設備狀態(tài)識別準確率對比Fig.4 Comparison of device status recognition accuracy rate of Family 1
在圖5 中,除水壺和照明設備的功率平方誤差較其他3 種算法具有優(yōu)勢,其他4 個設備的功率平方誤差較文獻[14-15]的方法更大。 分析可知,這4個設備均為多狀態(tài)或者負荷波動頻繁的設備,本文算法旨在檢測到負荷事件后進行負荷狀態(tài)識別,這樣大大減小了負荷狀態(tài)識別的負擔,但設備在同一狀態(tài)下負荷功率保持為一個定值,忽略了設備自身的負荷波動,從而增加了有功功率平方誤差。 而文獻[14-15]跳過負荷事件檢測這一步,直接通過對每一個采樣點都進行一次HMM 負荷狀態(tài)識別, 使得負荷功率更加接近實際, 但同時也增加了HMM 狀態(tài)識別的負擔。綜合各方面因素,本文NILM 算法較另外3 種算法具有一定的先進性。
圖5 家庭1 的設備有功功率平方誤差對比Fig.5 Comparison of the square error of the active power of the equipment of Family 1
在此基礎上,隨機選擇除家庭1 外任意兩戶居民,以設備狀態(tài)識別準確率進行兩個場景的算法性能比較,結果如表1 和表2 所示。
表1 場景1 設備狀態(tài)識別準確率對比Tab.1 Comparison of device status recognition accuracy rate of Scenario 1%
表2 場景2 設備狀態(tài)識別準確率對比Tab.2 Comparison of device status recognition accuracy rate of Scenario 2%
由表1 和表2 可見, 本文提出的NILM 算法能夠適應不同的場景,且相比于其他3 種方法效果明顯。 根據以上驗證可知通過本文提出的NILM 算法可以實現(xiàn)對居民用戶內負荷進行分解。
本文將NILM 具體分為負荷事件識別和負荷狀態(tài)識別兩個部分。
1) 采用基于雙滑動窗的MK 變點檢測算法進行負荷事件識別, 同時在HMM 的基礎上以每個設備各內部狀態(tài)在每個時間段的出現(xiàn)概率作為加權值, 提出基于加權雙參量HMM 的負荷狀態(tài)識別方法。
2) 通過驗證,結果表明該NILM 算法能夠及時有效地識別出用戶內各設備的運行狀態(tài)。 為后期與IEC61850 結合的低壓用戶用電信息通信提供技術支撐,同時為今后基于NILM 的相關研究提供參考。