蔡田田,楊英杰,陳 波,鄧清唐
(南方電網數字電網研究院有限公司,廣州 510700)
2021年國務院政府工作報告中指出,要扎實做好雙碳工作,即碳達峰和碳中和行動,通過制定2030年前碳排放達峰方案,達到產業與能源結構升級目標。碳中和需實現碳排放收支平衡[1],其中量化監測跟蹤是非常重要的環節[2]。因此,實現電力負荷監測是推動電力產業碳減排的必由之路[3-5]。電力負荷監測的主要目的是收集和分析用戶電力負荷的電力運行數據,借此獲取詳細且準確的負荷運行狀態[6]。電力供應商則以此為根據,引導用戶合理高效利用電能,通過合理安排負荷設備的使用,實現需求側響應[7]。
電力負荷監測的非侵入測量是一個新的發展方向[8]。該方法在電力用戶的入口電源側安裝測量傳感設備,采集總體電力數據,然后分析這些數據,以感知用戶中每個負荷設備的類型和運行狀態[9]。與傳統侵入式負荷監測相比,非侵入式負荷監測不僅節省了大量傳感監測設備的安裝成本,還有效地減少了設備安裝后運行維護成本[10-13]。
目前,非侵入負荷分解方法可分為規則判斷法、概率模型判斷法和無監督學習算法。具體而言,采用規則判斷的電力負荷事件檢測方法是依據現有標準判斷負荷事件的狀態參數。當電力負荷參數超過規則所設計的閾值時,確定發生負荷事件[14]。此類方法僅適用于負荷設備種類少、工作狀態簡單的應用場景。概率模型判斷法比規則判斷法更具通用性,包括擬合優度GOF(goodness of fit)、廣義似然比GLR(generalised likelihood ratio)[14]及累積和CUSUM(cumulative sum)方法[15]。概率模型的設計過程需要考慮不同的場景,對模型參數進行適配,訓練樣本數據量大,訓練過程復雜,然而工程實際中負荷設備信息往往是未知且無法直接獲取的[18]。基于無監督學習的負載事件檢測方法將不帶標簽的數據進行聚類,省去了模型訓練過程,具有更加廣泛的應用范圍,是近年來被學者們廣泛研究的非侵入負荷分解實現方法[19]。例如杜刃刃等[20]基于穩態特征和改進灰狼優化算法-模糊C 均值IGWO-FCM(improved grey wolf optimization-fuzzy C-means)模糊聚類提出了非侵入式負荷監測方法。然而,基于穩態特征的負荷辨識可采集的特征量少,難以解決相似負荷特征用電設備在總電力信號處的遮蔽現象。在此基礎上,學者們提出了多種基于電力信號暫態特征的負荷識別方法[21-23],均需要通過高頻率的電力信號數據采集來實現,這就為動態非侵入負荷分解方法的實時性帶來了困難。
考慮到動態非侵入算法實時性與適用范圍,本文提出并設計了基于邊緣協同計算的非侵入電力負荷監控系統。在電力輸入側采集用戶的電力數據。針對負荷設備信息未知,采用無監督學習算法對不同負荷種類設備的功率數據進行分解。選取電力數據暫態特征值及諧波特性作為聚類參數,采用K均值(K-means)聚類算法進行實現。考慮邊緣計算資源的約束及算法實時性等需求,采用改進的粒子群優化PSO(particle swarm optimization)算法提高聚類算法實時性能。將負荷分解數據上傳云服務器,最終實現非侵入負荷監測。
邊緣數據分析控制器采集用戶入戶側電力數據,一般包括電壓、電流、有功功率和無功功率等。邊緣數據分析控制系統示意如圖1所示。

圖1 邊緣數據分析控制系統示意Fig.1 Schematic of edge data analysis and control system
入戶總閘控制所有負荷設備電源的通斷,其引出的火線與零線連接各類負荷設備。電壓傳感器從電源端的火線(L)、零線(N)處采集輸入電壓,電流傳感器采集火線上電流,共同生成總的負荷時序數據,再經過AD 轉換模塊(PCA9685)轉換為數字量,通過I2C 總線接口輸入到RASPBERRYPI CM4嵌入式CPU進行計算。
云端服務器對邊緣控制器上傳結果進行分析處理??紤]到云端程序的可移植性,本文采用Docker 技術設計輕量級、虛擬化的云-邊協同任務分配架構,如圖2所示。

