陳張平, 李 真, 施永濤, 鄭小青, 屈雷濤
(杭州電子科技大學自動化學院,杭州 310018)
當前,智能用電是連接電網側與用戶側實現智能電網“網-荷”交互服務體系的重要組成部分,對整個電網的高效、經濟的運行和未來電網建設與規(guī)劃產生具有較大影響[1]。用戶用電負荷監(jiān)測是實現智能用電的首要環(huán)節(jié),負荷監(jiān)測技術通過對用戶總負荷數據采樣與分析,監(jiān)測用戶每一種電器的詳細運行狀態(tài),以獲得電能消耗情況和用電行為等數據信息。
目前,常用的監(jiān)測方法過于依賴大量歷史數據及強計算能力設備,NILM平臺搭建成本較高,且識別準確率不夠穩(wěn)定,難以應對現實中的強干擾。為解決上述問題,本設計基于高頻電信號采集裝置,搭建網絡數據傳輸平臺,利用孤立森林檢測法來標定電氣事件起止時間,減少噪聲,提高事件檢測準確率;對所獲取的事件進行時頻域特征提取,并采取數據降維方法進一步減少事件識別所需的特征量,在減少計算壓力的同時提高不同類別負荷區(qū)分度,從而間接增加識別準確率;利用LSTM網絡進行訓練和負荷識別,該網絡針對序列信號特征識別具有顯著優(yōu)勢;最后將結果通過GUI界面進行可視化[2-3]。
非侵入式負荷在線監(jiān)測系統的整體實現思路為:通過高比例互感器,利用高采集頻率電信號采集裝置,從總電路中獲取負荷運行時所產生的電信號波形。采集到用戶的電信號數據后,通過網絡數據傳輸平臺傳入云服務器進行數據存儲,并通過數據分析模塊中的事件檢測、特征提取、事件識別單元,最終識別所運行的電氣設備,并將結果展示于可視化界面[4]。總體方案結構圖如圖1所示。
圖1 在線監(jiān)測系統總體方案結構示意圖
本設計所需的NILM采集裝置需要有高頻的數據采集模塊、高效率的數據傳輸模塊以及高精準數據解析模塊。系統硬件結構示意圖如圖2所示[5]。圖中,數據采集模塊需要配置1個高頻采樣模組,且為了提高采集裝置的適用性,其采集頻率可以在一定范圍內改變(0.1~20 kHz),同時加裝強抗干擾組件,令采集到的波形信號具有更高的穩(wěn)壓精度和良好的動態(tài)特性,減少數據受噪聲影響程度。為了安全考慮,配置一個高比例((2 000~4 000)∶1)[6])的電信號互感器,避免因誤觸造成的觸電。
圖2 系統硬件結構示意圖
數據傳輸模塊需要配置網絡傳輸模組,提高對采集數據的傳輸速率,減少線材成本,將采集到的電信號數據通過無線傳輸至數據接收機。同時,為了保證數據傳輸有效性,建立確定的私有通信協議,且可通過網絡指令實時修改串口參數(包括波特率、起始位、檢驗位、終止位等)[7-8]。
除了能實現直采電流、電壓、剩余電流數據外,還添加數據解析單元,從而獲得對應時刻的功率因數、負荷率、電壓波動、電流/電壓諧波參數,為之后的數據挖掘打下堅實基礎。
3.1.1 改進孤立森林算法
改進孤立森林算法是在原有孤立森林算法上改進異常值定義以及最終對是否異常的判定,原本的孤立森林算法通過循環(huán)足夠多的次數進行數據點深度收斂,結合指數函數來獲取一個點的異常程度,這樣的會導致算法進程慢,還會產生一個是否收斂的判別問題,本設計將每次形成孤立數的深度倒數作為異常值,同時在執(zhí)行程序有限次后,將每次相同數的異常值累加形成最后的異常值指標。相較于原本算法的指標,本設計程序執(zhí)行時間大大縮短,且將原來判斷是否收斂的問題轉化為發(fā)散程度的問題,避免了判斷的問題[9]。
步驟1將電流的200個樣本作為樣本集,包括采樣點,即時間信息、電流幅值等信息。
步驟2設置合適長度的前、后窗口用于提取數據,前窗口為變長度窗口,用于提取前窗口內單個數據樣本;后窗口為固定長度窗口,用于提取固定長度的數據樣本即前窗正常推進時設置為1個單位;檢測到異常時,長度應設置為小于第2次事件投切來臨的區(qū)間長度,同時應考慮存在電網波動,原則上高于4個單位,本例設置為6個單位,后窗作為采集穩(wěn)態(tài)數據的窗口,長度應該大于前窗長度,同時長度應設置為小于第2次事件投切來臨的區(qū)間長度。
步驟3將前窗中被選中的數據樣本與后窗數據樣本集混合,通過采用改進孤立森林算法判斷出異常的點,具體步驟為:
Step1提取前窗和后窗中每個電流數據樣本的幅值,去除時間信息后混合。
Step2在單次執(zhí)行程序中,多次在最大、最小幅值之間取隨機值并記錄下隨機值,直到最大幅值與隨機數,或者最小幅值與隨機數之間、或者隨機數之間只存在1個幅值樣本,記為孤立出一個點,此時生成了的隨機數的個數作為前窗中被選中的數據樣本在后窗數據內的劃分深度,取劃分深度的倒數作為異常值,表征前窗中被選中的數據樣本較于后窗數據的異常程度,實現示例見圖3。第1步將所得前后窗數據混合得到數據集,并將數據集中的最大最小值確定為隨機取點的區(qū)間邊界;第2步在所確定區(qū)間內隨機取點,如圖中,中點1被邊界與隨機取點“孤立”,則得到點1的劃分深度為1;第3步同樣在所確定區(qū)間內隨機取點,如fi中點2被第1次隨機取的點與第2次隨機取的點“孤立”,則得到點2的劃分深度為2,重復上述步驟直到劃分的點達到設定值停止,并將劃分深度的倒數作為異常值記錄至異常表中。
圖3 孤立森林單次執(zhí)行任務示意圖
Step3設定合適孤立點數即停止該次程序。
Step4執(zhí)行該程序有限次,將有限次被孤立出相同的點的異常值相加得到異常值排序表。
Step5根據異常值排序表,標記異常點。
Step6若前窗數據未被標記成異常點,則前窗保持一個單位長度,否則前窗變?yōu)樵O定長度,將其中的單個數據樣本依次加入后窗重復進行STEP1~STEP6操作直至前窗內最后一個數據樣本被檢測完。
步驟4根據從前窗依次加入后窗的數據被標記為異常點的個數判斷是否發(fā)生電器投切事件。
步驟5當窗口未檢測到事件投切,則前窗長度變?yōu)?個單位長度,同時前窗后窗向前移動1個單位,當已經檢測出投切事件時,則不再記錄此時前窗及以前的數據,向前形成1個設定長度的后窗以及1個單位長度的前窗進行動態(tài)檢測。
3.1.2 基于改進孤立森林的事件檢測算法
本設計事件檢測采用滑動前后窗口模式,首先設置合適長度的前窗口與后窗口用于提取數據,將前窗中被選中個數據樣本與后窗個數據樣本集混合,通過采用改進孤立森林算法判斷出異常的點,根據從前窗數據中逐個加入后窗的數據點被標記為異常點的個數判斷是否發(fā)生電器投切事件,當窗口未檢測到事件投切,則前窗長度變?yōu)?個單位長度,同時前窗后窗同時向前移動1個單位,當已經檢測出投切事件時,則不再記錄此時前窗及以前的數據,向前形成1個設定長度的后窗以及1個單位長度的前窗進行動態(tài)檢測[10]。算法流程如圖4所示。
圖4 基于改進孤立森林的事件檢測算法流程
如圖5所示,本設計通過事件檢測算法獲取一定長度的負荷啟動前的穩(wěn)態(tài)電流瞬時信息、負荷啟動時電流瞬時信息以及啟動后的穩(wěn)態(tài)電流瞬時信息。假設第i個啟停事件的負荷啟動前的穩(wěn)態(tài)電流瞬時信息為負荷啟動時的穩(wěn)態(tài)電流瞬時信息為負荷啟動后的穩(wěn)態(tài)電流瞬時信息為。運用快速離散傅里葉算法將這兩個時域的穩(wěn)態(tài)電流瞬時信息轉化成頻域的信息,
圖5 特征提取示意圖
式中:N表示每段瞬態(tài)信息所包含的所有點數。
基于電信號的線性疊加性,將啟動后穩(wěn)態(tài)瞬時信息頻域幅值序列減去啟動前穩(wěn)態(tài)瞬時信息頻域幅值序列得到單負荷特征序列作為第i次負荷啟停時的頻域特征。
同時將負荷啟動時瞬時電流信息取一定周期T進行瞬時電流有效化,得到有效電流序列作為時域特征:
從本設計所提取到的負荷啟停特征來看,不管是時域特征STi還是頻域特征SFi都是一維序列,所以本設計采用針對長序列特征識別適用性強的長短期記憶網絡(Long Short-Term Memory,LSTM)作為主識別網絡。
傳統的循環(huán)神經網絡(Recurrent Neural Network,RNN)在處理特征值為序列的問題時具有優(yōu)勢,但是存在當神經層大量增加時會出現梯度消失和梯度爆炸的問題,所以對于長序列問題的處理有一定的局限性,LSTM是一種具有記憶功能的特殊循環(huán)神經網絡,通過引入記憶單元以及遺忘門,選擇性遺忘一些當下信息,同時又記住以往的一些信息克服梯度消失和梯度爆炸的問題。
為了充分利用所提取的時頻域信息,分別針對時頻域特征搭建LSTM網絡,并將兩者的最終輸出特征通過一個全連接層來進行特征融合,提高了不同類別負荷的類間距離,縮小類內距離,從而提高負荷識別成功率[11]。最終所搭建的網絡結構圖如圖6所示。
在建設生態(tài)文明已成為全球共識,旅游業(yè)也壯大的時代背景下,洞庭湖區(qū)發(fā)展選擇旅游業(yè)發(fā)展路子,是明智之舉。洞庭湖的發(fā)展價值有多方面體現,濕地旅游業(yè)一定是發(fā)展中污染最小、且收益主要來自文化,是深遠的。而建設生態(tài)經濟區(qū)旅游業(yè),必須始終堅持生態(tài)優(yōu)先。洞庭湖資源豐富多樣,價值很大,而此文的思考卻是其很微小的一個方面,甚至還存在研究不夠全面,邏輯些微欠缺的問題。湖區(qū)發(fā)展首先要集合力量,推動旅游業(yè)的建設發(fā)展;落實關鍵要抓項目,建設最終都要落到具體的項目上,是最重要最有效力的支撐;最后發(fā)展的終極目的在于提高人民群眾的生活水平和幸福指數。
圖6 識別網絡結構圖
將所需硬件設備搭建完成后,首先對數據傳輸平臺進行調試:①配置好高頻電信號采集裝置的設備號、采集數據類型、默認地址、網絡接收IP、數據傳輸目標IP、數據傳輸協議等。②實現數據接收軟件,并根據傳輸數據的設備號來進行數據區(qū)分,同時為了后期獲取各種不同電器的特征數據庫,數據接收軟件可以根據所輸入的電器名字來進行自動分類存儲。如圖7所示,是數據接收與存儲的效果展示。
圖7 數據接收與存儲效果展示
在獲取到足夠多的不同負荷正常運行啟停的電信號數據后,利用這些數據實現事件檢測算法,下面以電吹風為例說明算法實現過程:
以檢測單電器啟停、狀態(tài)轉換識別為例,采用Matlab軟件進行算法實現。吹風機共依次進行停機至冷風一檔、冷風一檔至冷風二擋、冷風二擋至熱風二擋、熱風二擋至熱風一檔、熱風一檔至停機5個狀態(tài)。
步驟1將采集到的電流瞬時值轉化為有效值。
步驟2設置正常推進時前窗長度設置為1個單位;檢測到異常時,長度應設置為小于第2次事件投切來臨的區(qū)間長度,同時應考慮存在電網波動,原則上高于4個單位,本例設置為6個單位,后窗作為采集穩(wěn)態(tài)數據的窗口,長度應該大于前窗長度,同時長度應設置為小于第2次事件投切來臨的區(qū)間長度,本例設置為30個單位。
步驟3將前窗中被選中的數據樣本與后窗數據樣本集混合,通過采用改進孤立森林算法判斷出異常的點。
步驟4根據從前窗依次加入后窗的數據被標記為異常點的個數判斷是否發(fā)生電器投切事件,本例以6個單位的后窗中的5個數據都被標記為異常點則表示發(fā)生電器投切事件為例。
圖8 事件檢測效果(吹風機樣例)圖
最后,對比算法檢測結果與人眼檢測結果,本設計所采用的算法針對實驗中所采用的八類電器而言,事件檢測成功率分別為:吸塵器99.6%,微波爐99.3%,掛燙機99.8%,電磁爐99.1%,電飯鍋99.0%,電熱水壺99.8%,電風扇99.2%,電吹風99.0%。
為了提高識別算法的準確度,需要建立常用負荷數據庫。本設計選取了8類常用電器:吸塵器、微波爐、掛燙機、電磁爐、電飯鍋、電熱水壺、電風扇、電吹風,通過采集它們正常使用時的電信號數據,并利用事件檢測算法獲取每種電器至少1 000次的啟動、停止事件,即得到包含8 000段啟停事件的總樣本庫,之后,根據本設計前文所述的時頻域特征提取方法,對應提取到8 000段啟停事件的頻域特征SFi(i=1,2,…,8 000)和8 000段啟停事件的時域特征STi(i=1,2,…,8 000)[12],將這16 000個特征樣本庫作為本設計負荷識別的數據庫。
在獲取到樣本庫后,利用TensorFlow框架,基于圖6搭建LSTM網絡及最終全連接層,將樣本庫中的90%的樣本作為訓練集輸入到本設計網絡中進行訓練,并將剩下的10%的樣本作為測試集輸入到訓練好的模型中進行測試,最終測試集的負荷識別準確率高達98.7%,滿足在線負荷識別的精度要求。此外,還選取了7種電器(上文中吸塵器和電風扇比較相近,不做比較)與RNN網絡進行精度及收斂速度進行比較[13],最終結果如圖9、10所示。結果證明,LSTM網絡不僅有著更高的識別精度,同時其收斂效果優(yōu)于RNN網絡。
圖9 LSTM網絡與RNN網絡預測結果對比
圖10 LSTM網絡與RNN網絡收斂速度對比圖
在實現上述步驟后,最后便是將上述內容進行整合,實現負荷在線檢測系統。非侵入式負荷在線監(jiān)測系統的工作步驟為:通過電信號數據接收軟件,從網絡中不斷獲取高頻采集器所發(fā)送過來的數據包并進行解包及數據讀取,之后利用事件檢測軟件來進行判斷是否產生了電器啟停;若否,則丟棄所得數據;若是,則將所獲數據傳入特征提取軟件中進行時頻域特征解析,之后將所得特征傳入訓練好的網絡模型中進行電器預測,并將結果通過GUI界面進行可視化[14]。
本文結合高頻電信號采集器、網絡傳輸平臺搭建了非侵入式負荷在線監(jiān)測系統,該系統的應用場景為電網公司可在不進入用戶生活空間的前提下,僅通過電網總線提取到的電信號便可以監(jiān)測用戶的電器使用情況,同時該系統也可以為用戶提供更詳細的電器使用情況,提高用戶的節(jié)能意識。從實驗結果看出,所實現的基于改進孤立森林的事件檢測算法效果很好,檢測成功率達99%;此外,充分利用了所采集到的高頻電信號數據,相比于常見的僅利用時域特征的算法,同時利用了時頻域特征,在提高負荷類間區(qū)分度的前提下,算法的訓練時間也沒有顯著增加。最終測試表明,所采用的深度學習網絡結構的負荷識別準確率達98%,且識別時間很短,可以實現實時在線監(jiān)測[15]。