李仲恒, 劉蓉暉
(上海電力學院 電氣工程學院, 上海 200090)
電力系統的負荷波動十分頻繁,負荷種類多種多樣,不同地理位置、時段、種類的負荷都對應著不同的負荷曲線,負荷曲線具有連續性和周期性的特征。按照行業負荷分類的慣例,傳統負荷主要被分為工業、農業、商業、城鄉居民及其他負荷,不同類別的日負荷曲線區分明顯。但是隨著電力系統的發展,一些新興產業的興起,傳統的劃分方式過于粗糙,已經不能滿足人們的需求,更加細致、準確、實用的數據挖掘技術不斷地被提出和應用。掌握電力系統的負荷特性和負荷組成,建立結構合理、參數準確的綜合負荷模型,對電力系統平穩、安全的運行具有重大意義。
隨著大數據時代的來臨,越來越多的數據挖掘技術應用到各行各業中,數據挖掘技術是人工智能和數據庫技術相結合的產物,聚類方法是數據挖掘技術的一個重要分支[1]。聚類方法是用各類算法將樣本數據根據某一相似的特性進行區分,同一類中保證數據的相似性,不同類之間保證數據的差異性。電力負荷曲線聚類的研究是配電網大數據的基石,負荷數據預處理、異常用電行為分析、需求側管理、用電用戶劃分等多種數據挖掘技術都需要用到這一技術。因此,有必要對電力負荷曲線聚類進行研究。
聚類方法有很多種,一是劃分法,如K-means算法。文獻[2]主要針對K-means算法的缺陷進行了研究和改良,綜合提出了最適合電力負荷數據特征的優化方法,而不是將單一的方法進行疊加。這種方法簡單、時間復雜度和空間復雜度較低,但是聚類結果受到隨機初始化中心點的影響很大。二是層次法,是將樣本數據進行逐層分解。文獻[3]基于Ward層次聚類算法,提出了C-Ward算法,省略了對數據樣本點進行預先劃分的步驟。這類算法可解釋性好,但是時間復雜度高。 三是基于密度的方法,其核心思想是只要鄰近區域內的樣本密度超過某個閾值,就會不停地聚類,最典型的的算法是DBSCAN算法。文獻[4]利用密度梯度算法進行負荷分類的研究,選取不同類的邊界點的分布情況作為特征。這類算法對噪聲的抵抗性較強,可以解決各種形狀的聚類問題,但處理高維樣本數據的能力比較薄弱。 四是基于模型的方法,即尋找數據對既定模型的最佳擬合模型,使同一類的數據隸屬于同一種概率分布,最典型的是神經網絡法。文獻[5]以負荷的組成情況為依據來進行分類,同時應用神經網絡和C-均值聚類算法,將獲得的聚類數目和各類中心點作為C-均值算法的初始值進一步聚類,具有較強的實用性和有效性。
為了解決大多數聚類算法對初始聚類個數的設置難問題和對初始聚類中心選取過于敏感的問題,本文探討了迭代自組織數據分析算法(Iterative Self-organizing Data Analysis Algorithm,ISODATA)在負荷分類中的應用,主要研究該算法與以上主流聚類算法在負荷分類應用方面相比的優缺點。
ISODATA作為一種軟性聚類的方法,是在樣本對象初始特征不明顯的情況下,在迭代的過程中逐漸逼近事物最本質的特征。這種機器學習的過程與人類認知事物的方式類似,聚類方法相對科學。其關鍵步驟在于聚類的合并和分裂運算,通過多個閾值進行限制,類間距離過小將其合并,同類樣本距離過大將其分裂,從而達到預期的聚類效果。
由于在很多情況下,各種聚類算法的參數無法準確設定,就使得 ISODATA在參數調試完成前往往得不到理想的結果,因此對該算法控制參數的調試過程比較繁瑣[6-10]。但是,當參數調整準確以后,得到的結果往往優于傳統的聚類方法。這是因為該算法加入了人的想法作為限制條件,從而使得聚類結果更加“人性化”。對于某一類的數據,例如針對負荷曲線的聚類,調試參數的過程只需一次,之后對于同一類型的其他樣本可以直接適用,同樣簡單、快捷。因此,ISODATA在負荷曲線分類中的實用性很強[11-14]。
ISODATA在運行前需要輸入的參數主要有:預估的聚成類別數K;每個聚類樣本含有最少的樣本數量θN;每個聚類中樣本標準差的閾值θS,即分裂系數,如果大于此數,此聚類需進行分裂;各聚類中心之間距離的閾值θC,即合并系數,如果小于此數,兩個聚類進行合并;進行迭代的總次數I。
在對上述參數進行設置后,ISODATA大體分為以下7個步驟。
步驟1 輸入N個樣本數據{xi=1,2,3,…,N},隨機選出NC個初始聚類中心{z1,z2,z3,…,zNC}。