圖2 云-邊協同任務分配架構Fig.2 Architecture of cloud-edge cooperative task allocation
任務分配流程如下:首先,邊緣控制器生成任務集合,進而形成任務執行矩陣;然后,根據卸載決策算法收集任務的執行要求和邊緣節點的資源使用情況,得出任務的執行方案;最后,將隊列中全部任務分別發送到本地計算任務集合和云中心計算任務集合。本地計算任務在本地創建容器進行任務計算;云中心計算任務將任務程序代碼、數據和Docker文件打包發送至云中心,計算完成后將結果返回到原邊緣控制器。
假設云-邊架構中包含k個云中心服務器C={C1,C2,…,Ck} 、m個 邊 緣 控 制 器Edge ={Ed1,Ed2,…,Edm} 。邊緣控制器產生n個待處理任務Task ={T1,T2,…,Tn} ,每個任務Tj有6 個基本屬性,分別為計算量wj、執行任務所需最小計算能力fj_min、執行任務所需的CPU 資源cpuj和內存資源memj、任務卸載時所需傳輸數據量dataj和任務允許的最大完成延時tj_max。
任務分配需要綜合考慮任務的時間與資源占用。任務運行總時間和總資源可分別表示為
式中:Tall和Eall分別為所有任務運行總時間和總資源;TED,j和EED,j分別為任務j在邊緣側運行所需時間和資源;TC,j和EC,j分別為任務j在云端運行所需時間和資源;βED、βC表示任務是在邊緣側還是云端執行的分配策略,βED,βC∈{0,1},βED= 1表示任務j在邊緣側運行,此時βC= 0 ,βC= 1 表示任務j在云端運行,此時βED= 0 。
為了實現時間及資源的多目標優化,設計目標函數Q,將多目標優化問題轉換為有約束條件的目標函數Q的最優化問題,即
式中:TED,all、EED,all分別為所有任務在邊緣側運行消耗的時間與資源;TC,all、EC,all分別為所有任務在云端運行消耗的時間與資源;θ1、θ2分別為時間與資源在目標函數中所占權重。
將電力負荷監測的非侵入技術與邊緣數據分析技術結合,是實現云邊協同非侵入負荷監測的常用方法??紤]到大量數據在遠距離傳輸中的能耗損失,為了節省傳感器網絡帶寬資源,首先基于邊緣數據分析的輕量化負荷分解技術在本地采集高頻的電力數據,然后在邊緣控制器側完成后續的計算分析,得出負荷分解結果后再上傳服務器。
基于邊緣數據分析的輕量化負荷分解方法主要包括電力數據邊緣側采集、數據濾波預處理、負荷事件檢測、負荷特征提取和設備負荷信號分解5部分。負荷監測流程如圖3所示。

