王剛,楊志杰,徐新宇
(國網新疆電力有限公司電力科學研究院,新疆 烏魯木齊 830017)
在電力繳費一體化建設中,需要利用智能電表所采集的大數據進行異常用電定位實現抄核收的一體化和智能化,并借助精準負載預測為電力營銷的模式創新提供數據支持。因此有必要利用智能電表大數據進行隨機負載建模[1-3]。傳統基于測量的負荷建模通常僅限于變電站級別的負載測量,但是智能電表能夠提供15分鐘到一個小時的時間分辨率的單個用戶負載數據,這使得開發更準確的隨機負載模型成為可能[4-5]。
使用智能電表的大數據進行詳細的大規模仿真需要極大的計算成本。除了大數據問題外,高度非線性的復雜用電模式也使得隨機負載建模面臨極大挑戰[6-7]。為此,本文提出一種新的負載建模方法。該方法可簡化數據的復雜性,同時保持數據分辨率,并最大程度地減少線性負載曲線的數量。最后通過試驗對該方法的有效性和優點進行驗證。
所提出智能電表數據建模方法的主要步驟如圖1所示。
數據預處理是去除數據集中的缺失值或零值數據樣本。數據集Y由將近6 000個用戶的每隔半小時的m個用電序列記錄組成。單個用戶的用電量曲線y表示為:
y=[y0(x),y1(x),…,ym(x)]
(1)
式中:ym為在時間點xm上的用電量。設f是y及其導數的向量值函數,則y可以由n階和m維的常微分方程組表示:

圖1 流程圖
(2)
方程組(2)的范德蒙矩陣形式為:
(3)
式(3)簡寫為:
yc=[F]=[X][A]
(4)
式中:yc為用戶。因此,數據集Y=[Fc1,Fc2,…,Fcm](其中cm為用戶m)代表每個用戶隨時間變化的用電量數據,其中用電量和時間的函數關系是連續的、非線性的。
為了表征用戶群的用電模式,本文使用擴展k均值聚類算法對數據集進行處理[8-9]。對于具有m個數據實例的數據集Y,生成k個聚類,即C1、C2、…、Ck,μ(Ck)代表聚類k的聚類中心,則k均值聚類算法的誤差函數公式為[10]:
(5)
式中:i為聚類數;d[x,μ(Ci)]為數據點x與聚類中心μ(Ci)之間的距離。
作為具有較好雜散能力的常用的鄰近度量之一,本文使用平方歐幾里得距離來計算聚類成員與聚類中心之間的距離[11-12]。對于兩個不同的數據點xi和xj,平方歐幾里德距離可以表示為:
(6)
擴展k均值聚類算法使用k均值將每個聚類(父聚類)以分層的方式分為兩個聚類(子聚類),直到聚類的每個節點均滿足停止條件。第一停止條件是聚類用戶數量低于閾值。低于閾值的聚類將被視為具有足夠的聚類內模式相似性。根據經驗評估,在智能電表數據的聚類場景和試驗中,用戶數量少于總人口的百分之一的聚類內部模式相似度足以用于模式提取。雖然在聚類中擁有更少的用戶可以生成更緊湊的集群,但是計算成本也將大幅提高。因此,必須保持聚類數量與特性相似度之間的平衡,以在實現數據精簡的同時最大程度地降低對計算成本的影響。因此,根據經驗評估將百分之一用戶作為第一停止標準。
確定重聚類過程的第二個停止條件為子聚類誤差低于父聚類誤差。選擇誤差作為停止條件的關鍵障礙是數據的易變性。在聚類結果的每個階段,都會為父群集和子群集計算平均絕對百分比誤差。聚類k的誤差計算方法為:
(7)
式中:Ek為聚類k相對于聚類中心μ(Ck)平均值的誤差;Cki為用戶i所在的聚類k;m為用戶總數。在重聚類的過程中,誤差會減小到最小,超過該誤差會飽和。
Ep≥EC
(8)