步驟3 如果Sj中的樣本數目Sj<θN,則取消該樣本子集。
步驟4 修正各聚類中心Zj,修正公式為
(1)
步驟5 判斷是否進行分裂運算,一般以下3種情況需要進行分裂處理。NC≤K/2,即最終聚類數小于當時給定值的1/2;同時不滿足迭代運算次數是偶數次或NC≥2K;一個聚類中樣本距離標準差向量最大值σjmax>θS。每次分裂形成的新的聚類中心表達式為
Z1=Zi+factor×σjmax
(3)
Z2=Zi-factor×σjmax
(4)
步驟6 判斷合并運算,計算各類之間的距離Dij,若Dij<θC,或者某類中樣本個數小于規定θN,則進行合并操作。新的聚類中心為
(5)
步驟7 重復迭代,直至達到迭代次數。
通常從兩個方面評價一個非監督聚類算法的有效性:一是緊密度,即每類中的樣本數據應盡可能地相似;二是分離度,即不同聚類之間數據的差異性應盡可能地大。常用的評價方法有外部評價法、內部評價法和相對評價法。本次實驗采用聚類完成時得到的各聚類中心向量,計算內平方和WSS和外平方和BSS作為聚類效果的評價指標。對于有m條樣本,n個特征點的負荷組成情況,WSS和BSS的表達式為
(6)
(7)
(8)
式中:pi——聚類i的中心向量,pi=(pi1,pi2,pi3,…,pin);

Zk——第k聚類中樣本的個數;
Q——所有樣本數據中心的特征向量,Q=(Q1,Q2,Q3,…,Qn);
qk——第k類樣本中心的特征向量,qk=(qk1,qk2,qk3,…,qkn)。
WSS和BSS分別體現了同一聚類中數據的相似程度和不同聚類之間數據的差異程度。顯然,WSS的值越小,同一類中數據的相似度越高;BSS的值越大,不同類之間數據的差異性越大。總之,CHI指數越大,聚類效果越好。
根據系統測量到的用戶負荷數據,選取電網中437個用戶的日負荷曲線(即用戶有功功率的使用情況)作為待分類樣本,取一天當中24個時刻點的負荷情況作為一條負荷曲線的特征點。在對數據進行歸一化處理的基礎上進行分類,以抵消數值差別過大帶來的影響。記第i時刻的負荷為Ph(h=1,2,3,…24),負荷最大值為Pmax,Xh=Ph/Pmax,Xh即為歸一化后的負荷曲線在h時刻的值。
采用ISODATA(M1)對以上樣本曲線進行聚類,并與當前主流聚類算法進行比較,驗證其在負荷分類中的可行性。參與對比的算法分別有傳統的K-means算法(M2)、層次聚類算法(M3)、模糊C-均值算法(M4)、自組織映射神經網絡算法(M5)等。本次實驗將主要從聚類效果、聚類數目的取值影響和初始中心向量的選取影響來對比ISODATA和各聚類算法。
本次聚類仿真在MATLAB軟件中進行,經過多次調試,效果較為理想的參數如下:迭代次數為100次;預期聚類數為8個;類與類之間的最小距離為0.2;每個聚類中最小樣本數為10個;最大樣本距離分布的標準差為0.1。聚類結果如圖1所示。
圖1中的曲線為日負荷曲線,即當天該負荷的有功功率消耗情況。日負荷曲線樣本被分為8類,各類樣本數量分別為34,78,19,83,73,30,52,68。聚類效果較好,不同類之間區別分明,具有很好的參考價值。除了第3類和第7類比較特殊外,大多數負荷曲線都在中午12時達到頂峰;第1和第2類是學校、辦公室等場所,白天辦公時間用電負荷較高,晚上逐漸降低;第4和第5類屬于醫院等負荷,負荷曲線較為平緩,波動較小;第6類一般屬于晝夜不停運作的大型工廠負荷,機器一天24 h高強度運作,幾乎沒有波動;第7類屬于KTV等夜間娛樂行業,在晚上8時左右達到用電高峰。了解負荷特性的變化規律,對于電力部門進行負荷分類、預測、調度,以及制定電價有很好的借鑒意義。