圖3 負荷監測流程Fig.3 Flow chart of load monitoring
1)數據采集
邊緣數據分析控制器安裝于用戶電源入口處,用以實現本地電力數據采集?;谶吘墧祿治隹刂破鞯臄祿杉椒ǖ膬瀯菰谟冢阂环矫鏈p少了電力傳感設備的開發、安裝和維護的支出;另一方面,用戶只需連通通訊網絡保持邊緣數據分析控制器與實現無創負荷監測功能的終端之間的數據通訊,即可實現用戶的用電負荷數據采集。
2)數據預處理
在傳感器采集電力數據過程中,會產生采樣誤差,如果不對包含采樣誤差的數據進行處理,將會造成負荷分解算法中結果正確率的降低。在監測裝置或傳感器工作時,由于受到傳感器性能、環境條件的影響,使得采樣數據包含有大量噪音信號,嚴重時甚至會引起數據失真。而數據預處理的目的是將采樣誤差與由于負荷設備運行而產生的電力數據較大波動相區別。因此,在邊緣控制器中對采集得到的電力數據進行預處理,常用的數據預處理方法主要有濾波去噪、歸一化數據及異常值識別等[23]。
3)事件檢測
由于負荷設備在穩定運行狀態時具有特定的工作特征,包括電流、電壓、有功功率、無功功率、諧波功率等參數,不同負荷設備可以據此來進行區別。負荷事件是指設備在使用過程中發生的工作狀態改變。當某負荷事件發生時,對應負荷設備的工作特征隨之產生對應變化,最終導致電力入口處電流、電壓信號的變化。事件檢測是根據規定時間內電力數據的變化規律,分析負荷設備的工作狀態變化情況,例如負荷設備打開、關斷、改變工作模式及工作狀態等。
目前,常用的負荷事件檢測方法分為規則判斷法和基于無監督學習的檢測方法兩類[17]。規則判斷法是依據現有標準判斷負荷事件的狀態。例如計算相鄰數據之間功率的變化量,并設置變化量閾值監測,若識別到有越過閾值的變化量信號,則判定有負荷事件發生?;跓o監督學習的檢測方法包括采用卷積神經網絡、圖論聚類法、網格算法進行負荷事件監測。相對于規則判斷法而言,基于無監督學習的監測方法更具普適性。
4)特征提取
負荷特征提取是在負荷事件檢測的基礎上,提取負荷事件發生前后時間序列數據的特征,為負荷分解提供依據??商崛〉呢摵商卣靼妷?、電流變化量、高次電壓諧波、高頻電流分量及電流畸變率等。此外,電力負荷設備在穩定工作階段的電力參數也可作為負荷特征,穩態特征包含有功功率平均值、無功功率平均值、電流平均值、電壓-電流XY圖等。負荷特征提取后存入歷史數據庫,可作為聚類算法學習數據。
5)負荷分解
通過負載分解可以得到設備級負荷運行和用電量信息。在負荷分解環節,通過各種算法建立分解模型[24-25],然后對模型進行求解,最終從電源入口測量得到電力數據中分解出所帶負荷設備的獨立用電量信息。
針對任意負荷設備i,其任意t時刻的負荷特征為
式中,sim(t) 為t時刻負荷設備i處于m工作狀態。由于家用負荷設備的內部運行原理大不相同,故在工作狀態的劃分上存在區別。常用的負荷設備分類方法如下。
(1)ON/OFF 型負荷設備:負荷設備工作狀態包含開(ON)和關(OFF)兩種,例如燈、電熱水壺、加熱器等,該類設備工作狀態較為簡單。
(2)多狀態型負荷設備:負荷設備具有多個穩定運行的工作狀態,且不同工作狀態下具有不同的電力參數工作特征,檢測時需要先對各種工作狀態進行識別,例如空調、微波爐等。
(3)連續變化型負荷設備:在運行工況下,功率可以實現連續變化的狀態(CHANGE),通常不能采用簡單ON/OFF 或者HIGH/LOW(高/低)工作狀態來進行檢測,而需引入額外的特征參數實現檢測的目的,例如電鉆、洗衣機等。
當多個設備同時運行時,總負荷特征的數學模型可以表示為
式中:P(t) 為本地電源入口測量得到的電力負荷數據;N為所有處于用戶側內部的負荷設備數量;e(t)為噪聲或采樣誤差;M(i) 為負荷設備i的工作狀態,M(i)={ }1,2,3 ,例如ON/OFF 負荷型設備有開啟/關閉狀態,而多狀態型負荷設備具有更多種類的運行狀態。由式(5)可知,負荷監測的非侵入測量就是根據本地電源入口測量得到的電力負荷數據P(t) 分解得到各設備的分數據Pim(t) ,通過電力負荷數據分解實現內部詳細負荷狀態的監測。
當多個設備同時運行時,具有相似負荷特征的設備在電壓、電流波形上存在遮蔽問題。負荷聚類特征的選取原則是確保負荷標識的唯一性。為此,可選取多個負荷特征形成負荷特征組,提取各設備負荷特征的差量特征作為負荷印記。定義t時刻差量特征為
式中,Δt為采樣間隔。若采樣間隔足夠小,則相鄰兩個采樣時間可認為只發生一件負荷事件。因此,將同一時刻不同設備負荷特征的辨識問題轉化為任意時刻內單個設備的負荷特征辨識,從而實現家用負荷的分解與辨識。
此外,設備的諧波信息包含著豐富的負荷電力特性。不同家用負荷工作時,其電流經過快速傅里葉變換FFT(fast Fourier transform)可得到明顯的頻譜差異,為負荷的精確辨識提供了技術基礎。因此,本文采用FFT對負荷電流的穩態電流信號進行分解,即
式中:α1、α2、α3分別為一次、二次、三次諧波幅值;θ1、θ2、θ3分別為一次、二次、三次諧波相角。在不同工作狀態下,不同設備的諧波能量具有特定特征,而諧波幅值可以反映諧波能量值,因此選取諧波幅值作為各設備負荷特征印記。以諧波頻率為中心,采用諧波小波變換提取各諧波附近頻域分量,先將諧波分量疊加得到需要提取的頻域信號,再將其諧波逆變換得到需要提取的時域信號,最后將原始信號與提取信號相減,完成信號分解,可以得到設備的運行狀態和用電量信息。
與規則分類方法不同,聚類分析方法是通過最大化同類(族)元素的相似性、最小化非同類元素的相似程度來進行劃分。聚類分析的目的是當電力數據的瞬時峰值、瞬時功率變化量及諧波特征分量發生變化時,將提取的電力數據特征值聚到k類中,再根據聚類結果判斷是否有設備的投切及狀態轉換。
為保證計算結果的實時性,本文以數據流的方式采集電力數據,采樣頻率為5 kHz。當電力數據暫態值變化量超過設定閾值時,則計算此時的聚類特征值樣本,即
式中:l為聚類特征值總數;xi為一系列特征值,包括電壓與電流的峰值、穩態值與瞬時值的變化量、電流頻譜諧波系數值等。
根據K-means 聚類思想,可以得到本文算法的具體步驟如下。
步驟1選擇K個聚類特征樣本,對聚類中心c={c1,c2,…,cK} 進行初始化。
步驟2針對數據集中每個樣本xi,計算其與第k個聚類中心ck的空間距離,即
式中:Lik為樣本xi與第k個聚類中心ck的空間距離;ckn為聚類中心ck在特征值向量n方向上的分量,根據結果選取距離Lik最小的聚類中心,將樣本xi分到所對應的類中。
步驟3針對每個類別αj,重新計算聚類中心ck。
步驟4重復步驟2和步驟3,直到達到設定的評價策略。
選取均方誤差MSE(mean square error)為評價策略,其計算公式為
式中,K為聚類樣本數。MSE 值越小表示聚類效果越好。
對于負荷事件檢測的效果,本文以精確率PR(precision)、召回率RE(recall)作為評價指標。負荷事件檢測為二分類問題,每次只有兩種可能的檢測結果,即發生事件或不發生事件。
精確率和召回率的計算公式分別為
式中:PR 為所有檢測到的事件中正確發生事件的比例,可以反映事件檢測算法的正確率;RE為所有發生事件中被檢測到事件的比例,可以反映事件檢測算法的有效率。引入二分類算法性能評估中常用的混淆矩陣,將檢測結果分為4 類:①實類TP(true posi-tive),表示檢測到負荷事件發生;②假陽性類別FP(false positive),表示檢測到負荷事件發生但實際未發生);③假陰性類別FN(false negative),表示未檢測到負荷事件發生但實際發生;④真陰性類別TN(true negative),表示未檢測到負荷事件發生。
針對K-means 聚類算法計算速度的問題,采用多目標粒子群優化MOPSO(multi-objective particle swarm optimization)算法更新算法,并在此基礎上進行拓展優化。設粒子個數為n,粒子維度為d,權重因子為w,學習因子為s1、s2,粒子位置范圍為[pmin,pmax] ,pmin、pmax分別為粒子運動區間下限和上限。
MOPSO 算法不僅存放了已找出的全局最優粒子,還存放了這些粒子之間的擁擠距離(這里使用歐式距離)。在種群更新前,先計算每個粒子與自己相距最近兩個粒子的距離平均值,并以該值為依據,選擇距離平均值最大的全局最優粒子,將其對應位置設為全局最優位置。
借鑒綜合學習和多策略的思想,提出了改進的多目標粒子群優化算法,對聚類特征輸入變量進行尋優。算法流程如圖4所示,具體步驟如下。

