侯艾君,王永生 ,顧博川,李曉楓,孫 毅
(1.廣東電網(wǎng)有限責(zé)任公司 電力科學(xué)研究院,廣州 510080;2.東南大學(xué) 電氣工程學(xué)院,南京210096)
隨著智能電網(wǎng)的發(fā)展,家庭用電負(fù)荷的分析開(kāi)始變得更為重要,不僅用戶(hù)能獲得家庭用電信息,用電部門(mén)也能通過(guò)提高用電負(fù)荷預(yù)測(cè)的準(zhǔn)確性來(lái)為電力部門(mén)提供統(tǒng)籌規(guī)劃的依據(jù)。這對(duì)于家庭能耗評(píng)估和節(jié)能策略的研究具有指導(dǎo)意義[1]。
根據(jù)方式的不同,負(fù)荷分解可分為侵入式負(fù)荷分解和非侵入式負(fù)荷分解。侵入式分解在戶(hù)內(nèi)的用電器上安裝負(fù)荷檢測(cè)裝置,而非侵入式分解NILM(non-intrusive load monitoring)則是在進(jìn)戶(hù)前的總線(xiàn)端安裝檢測(cè)裝置,通過(guò)用戶(hù)的總負(fù)荷消耗預(yù)測(cè)每個(gè)用電器的能耗。NILM無(wú)需安裝大量傳感器、測(cè)量裝置,可以降低購(gòu)買(mǎi)、安裝和維護(hù)NILM系統(tǒng)硬件的成本,是未來(lái)負(fù)荷分解的發(fā)展熱點(diǎn)之一[2]。
為了提高NILM預(yù)測(cè)的精度,國(guó)內(nèi)外已陸續(xù)提出各種不同的算法[3-4]。其中,隱馬爾可夫模型HMM(hidden Markov model)在分析時(shí)序問(wèn)題上,具有非常大的優(yōu)勢(shì),因此被廣泛用于模擬電器的能耗序列,從而應(yīng)用于NILM領(lǐng)域。若將每個(gè)電器視作一條隱馬爾可夫鏈,則模型被稱(chēng)為因子隱馬爾可夫模型FHMM(factorial hidden Markov model)。 HMM 的許多其他的改進(jìn)形式也被應(yīng)用于NILM領(lǐng)域[5],如隱半馬爾可夫模型HSMM(hidden semi-Markov models)和條件隱馬爾可夫模型CHMM (conditional hidden Markov model)。
另一方面,若將電器的工作曲線(xiàn)視作信號(hào),則在建立模型之前還涉及到對(duì)信號(hào)的預(yù)處理。濾波作為最常見(jiàn)的預(yù)處理方式,能快速濾去噪聲,使模型能快速準(zhǔn)確地讀取到信號(hào)的特征而不受冗余部分的影響。故在此,提出了基于濾波信號(hào)預(yù)處理、因子隱式馬爾可夫模型算法的非侵入負(fù)荷分解的方法。
隱馬爾可夫模型HMM是一個(gè)生成概率模型,它由一串無(wú)法直接被觀測(cè)到的隱藏序列與一串能被直接觀測(cè)到的、由隱藏序列產(chǎn)生的變量序列構(gòu)成。其中,隱藏序列是一組馬爾可夫鏈,而它能被可觀測(cè)序列間接觀察到。
馬爾可夫鏈?zhǔn)且唤M具有馬爾可夫性質(zhì)的離散隨機(jī)變量的集合。給定一隨機(jī)變量序列X,若X滿(mǎn)足性質(zhì)
則稱(chēng)其為馬爾可夫鏈。
HMM的參數(shù)共有3個(gè):π為馬爾可夫鏈的初始概率向量;A為前一個(gè)隱藏狀態(tài)轉(zhuǎn)變到后一個(gè)隱藏狀態(tài)的概率,即轉(zhuǎn)移矩陣;θ為給定某一隱藏狀態(tài)時(shí)觀測(cè)數(shù)據(jù)的概率分布,即發(fā)射概率分布。對(duì)任意的HMM 模型,只要給定參數(shù)(A,π,θ),則模型唯一確定。
若模型中只有一條馬爾可夫鏈,則所有的觀測(cè)狀態(tài)都由這一條馬爾可夫鏈產(chǎn)生。然而在NILM問(wèn)題中,會(huì)有不同的電器在同時(shí)工作。又因?yàn)槊恳环N電器在一段時(shí)間內(nèi)的功率消耗序列均可看做一段時(shí)序列,所以實(shí)際能觀測(cè)到的序列(總功率消耗)是由多條馬爾可夫鏈共同產(chǎn)生的。FHMM示意圖如圖1 所示。 圖中,ai,bi,ci均為隱藏變量;oi為總的觀測(cè)變量;i為時(shí)刻,i=1,2,…,5。 可以看出,每一時(shí)刻觀測(cè)量oi都是由3個(gè)隱藏狀態(tài)共同產(chǎn)生的。
圖1 FHMM示意圖Fig.1 FHMM schematic
由圖可見(jiàn),針對(duì)需要解決的這一特定的實(shí)際問(wèn)題,F(xiàn)HMM更容易模擬分解能耗的實(shí)際情況。在FHMM中,隱藏的馬爾可夫鏈有多組,而被直接觀測(cè)到的數(shù)據(jù)則由所有的隱馬爾科夫鏈所產(chǎn)生的可觀測(cè)量疊加而成。
分解能耗的需求應(yīng)由FHMM完成。更具體地說(shuō),基于時(shí)間序列之上,每一個(gè)電器都是一組獨(dú)立的馬爾可夫鏈,而每一特定時(shí)間t非侵入電表所觀測(cè)的用戶(hù)總能耗,即為全部馬爾可夫鏈所產(chǎn)生能耗的疊加。
(1)單電器模型建立
在開(kāi)始分解總電表數(shù)據(jù)前,先對(duì)模型進(jìn)行訓(xùn)練,而這里的訓(xùn)練方式即對(duì)一段時(shí)間內(nèi)捆綁每一個(gè)電器的電表數(shù)據(jù)進(jìn)行學(xué)習(xí),也因此,這種學(xué)習(xí)方式也被稱(chēng)作監(jiān)督式學(xué)習(xí)。在學(xué)習(xí)過(guò)程中,針對(duì)每一個(gè)電器建立一個(gè)獨(dú)立的HMM。
首先,HMM的隱藏序列所包含的可能狀態(tài)數(shù)量即為電器可能的工作狀態(tài)種數(shù),而可觀測(cè)量當(dāng)然就是各電器每一時(shí)間的能耗??梢匀斯?duì)電表數(shù)據(jù)進(jìn)行處理,明確指出機(jī)器有多少種運(yùn)行狀態(tài),也可以不進(jìn)行處理,而只確定最多運(yùn)行狀態(tài)數(shù),再使用K均值聚類(lèi)的方法來(lái)總結(jié)出電器運(yùn)行狀態(tài)的種數(shù)。
其次,要選定可觀測(cè)變量所服從的概率分布。又因能耗顯然是連續(xù)性隨機(jī)變量,用正態(tài)分布模型來(lái)模擬發(fā)射概率分布。此時(shí),參數(shù)θ便是正態(tài)分布的均值與方差。
(2)期望最大化算法
期望最大化算法可用向前向后算法實(shí)現(xiàn),其本質(zhì)是根據(jù)觀測(cè)序列使用最大似然估計(jì)來(lái)求得HMM的各個(gè)參數(shù)。若有觀測(cè)序列 O={O1,O2,O3,…,Ot},無(wú)法觀測(cè)到的隱含狀態(tài)序列為I,待求參數(shù)λ=(A,π,θ),某次迭代中參數(shù)值為,則聯(lián)合分布 P(O,I∣λ)
則使得該期望最大時(shí)的參數(shù)λ為
重復(fù)上述迭代過(guò)程,直至λ收斂為止。
(3)參數(shù)合成
現(xiàn)在對(duì)每一個(gè)電器的模型參數(shù)進(jìn)行處理,因?yàn)樵诜纸膺^(guò)程中可觀測(cè)序列為所有電器能耗的疊加值,故在此需要將獨(dú)立的多組馬爾可夫鏈統(tǒng)合成一組馬爾可夫鏈。
對(duì)于轉(zhuǎn)移矩陣A,將不同電器的A依次進(jìn)行克羅內(nèi)克積。克羅內(nèi)科積使得相乘的兩矩陣中的任一元素都能得到配對(duì),這樣也就考慮到了不同電器間不同工作狀態(tài)組合的所有情況。由于不同組的隱藏變量(也就是電器的工作狀態(tài))彼此獨(dú)立,故可以直接相乘得到不同情況疊加后的概率。初始概率向量π的處理方式同轉(zhuǎn)移矩陣。
若對(duì)于電器Q1與Q2,假設(shè)兩電器均只有2種工作狀態(tài)(即開(kāi)啟和關(guān)閉),且其初始概率向量π分別為π1=[π11,π12]和 π2=[π21,π22],則進(jìn)行克羅內(nèi)科積后,得到的新初始概率向量為
對(duì)于狀態(tài)轉(zhuǎn)移矩陣則需考慮更多不同的狀態(tài)轉(zhuǎn)移的組合,故合成得到的新轉(zhuǎn)移矩陣一般非常龐大。
正態(tài)分布均值則對(duì)不同組的任一均值進(jìn)行隨機(jī)組合,并將每一種組合中的各均值相加,得到情況疊加后新的均值。方差的處理方式同均值。
當(dāng)完成訓(xùn)練與參數(shù)合成的步驟后,便可以通過(guò)已知的馬爾可夫鏈參數(shù),即輸入的總電表測(cè)量數(shù)據(jù)和所得到的模型參數(shù),得到概率最大(最可能)的隱藏狀態(tài)序列。
(1)維特比算法
在HMM中,在已知觀測(cè)序列的情況下,一般使用維特比算法來(lái)計(jì)算使得該觀測(cè)序列出現(xiàn)概率最大的隱狀態(tài)序列。即
在馬爾可夫鏈的假設(shè)下,其等價(jià)于
(2)回溯到各電器
得到隱藏狀態(tài)序列后,還需要通過(guò)把每一時(shí)刻的狀態(tài)點(diǎn)(即電器工作狀態(tài)的疊加情況)對(duì)應(yīng)回每一種電器究竟工作在哪個(gè)狀態(tài)。在此無(wú)需進(jìn)行復(fù)雜的分解,而只在前一節(jié)處理參數(shù)的時(shí)候?qū)γ恳唤Mπ進(jìn)行嚴(yán)格的排序,使得處理后新的π中的每一個(gè)元素能與每一種組合情況對(duì)應(yīng)起來(lái)。這樣只要給定任意時(shí)間t的隱藏狀態(tài),都可以回溯到各電器在時(shí)間t的工作狀態(tài)及能耗。至此,分解工作已經(jīng)全部完成。
因?yàn)樵谟涗涬娖鞯墓β市盘?hào)的同時(shí),被記錄進(jìn)的還有因環(huán)境、干擾等因素而產(chǎn)生的波動(dòng)與噪聲,這些噪聲對(duì)于負(fù)荷的辨識(shí)與分解是沒(méi)有益處的。因此需要先對(duì)波形信號(hào)進(jìn)行一次濾波處理。在此采用了一階滯后濾波和維納濾波。
一階滯后濾波采用了將此刻的采樣值與前一時(shí)刻的輸出值加權(quán)相加的方式來(lái)達(dá)到濾波的目的,它適用于消除周期性的噪聲,其表達(dá)式為
式中:α為加權(quán)系數(shù);X(t)為t時(shí)刻的采樣值;Y(t)為t時(shí)刻的輸出值。α越小,濾波輸出更平穩(wěn),但信號(hào)靈敏度越低;α越大,信號(hào)靈敏度越高,但濾波輸出更不平穩(wěn)。在此設(shè)定α=0.3。
維納濾波器是一種線(xiàn)性濾波器,主要用于處理被平穩(wěn)噪聲污染的信號(hào)。維納濾波要求無(wú)噪聲信號(hào)與原始信號(hào)之間的均方誤差最小,即
維納濾波器有著直接輸出完整波形而非零散參數(shù)的優(yōu)點(diǎn),另外,無(wú)論平穩(wěn)隨機(jī)過(guò)程是連續(xù)或離散、標(biāo)量或向量,它都能進(jìn)行處理;在特定的情況下,還易于求出傳遞函數(shù)的顯式解,從而使用簡(jiǎn)單的元器件便能構(gòu)造出維納濾波器,為工程應(yīng)用極大程度地提供了便利。
在試驗(yàn)中使用公開(kāi)數(shù)據(jù)集REDD[6]。REDD共有6戶(hù)數(shù)據(jù),每一戶(hù)數(shù)據(jù)都記錄有測(cè)量總功率消耗的總電表和測(cè)量用戶(hù)各個(gè)電器功率消耗的分電表。REDD的電氣數(shù)據(jù)主分電表單位不同,主電表采用視在功率,采樣頻率為1 Hz;分電表則采用有功功率,采樣頻率<1 Hz。
由于REDD包含有歷時(shí)較長(zhǎng)的主分電表數(shù)據(jù),且電氣種類(lèi)囊括了廚房電熱類(lèi)、微波爐、冰箱等常用家庭電器,故方便用于FHMM的訓(xùn)練與分解。同時(shí),也方便用于比較信號(hào)濾波前后對(duì)負(fù)荷分解效果的影響。在實(shí)際算例中會(huì)統(tǒng)一將采樣頻率降采樣到1/5 Hz。
由于REDD每一戶(hù)數(shù)據(jù)所包含的電器種類(lèi)不盡相同,數(shù)據(jù)所歷時(shí)長(zhǎng)也不同 (第5戶(hù)數(shù)據(jù)點(diǎn)較少),故不可以籠統(tǒng)對(duì)所有用戶(hù)建立一個(gè)FHMM模型。為了更全面地評(píng)估試驗(yàn)效果,應(yīng)選取一戶(hù)建立模型,并且僅挑選這一戶(hù)耗能最大的5種電器來(lái)進(jìn)行訓(xùn)練。這樣,既能涵蓋用戶(hù)日常使用最頻繁的電器種類(lèi),又能減小參數(shù)合成時(shí)生成的矩陣規(guī)模,從而降低計(jì)算的復(fù)雜度。由于第1戶(hù)數(shù)據(jù)點(diǎn)較多,故對(duì)這第1戶(hù)數(shù)據(jù)建立模型,電器則選用微波爐、插座、冰箱、洗衣機(jī)和電燈。
為了方便起見(jiàn),統(tǒng)一按歷時(shí)2∶1的比例來(lái)劃分模型的測(cè)試集,并用之前所有的數(shù)據(jù)來(lái)訓(xùn)練建立FHMM模型。
基于一階滯后濾波與維納濾波的信號(hào)處理方式,通過(guò)試驗(yàn)對(duì)FHMM的辨識(shí)效果做出評(píng)估。試驗(yàn)步驟如下:
步驟1 劃分?jǐn)?shù)據(jù)集。將用戶(hù)數(shù)據(jù)進(jìn)行維納濾波處理,并將功率數(shù)據(jù)降采樣到1/5 Hz。最后,將經(jīng)過(guò)濾波處理與沒(méi)有經(jīng)過(guò)濾波處理的數(shù)據(jù)集按歷時(shí)2∶1的比例,劃分出訓(xùn)練集與測(cè)試集,用于后續(xù)的試驗(yàn)比較。其中,訓(xùn)練集僅包含各分電表的功率數(shù)據(jù),測(cè)試集僅包含主電表的功率數(shù)據(jù)。
步驟2 訓(xùn)練FHMM模型。對(duì)用戶(hù)濾波處理前后的訓(xùn)練集進(jìn)行訓(xùn)練,在每次訓(xùn)練時(shí)先對(duì)參數(shù)賦初值,再使用期望最大化算法迭代至收斂。得到每條因子隱馬爾可夫鏈的參數(shù)后,接著將參數(shù)進(jìn)行合成,并將用作下一步驟的分解使用。
步驟3 分解總負(fù)荷。按照合成完畢的參數(shù)對(duì)用戶(hù)數(shù)據(jù)建立新的隱馬爾可夫模型,輸入訓(xùn)練集對(duì)應(yīng)的測(cè)試集功率數(shù)據(jù),按照維特比算法得到概率最大的隱狀態(tài)序列。根據(jù)步驟2中參數(shù)組合的順序,將每一個(gè)合成鏈的隱狀態(tài)拆解為單個(gè)電器的隱狀態(tài)。
步驟4 根據(jù)事先制定好的評(píng)價(jià)函數(shù)評(píng)價(jià)各個(gè)模型的結(jié)果,比較濾波預(yù)處理對(duì)負(fù)荷分解效果的影響。
試驗(yàn)過(guò)程流程如圖2所示。
圖2 試驗(yàn)流程Fig.2 Flow chart of the experiment
對(duì)分解出的5種電器的功率序列,與其真實(shí)的功率序列進(jìn)行對(duì)比。具體指標(biāo)為,對(duì)比每一個(gè)點(diǎn),判斷電器在那一點(diǎn)的工作狀態(tài)是開(kāi)啟還是關(guān)閉,評(píng)價(jià)指標(biāo)為
式中:yt為時(shí)間t某電器的實(shí)際功耗;y?t為時(shí)間t某電器的估計(jì)功耗。
TP(true positive)即預(yù)測(cè)點(diǎn)和真實(shí)點(diǎn)都為開(kāi)啟;
TN(true negative)即預(yù)測(cè)點(diǎn)和真實(shí)點(diǎn)都為關(guān)閉;
FP(false positive)即預(yù)測(cè)點(diǎn)為開(kāi)啟而真實(shí)點(diǎn)為關(guān)閉;
FN(false negative)即預(yù)測(cè)點(diǎn)為關(guān)閉而真實(shí)點(diǎn)為開(kāi)啟。
式中:Rrecall為召回率;Rprecision為精確率;F1,score為F1分?jǐn)?shù)。
試驗(yàn)結(jié)果見(jiàn)表1~表4。根據(jù)表1結(jié)果繪制的均方根誤差柱形圖如圖3所示。
表1 均方根誤差結(jié)果Tab.1 Results of RMS error
圖3 均方根RMS誤差Fig.3 RMS error
表2 無(wú)預(yù)處理的結(jié)果Tab.2 Results without signal pre-processing
表3 一階滯后濾波器預(yù)處理后的結(jié)果Tab.3 Results after pre-processing with first order lag filter
表4 維納濾波預(yù)處理后的結(jié)果Tab.4 Results after pre-processing with Wiener filter
可以看出,F(xiàn)HMM模型在波形簡(jiǎn)單、狀態(tài)變化單一的電器如電燈上表現(xiàn)得更加優(yōu)異,但在其它的幾種波形復(fù)雜、狀態(tài)變化更加多變的電器上則表現(xiàn)得稍差。這是由于FHMM是基于電器隨時(shí)間工作狀態(tài)轉(zhuǎn)變的規(guī)律來(lái)進(jìn)行概率分析的模型,而在洗碗機(jī)這類(lèi)工作模式較多、規(guī)律較難統(tǒng)計(jì)的電器而言則表現(xiàn)得較差。
此外,也可以看出,經(jīng)過(guò)濾波處理過(guò)的信號(hào)模型更容易處理,在負(fù)荷辨識(shí)上得到了更高的準(zhǔn)確率,而維納濾波在除冰箱和微波爐以外的電器上比一階滯后濾波更具有提高準(zhǔn)確率的效果。首先,這證明了濾波預(yù)處理在非侵入負(fù)荷分解的領(lǐng)域上,對(duì)電器信號(hào)有著正面的效果。其次,在較低的采樣頻率下,維納濾波對(duì)噪聲的平滑處理比一階滯后濾波對(duì)周期噪聲的處理更適用于FHMM非侵入式負(fù)荷分解。
基于因子隱式馬爾可夫模型,提出了加入維納濾波進(jìn)行信號(hào)預(yù)處理的改進(jìn)式模型,旨在用FHMM學(xué)習(xí)電器狀態(tài)轉(zhuǎn)移規(guī)律進(jìn)行概率分析的同時(shí),減小信號(hào)中因干擾產(chǎn)生的噪聲,從而使得模型更易學(xué)習(xí)到電器的工作特征。根據(jù)試驗(yàn),選取了一戶(hù)REDD的電器數(shù)據(jù),并按照進(jìn)行濾波與不進(jìn)行濾波的對(duì)比,分別建立模型并評(píng)估負(fù)荷分解效果。試驗(yàn)結(jié)果表明,F(xiàn)HMM對(duì)工作狀態(tài)變化較少的電器分解效果較好,并且濾波對(duì)模型的學(xué)習(xí)能力起到了促進(jìn)作用,維納濾波在多數(shù)電器上比一階滯后濾波取得了更好的效果。