圖1 ISODATA聚類結果
采用相同的數據樣本,在同樣聚成8類的情況下,根據式(6)、式(7)、式(8)得到5種算法的聚類評價指標,如表1所示。

表1 5種聚類算法的評價指標結果
由表1可以看出,5種聚類算法的聚類效果比較接近。其中,ISODATA的聚類效果比層次聚類算法、模糊C-均值算法以及自組織映射神經網絡算法要好。但是,ISODATA的3項評價指標均不及傳統K-means算法。這是因為K-means算法完全是以類間距離最小為準則而編寫的,并沒有其他限制性因素,而ISODATA考慮了人的“想法”,按照人們的預期添加了多種限制條件。雖然ISODATA的評價指數不及K-means算法,但它得到了更符合人們要求的聚類結果。例如,用戶不希望聚成的某一類中樣本數量過少,又不希望其中樣本差異過大,就可以通過聚類前的輸入參數進行限制,從而更具有實用價值。
若保持437條日負荷曲線數據樣本不變,設定目標聚類數K(K=2,3,4…,10),觀察目標聚類數K對各聚類算法最終聚類數K′的影響。實驗結果如表2所示。

表2 預定聚類數對各算法最終聚類數的影響
從表2可以看出,ISODATA和自組織神經網絡算法的最終聚類數與初始聚類數不同,傳統K-means算法的最終聚類數沒有發生改變。經過多次實驗,針對此次樣本數據,所有聚類算法的最優類別數普遍為7,8,9。ISODATA在K=2時,就能自動聚成7類;在K>9時,能夠自動聚成9類,魯棒性極強,具有自動調節最優類別數的能力。神經網絡法在K≥8時,全部聚成7類,對初始聚類數也有一定的調節能力;但在K≤7時,調節能力不明顯。傳統K-means算法則是完全依據初始聚類數進行聚類。對于聚類數不明的復雜電力大數據樣本來說,ISODATA具有很好的改良聚類效果的能力。
大多數聚類算法的初始聚類中心都是隨機生成或者隨機選取的,這就導致了有的算法可能會因為初始聚類中心選擇不當而陷入局部最優。為了驗證初始聚類中心的選擇是否會對ISODATA造成影響,在樣本數據和所有參數都不變的情況下,每次在437條數據樣本中隨機選取8條作為初始聚類中心,實驗10次,以觀察聚類結果是否會發生變化,并與其他聚類算法相比較。比較結果如表3所示。

表3 初始聚類中心變化時各種聚類算法的CHI指標對比情況
從表3可以看出,初始聚類中心的變化對模糊C-均值算法的影響較大。模糊C-均值算法的CHI值波動范圍很大,最低只有22.71,最高為30.62,僅次于傳統K-means算法的30.86;而ISODATA幾乎完全不受初始聚類中心的影響,不用考慮陷入局部最優帶來的誤差,算法穩定性較高。
根據以上對比實驗可以得出以下結論:傳統K-means聚類算法的初始點選擇不穩定,引起了聚類結果的不穩定;層次聚類算法雖然不需要確定分類數,但是一旦進行分裂或者合并,就不能修正,聚類質量受到限制;模糊C-均值算法對初始聚類中心比較敏感,需要人為確定聚類數,容易陷入局部最優解;自組織映射神經網絡算法與實際大腦處理有很強的理論聯系,但處理時間較長,需要進一步研究使其適應大型數據庫;ISODATA不受初始聚類中心的影響,運算時間遠小于自組織映射神經網絡算法,經過多次合并分裂后,聚類準確率也處于較高水平,完全適用于電力負荷曲線的分類研究。
在大數據時代的背景下,面對海量的電能質量監測數據,準確、快捷的數據挖掘技術成為處理數據的有效手段。本文介紹了ISODATA的原理和實現步驟,并將此算法應用到日負荷曲線的分類中,聚類結果較為理想。與當前主流的聚類算法進行對比,得到了不同算法的聚類效果對比情況、聚類數K值和初始聚類中心的選取等方面對聚類結果產生的影響。此算法在聚類之前需要對各種參數進行設置,在傳統算法上新增了分裂和合并兩個步驟,從而大大減少了聚類算法的盲目性,但也使得算法更加復雜。盡管參數的選擇需要多次嘗試,但是當參數調整好后,就完全能夠應用于處理同類的樣本分類問題,同時解決了未知樣本聚類數取值難的問題。今后,ISODATA的主要研究方向為如何快速、準確地進行參數設置,以節約時間成本。