圖4 改進的輕量化PSO 算法流程Fig.4 Flow chart of improved lightweight PSO algorithm
步驟1利用分段Logistic混沌算法,映射粒子種群,實現初始化。在保持粒子種群隨機性的基礎上,在決策空間內盡量均勻分布初始化粒子,從而增強粒子的多樣性,緩解算法早熟現象。分段Logistic混沌映射的數學表達式為
式中,3.54 <μ< 4.00。
首先,隨機選取a0∈(0,1) 并服從均勻分布,作為初次迭代(n= 0)時an的取值;然后,根據α0和式(13),迭代計算α1及之后每個粒子的初始位置,直至達到粒子數量N為止。
步驟2對種群粒子進行更新策略優化。在粒子群迭代過程中引入擾動量,即在算法執行過程中,從外部檔案隨機選擇粒子來増加擾動,最終粒子在決策空間內可生成更多解。粒子速度更新公式為
式中:i表示第i個粒子,1 ≤i≤n;j表示每個粒子的第j維,1 ≤j≤d;k為迭代次數;w為權重因子;s1、s2、s3為學習因子,s1=s2=s3= 1.8 ;r1、r2、r3為0~1之間的隨機數;v(i,j)k為第i個粒子第j維處于第k代時的速度;px(i,j)k為第i個粒子第j維處于第k代時的位置;pb(i,j)k為第i個粒子第j維處于第k代時的個體最優位置;pg(j)k為粒子群第j維處于第k代時的全局最優位置;pc(j)k為粒子群第j維處于第k代時所選擾動粒子的位置,初始為0,迭代計算開始后,從外部檔案中隨機選?。ú荒芎蚿g(j)k相同)。
步驟3全局最優粒子選擇多元化。多元化分為兩種情況:①以25%的概率選取外部檔案中擁擠距離最大的粒子作為全局最優粒子;②記錄外部檔案中每個粒子被選為全局最優粒子的次數,以75%的概率選擇次數最少的粒子作為全局最優粒子。上述對全局最優粒子的不同選擇,實現了種群對最優解附近稀疏區間的更多探索,使最優解的分布更均勻。
REDD 數據集包含北美6 個居民家庭,每個家庭記錄了多至24 個家用電器的單獨用電數據。對上述電壓、電流數據進行分析,以微波爐單獨用電數據為例。圖5 為微波爐獨立運行時電流時序數據??梢钥闯?,在t= 6.0 s 時電流瞬時值發生變化且超過閾值,以t= 6.0 s 時為起點、以電流穩態值4.8 A 為終點觀察數據,得到此時間段數據的聚類特征,即瞬時電流峰值為16.6 A及電流穩態變化量為4.8 A。微波爐在啟動時有電流沖擊效應,這是因為微波爐內風機為感性負荷,啟動時電流較大。在t= 6.4 s時微波爐進行高檔功率狀態與低檔功率狀態切換,電流穩態值從4.8 A 變化到14.3 A,電流穩態變化量為9.5 A,瞬時電流可達20.0 A。