圖2 擴展k均值算法
式中:Ep為父群集的誤差;Ec為子群集的誤差。因此,如果重聚類過程不滿足停止條件1,則繼續重聚類過程直到滿足停止條件2。擴展的k均值聚類的流程如圖2所示。
擴展k均值聚類算法將整個數據集(父類)劃分為兩個聚類(子類),使得某些用戶Fc1,Fc5,Fc12,…位于一個聚類中,而其余用戶Fc2,Fc3,Fc4,…被分配給另一個聚類。重聚類過程再次將每個聚類分為兩部分,由聚類1的分支而產生的兩個子聚類:Fc1,Fc12,Fc15,…和Fc5,Fc13,Fc18,…。其他聚類同樣細分,直到所有聚類滿足停止條件之一。聚類公式為:
(9)
從聚類結果生成平均用電量曲線文件,以便使用單個函數表示聚類用戶的用電量數據模式。平均用電量曲線具有很大的波動,這些波動會使數據模式不清楚。因此,可以應用多項式曲線擬合和移動平均平滑等曲線平滑技術來平滑數據。較低次數的多項式很難捕獲較高的變化,而較高次數的多項式則遭受了朗格現象的影響,這給曲線平滑帶來難度。在大多數情況下,平均用電量曲線會衰減用電量意外變化所導致的數據噪聲。為此使用移動平均平滑化來處理聚類數據。移動平均平滑是一個卷積過程,可以表示為[13]:
(10)
式中:y為變量;Ci為卷積整數;j為運行索引;N為時間段數。平滑后,將用電量曲線線性化以降低數據模式的復雜性。使用泰勒級數線性化過程可以實現非線性函數的線性化。用電量閾值點被用作線性化的工作點。
確定閾值點后,其余數據點將被忽略以進行線性化。在三個數據點或一個半小時內出現的閾值點將被忽略,以進一步減小變化。閾值點僅用作泰勒級數展開直至第一階的操作點。高階項被忽略,因為它們的影響可以忽略不計。盡管已經實現了線性化,但是需要使用式(11)對丟失的數據點進行插值,以平滑用電量曲線。
(11)
式中:y為yi在時間點xi+1處的插值,其中i=0,1,2,…,n。對于用電量曲線,這會導致連續的線性曲線與不連續的導數串聯在一起。線性化的曲線可以由切線的串聯來表示,使得在工作點ai處可以形成線性曲線,如式(12)所示。
(12)
式中:f′(ai)為ai的導數。通過曲線的線性化減少了數據的復雜性,并將如式(3)所示的復雜非線性函數簡化為如式(12)的線性函數。這種線性化轉換簡化了用電量隨時間的變化。
試驗數據為近5 000名來自烏魯木齊地區用戶的一年的智能電表數據。數據集由6個逗號分隔值(CSV)文件組成,總大小為3 GB。使用MATLAB平臺實現上述方法,并在8 GB RAM的Intel Core i7筆記本電腦上進行兩個仿真實驗。
第一個試驗以周為頻率對預處理的數據進行聚類。整年52周的數據在每個單獨的星期進行聚類,從而生成52個聚類。時間分辨率為30 min的每周用電量分布圖的維數為D=(60×168)/30,即336。提取每個最終聚類的平均用電量分布圖并進行線性化以生成加權線性分布圖。
第二個試驗的聚類過程的時間窗口從一周增加到一個月。使用一年的智能電表數據每月進行一次聚類。每個月的用電量數據文件都有不同的維度,具體取決于月份中的日期。
在每個試驗中都有幾個單用戶的聚類,這些聚類數據在統計上被稱為離群值。由于這些數據僅占原始數據的0.31%以下,試驗首先剔除這些離群值。
由于用電模式在一周內的可變性較大,因此試驗1中生成的聚類數量也更多,并且聚類成員的一致性很少見。如圖3所示,低誤差表明線性化過程已高精度地逼近了原始用電量曲線。圖4顯示了一個典型周的聚類及其概況。可以觀察到,線性曲線輪廓幾乎擬合非線性曲線輪廓,同時使用電量的變化最小。

圖3 每周用電量采集的百分比誤差
在試驗2中,用電量細節變化的影響相對小于試驗1,從而導致聚類數量減少。聚類時間周期的延長顯示了用電模式的季節性變化。簡單的線性化用電量數據文件可用于中期用電量預測研究,特別是季節性用電量的變化。圖5顯示了四個隨機的月度聚類及其用電量曲線。
在智能電網中,智能電表產生大量的用電量數據,因此對每個用戶節點的用電量進行建模以發現異常用電,并進行精準電力營銷,需要對大量數據進行非線性處理,這樣會導致計算成本過高。本文提出了一種通過使用一組加權線性曲線對高非線性智能電表數據進行隨機建模的新方法。該方法采樣優化聚類算法,對模式相似度高的數據進行聚類,以提取用電量分布圖。與普通的線性逼近方法相比,該方法對非線性用電量數據進行線性化處理,而不會影響精度。試驗證明,提取具有高度集群內模式相似性的模式、將高度非線性的函數轉換為線性函數的級聯能夠在不降低準確性的基礎上有效提高智能電表數據建模的效率。

圖4 試驗1結果

圖5 試驗2結果