圖5 微波爐獨立運行時電流時序數據Fig.5 Time sequence data of current when microwave oven is independently running
根據電流、電壓時序數據,計算微波爐獨立運行時的有功功率時序數據,對有功功率時序數據進行FFT,得到其頻譜如圖6 所示??梢钥闯?,在f=50 Hz 附近具有較高的信號分量幅值,其為基波幅值α1;在f= 164 Hz及f= 268 Hz處的信號分量峰值分別為3次諧波幅值α3與5次諧波幅值α5。因此,可將基波幅值α1、3次諧波幅值α3與5次諧波幅值α5作為微波爐負荷特征印記進行負荷事件檢測。

圖6 微波爐獨立運行時功率頻譜Fig.6 Power spectrum when microwave oven is independently running
對微波爐不同狀態下的諧波分量進行計量,結果如圖7所示,可以發現,微波爐低檔狀態下,諧波分量比基波分量更高。因此,諧波分量的幅值可作為微波爐運行狀態的判斷依據。

圖7 微波爐不同狀態諧波分量Fig.7 Harmonic components of microwave oven in different states
針對不同種類負荷設備進行算法訓練。在REDD 數據集上選取3 種家用電器進行實驗,包括冰箱、微波爐和洗衣機。采用其中高頻數據集house3的電力數據,包括電流高頻數據與電壓高頻數據。這3種電器具有各自的運行特征,以代表居民家庭的常見電器類型。冰箱是典型的長時周期性運行電器,微波爐運行時間短且功率變化大,洗衣機屬于長時多狀態電器。
根據數據分析得到的瞬時峰值、瞬時變化量及諧波特征值,進而判斷單個負荷設備運行時其開關切換、狀態切換事件。使用負荷設備單獨運行電力數據動態訓練基于群智能K-means 聚類的非侵入分解算法,訓練算法的MSE 收斂結果如圖7 所示??梢钥闯觯捎酶倪MPSO 的K-means 聚類算法收斂更加快速,收斂指標更佳。使用后續電力數據進行算法驗證,結果如表1 所示??梢钥闯觯谌褐悄躃-means 聚類的非侵入分解算法可以準確判斷設備啟停、高低檔切換、功率連續變化,判斷準確率PR高于97.79%,召回率RE高于72.69%。
在某小區共313 戶居民用電入戶處安裝基于RASPBERRYPI CM4開發的邊緣數據分析控制器,以天為單位對電力數據進行連續采集,去除無效數據27戶,對剩余286戶電力數據進行負荷分解,將負荷分解結果上傳服務器。圖8為某戶居民的負荷分解結果。采用基于群智能K-means聚類的非侵入分解算法對電力數據進行處理,得到未知設備的聚類特征值,根據特征值對電力數據進行分析,得到負荷設備事件狀態及發生時刻,在此基礎上對總功率電力數據進行負荷分解,得到3個未知負荷設備的分解功率信號。居民電力數據負荷監控實驗結果如圖9所示。

圖8 經典K-means 聚類算法與基于群智能K-means聚類收斂結果對比Fig.8 Comparison of convergence results between classical K-means clustering algorithm and Kmeans clustering algo-rithm based on swarm intelligence

圖9 居民電力數據負荷監控實驗結果Fig.9 Experimental results of residential power load moni-toring
使用群智能K-means 聚類非侵入分解算法對286戶電力數據進行處理??紤]到不同工況下電力信號幅值對均方根誤差的影響,設定K-means 聚類的評價策略閾值為MSE 變化量連續5 次小于0.02。對群智能K-means聚類算法的收斂迭代次數進行統計,結果如圖10所示。由圖10可知,在區分不同負荷設備運行狀態的基礎上,采用群智能Kmeans 聚類的方法可實現電力數據的動態分解,為非侵入負荷監測的實現提供依據。
本文基于云-邊協同計算架構,在用電側采集用戶的用電數據,選取電力數據瞬時峰值、瞬時功率變化量及諧波特征分量作為聚類特征。根據K-means 聚類算法,通過將動態聚類算法與暫態功率、諧波分量等特征的結合,判斷功率波形對應的負荷操作。為提高聚類算法性能,對PSO算法進行改進,最終提出群智能聚類負荷事件檢測方法,實現了負荷設備開關、狀態變化等事件的動態有效檢測。采用共享數據集REDD 對非侵入的電能監測算法進行驗證,結果表明所提算法能夠有效實現非侵入式負荷監控。