?

基于haar小波編碼和改進K-medoids算法聚合的用戶負荷典型區間場景挖掘

2022-06-15 07:19許良財邵振國陳飛雄
電力自動化設備 2022年6期
關鍵詞:典型區間聚類

許良財,邵振國,陳飛雄

(1. 福州大學 電氣工程與自動化學院,福建 福州 350108;2. 福建省電器智能化工程技術研究中心,福建 福州 350108)

0 引言

隨著電力市場運行機制和輔助服務的快速發展,電力用戶逐漸參與電網公司的各項業務。負荷信息作為描述用戶用電行為的關鍵要素,在需求響應的研究中愈發重要[1-2]。用戶負荷數據呈現海量、價值密度低的特征,有效挖掘負荷典型場景對于異常用電檢測[3]、非侵入式負荷分解[4]、用電套餐設計[5]等需求響應業務均具有重要意義。

負荷典型場景挖掘需要采用聚類技術將負荷樣本劃分至不同集群,并采用各類集群的特征來表征典型場景,相關研究通常涉及負荷特征提?。?-9]、負荷曲線相似性度量[10-11]、負荷曲線頻域分解[12-14]等。

在負荷特征提取方面:文獻[6]采用負荷率、日峰谷差率等6 個日負荷物理特性指標進行聚類,并依據聚類有效性修正指標權重;文獻[7]利用熵權法為指標賦權,增加負荷極值時間作為新的負荷特性指標,能更準確反映負荷曲線形態特征,有效提升聚類質量;此外,深度學習如長短期記憶網絡、卷積神經網絡、自編碼器等,能夠自動提取負荷數據的潛在特征,被廣泛應用于負荷聚類[8-9]。

在負荷曲線相似性度量方面:文獻[10]利用核函數衡量相似性,提高了負荷樣本的可分性;文獻[11]結合動態彎曲距離和歐氏距離判斷負荷曲線相似性,并利用熵權法配置相似度權重,聚類結果具有較好的魯棒性。

在負荷曲線頻域分解方面:文獻[12]利用變分模態分解將負荷樣本分解為低頻、中頻、高頻3 個分量,結合低頻和中頻分量實現負荷的分層聚類;此外,小波變換作為高效的頻域分解技術,被廣泛應用于提取負荷曲線的不同頻域特征,有效提高了負荷曲線的聚類效果[13-14]。

然而,用戶不可避免地存在一些非顯著用電行為,這導致直接聚類得到的負荷場景典型性不高。同時,目前采用的聚類均值曲線只能描述確定性行為[15],而無法描述負荷在各時段的不確定信息,難以滿足負荷不確定性分析需求。

為此,本文提出一種粒度可調的用戶負荷典型區間場景挖掘方法。將原始負荷曲線經haar小波變換濾除細節波動分量,提取低維負荷近似序列;分別對負荷近似序列每個維度的特征集進行聚類,提取類簇所包含特征的邊界值,將其作為數值區間并進行編碼;根據特征占比剔除非顯著數值區間,并結合不同維度的顯著數值區間得到字符串表征的負荷區間序列;提出一種字符串差異度計算方法,采用改進K-medoids 算法聚合得到負荷區間序列類簇,并提取類簇所包含的負荷近似序列的邊界值,從而得到典型區間場景;設置差異度閾值實現典型區間場景的粒度調節,并以愛爾蘭某用戶實測負荷數據為樣本,驗證本文所提方法的有效性。

1 負荷區間序列的提取

1.1 負荷歸一化

對于某一用戶負荷序列P={P1,P2,…,PN},其歸一化公式如下:

式中:N為用戶負荷序列的維度;Pn、Pu[n]分別為歸一化前、后第n維度的負荷值;Pmax、Pmin分別為原始負荷最大、最小值。

1.2 基于haar小波變換的負荷近似序列提取

小波變換[13]是一種時序數據分解方法,可以將時序數據分解為1 個反映時序曲線整體變化趨勢的近似分量和若干個反映時序曲線細節波動特性的細節分量,小波變換分解示意圖如附錄A 圖A1 所示。圖中:A0為初始時序數據;A1和D1分別為第1 層分解的近似分量和細節分量;其他依此類推,下一層分量由上一層近似分量分解得到。

用戶負荷典型場景用于反映用戶顯著的用電行為,可以忽略負荷細節波動特性,而只保留負荷整體變化趨勢,因此,本文以小波變換分解得到的負荷曲線近似分量替代原始曲線用于后續聚類分析。本文選用的母小波為haar 小波,分解得到的近似分量為多段水平線,有利于數據降維處理,降低聚類分析的計算復雜度。

采用haar小波變換獲取負荷曲線近似分量的公式如下:

式中:φ(t)為haar 小波函數;r為小波分解層數;arf為第r層負荷曲線近似分量在第f維度的小波近似系數;NR為日負荷序列維度;Ar[n]為第r層負荷曲線近似分量在第n維度的數值。

haar小波變換分解得到的近似分量呈階梯狀變化,圖1 為某日負荷曲線及其在不同分解層數的負荷曲線近似分量。需要說明的是,本文每30 min 采樣1 次,共得到48 個采樣點,對應采樣時刻00:30、01:00、…、24:00,后同。

圖1 不同分解層數的負荷曲線近似分量Fig.1 Approximate components of load curve for different decomposition layers

由圖1 可見,日負荷曲線反映了用戶一天中的用電行為變化,在采樣頻率較高的情況下,日負荷曲線存在顯著的細節波動。負荷曲線近似分量由若干段相鄰采樣時刻負荷數據的均值組成,反映了用戶在每一段相鄰采樣時刻的平均用電水平。當分解層數較小時,近似分量和原始曲線差異較??;當分解層數較大時,近似分量能跟蹤原始曲線在較大時間尺度上的變化趨勢,但與原始負荷曲線的差異增大。

分解層數為r的負荷曲線近似分量包含M=NR/(2r)段水平線,且每段水平線為對應時段2r個原始負荷數據的均值,因此,可以從中提取M維負荷近似序列表示負荷曲線近似分量。為減少負荷曲線近似分量與原始負荷曲線的差異,同時兼顧聚類分析的計算復雜度,本文選用分解層數為2 的近似分量提取負荷近似序列。

1.3 數值區間編碼

本文采用K-means 算法分別對某用戶所有負荷近似序列每個維度的特征集進行聚類,提取類簇所包含特征的邊界值,得到若干個數值區間,從而描述用戶在該維度對應時段的功率分布范圍。聚類過程如下。

1)選擇聚類數k[m]。不同維度特征集所包含特征的數值分布范圍不同,通常數值分布范圍越大,劃分的類簇越多,因此,以各維度特征的數值分布范圍確定聚類數,計算公式如下:

式中:round(·)為向上取整函數;DS[m]max、DS[m]min(m=1,2,…,M)分別為第m維度特征的最大值和最小值,第m維度的所有特征構成集合DS[m]={pm1,pm2,…,pmX},pmx(x=1,2,…,X)為在第m維度特征集中的第x個特征,X為特征集所包含特征數;d為設定的基礎數值分布范圍值,本文設定為0.1,當特征集的數值分布范圍小于2d時,認為所有特征屬于同一類。

2)初始化聚類中心。初始聚類中心的選擇會影響聚類過程以及最終結果,理論上希望初始聚類中心分布差異越大越好。對于第m維度特征集,本文選取k[m]個特征作為初始聚類中心集C[m]={C1,C2,…,Ck[m]},其中,Ci(i=1,2,…,k[m])為第m維度特征集的第i個初始聚類中心。不同k[m]值的初始聚類中心如附錄A 圖A2 所示,圖中每條線段表示X個特征按照數值從小到大的順序依次排列。

3)類簇劃分。將所有特征按距離最近原則劃分至各聚類中心對應的類簇,pmx到Ci的距離dxi為:

式中:abs(·)為絕對值函數。

4)更新聚類中心。在各類簇中,將各特征的均值作為新的聚類中心,如式(7)所示。

式中:C′i為更新后的第i個聚類中心;Ji為pmx所在類簇的特征數。

5)重復步驟3)、4),直至聚類中心不再發生變化時終止,第m維度的特征集被劃分為k[m]個類簇,提取類簇邊界值得到k[m]個數值區間。

為了區分不同數值區間,采用字符對數值區間進行編碼,使得各時段功率分布范圍由若干個字符表征,編碼示意圖如附錄A 圖A3 所示,圖中負荷近似序列的維度M=12,在每個維度下均存在若干個數值區間,a、b、c表示不同的數值區間。

1.4 非顯著數值區間辨識

在附錄A 圖A3 中,矩形的高度表征數值區間的特征占比,某些特征占比特別低的數值區間可以認為是非顯著數值區間并將其剔除。定義特征占比e判別非顯著數值區間,公式如下:

式中:n[m]i為第m維度的第i個數值區間包含的特征數;n[m]max為第m維度的數值區間包含的最大特征數;eu為閾值,本文取為5%。式(8)表示當e

2 用戶負荷典型區間場景挖掘

2.1 負荷區間序列的差異度

將不同維度的顯著數值區間合并,可以得到包含負荷近似序列的負荷區間序列,且每個負荷區間序列由長度為M的字符串表示,某負荷區間序列如附錄A圖A4所示,字符串表示為“aaaaaaabbbbb”,圖中包含了44 個負荷近似序列,如虛線部分所示。進一步提取負荷近似序列的邊界值作為負荷區間場景,如附錄A 圖A5 所示。顯然,對于每個負荷區間序列都可以提取一個負荷區間場景,但某些負荷區間序列僅包含1 個負荷近似序列,提取的區間場景為1條曲線,難以涵蓋用戶多樣化的用電行為。

通常字符串差異度采用漢明距離[16]來度量,表現為2 個字符串在對應維度不同的字符數之和。由于本文分別對不同維度的負荷特征集進行聚類,提取數值區間后進行編碼,不同維度的字符數不同,且不同字符對應負荷特征類簇的聚類中心也不同,因此,綜合考慮上述因素,本文定義一種字符串差異度來衡量不同負荷區間序列的相似性,計算步驟如下。

1)計算各維度的差異度權重因子w1u[m],即:

式中:lk[m]為第m維度的特征集被聚為k[m]個類簇的聚類損失值;l1為第m維度的特征集被聚為1個類簇的聚類損失值;w1[m]為第m維度的特征集由1個類簇聚為k[m]個類簇的聚類損失下降值,該值越大,表示第m維度的特征集被聚為k[m]個類簇時聚類中心與其他特征值的差異越大,理應對應更大的差異度權重因子;w1u[m]為差異度權重因子,是w1[m]的歸一化值。特別地,當k[m]=1 時,w1[m]=0,即該維度的特征集只被聚為1 個類簇,差異度權重因子為0。

2)計算類間差異值序列w2u,即:

3)假設w2u[m]h為第i個字符串和第j個字符串在第m維度字符所對應的差異值,計算第i個字符串和第j個字符串的差異度g(yi,yj),即:

式中:yi、yj分別為第i個和第j個字符串。在本文中,采用字符串表征負荷區間序列,因此,g(yi,yj)也表示第i個和第j個負荷區間序列之間的差異度。

2.2 基于改進K-medoids算法的負荷區間序列聚合

以本文定義的字符串差異度來替代傳統K-medoids 算法的歐氏距離,對負荷區間序列進行聚合,得到負荷區間序列類簇,過程如下。

1)初始化聚類中心。負荷區間序列集DQ由q個負荷區間序列D1、D2、…、Dq組成,在DQ中隨機選取K個負荷區間序列V1、V2、…、VK作為初始聚類中心。

2)類劃分。將所有負荷區間序列按照字符串差異度最小劃分至不同類簇中,字符串差異度由式(9)—(11)計算得到。

3)更新聚類中心。在各類簇中,計算每個負荷區間序列與當前類簇其他負荷區間序列的差異度之和,并選取差異度之和最小的負荷區間序列作為新的聚類中心,計算公式如下:

式中:gsum為Di與當前類簇其他負荷區間序列的差異度之和;gDij為負荷區間序列Di與Dj的差異度;Oi為Di所在類簇的負荷區間序列數,對應的聚類中心為Vi。

4)重復步驟2)、3),直至聚類中心不再發生變化時終止。

最終,各類簇包含數量不等的負荷區間序列,通過提取各類簇所包含的負荷近似序列的邊界值可以得到K個負荷典型區間場景。

2.3 典型區間場景數的選取

由2.2 節的分析可知,采用K-medoids 算法獲取典型區間場景需要預先確定聚類數K,為此,本文參照K-means 算法利用手肘法[17]確定聚類數,并提出一種典型區間場景數選取方法,具體如下。

在設置不同K值的條件下,可以計算每個類簇的負荷區間序列與聚類中心的差異度之和,進而得到差異度總和,公式如下:

式中:gCiDj為負荷區間序列Dj與聚類中心Ci的差異度;gall為所有負荷區間序列與對應聚類中心的差異度總和。

差異度總和與傳統K-means 算法的誤差平方和SSE(Sum of Squares of Errors)類似,其值越小越好,且隨著K值的增大,差異度總和呈下降趨勢,可以找到差異度總和由急劇減少至平緩減少的拐點來確定合適的K值,在拐點之后,K值增大所導致的差異度總和的減小幅度將顯著變小??紤]到不同初始聚類中心會影響聚類結果,本文針對每個聚類數K分別運行50 次并繪制差異度總和的箱線圖,如圖2所示。在每個箱線圖中,箱中橫線表示中位數,箱子的上界和下界分別表示上四分位和下四分位。通過對比不同K值的箱中橫線可以發現,K值取4是一個合適的拐點,且箱子寬度相對較小,波動程度小,因此,本文設置典型區間場景數為4。

圖2 不同K值差異度總和的箱線圖Fig.2 Boxplot of sum of differences for different values of K

2.4 典型區間場景的粒度調節

每個典型區間場景對應一個負荷區間序列類簇,且類簇中的每個負荷區間序列包含數量不等的負荷近似序列。一般而言:典型區間場景包含的負荷近似序列數越多,區間面積越大,越能涵蓋用戶多樣化用電行為,但描述的負荷不確定性也越大,即粒度更粗,不利于精細表征用戶用電行為;而典型區間場景包含的負荷近似序列數越少,區間面積越小,越能精細表征用戶用電行為,但描述的負荷不確定性也越小,即粒度更細,難以涵蓋用戶多樣化用電行為。為此,在得到負荷區間序列類簇的基礎上,本文提出一種典型區間場景的粒度調節方法,步驟為:

1)選取包含負荷近似序列數最多的負荷區間序列作為典型區間序列;

2)根據式(11)計算其余負荷區間序列與典型區間序列的差異度;

3)設置差異度閾值,并剔除與典型區間序列的差異度大于閾值的負荷區間序列;

4)提取剩余負荷區間序列所包含的負荷近似序列的邊界值,得到新的典型區間場景。

特別地,為保證挖掘的典型區間場景可以涵蓋用戶大部分用電行為,本文針對每個典型區間場景分別設置差異度閾值,并依據步驟3)剔除負荷區間序列,即剔除所包含的負荷近似序列,確保經粒度調節后每個典型區間場景包含負荷近似序列的數量占原始數量的85%以上。

3 算例驗證與分析

3.1 典型區間場景挖掘流程

本文所提典型區間場景挖掘方法的流程見圖3。

圖3 典型區間場景挖掘流程Fig.3 Flowchart of typical interval scene mining

3.2 仿真環境設置及實驗數據介紹

為驗證本文典型區間場景挖掘方法的有效性,算例分析采用PC機,CPU為Intel(R)Core i7-9750H@2.60 GHz,顯卡為Nvidia GeForce GTX 1 650,操作系統為Win10,算法由Python 語言編寫,運行平臺為Jupyter Notebook。實驗數據為愛爾蘭地區智能電表實測用戶負荷數據[18],選取電表編號為6609的中小型企業用戶共536 d的日用電數據。

3.3 典型性指標

區間場景的上界和下界分別等于對應區間包含負荷近似序列的最大值和最小值。對于每個區間場景,希望大部分負荷近似序列聚集在區間中部,即序列與區間邊界的距離越小越好。此外,較窄的區間場景能更精細地表征用戶用電行為,即所有區間場景包含的區域越窄越好。為此,本文定義最大邊界距離dmax和典型區域面積Sd評估區間場景的典型性,具體表達式如下:

式中:Bi為第i個典型區間場景包含的負荷近似序列數;quim、qlim分別為第i個典型區間場景在第m維度對應的區間上界和下界;pijm為第i個典型區間場景中所包含的第j個負荷近似序列在第m維度的特征值。

3.4 用戶負荷典型區間場景挖掘算例

基于3.2 節的用戶用電數據,根據式(5)—(7)、(9)可得到各維度的k[m]值和差異度權重因子w1u[m]值,如附錄A 表A1所示。當k[m]=1時,該維度的特征樣本被歸為1 個類簇,對負荷區間序列差異度的貢獻度為0,差異值序列w2u為空集;當k[m]=2 時,該維度的特征樣本被歸為2 個類簇,差異值序列w2u={1};當k[m]=3 時,該維度的特征樣本被歸為3 個類簇,差異值序列w2u的維數為3,根據式(10)得到計算結果如附錄A表A2所示。各維度數值區間編碼及包含的特征數如附錄A表A3所示。進一步利用式(8)篩選非顯著數值區間,如附錄A表A4所示。

剔除非顯著數值區間后,結合不同維度的顯著數值區間得到用戶所有負荷區間序列數為278,負荷近似序列數為533,即剔除了3條非顯著負荷近似序列。采用改進K-medoids 算法聚合得到4 個負荷區間序列類簇,并提取出4 個典型區間場景,如圖4所示,場景1—4 包含的負荷近似序列數分別為81、166、133、153。

圖4 采用本文方法挖掘的典型區間場景Fig.4 Typical interval scenes mined by proposed method

由圖4 可以看出,4 個典型區間場景的變化趨勢相似,在某些時段的功率分布范圍存在重疊現象,而在另外一些時段的功率分布范圍不同,如:在00:00—02:00 時段(對應采樣點1—4),場景4 的功率分布范圍為(0.47,0.70)p.u.,明顯區別于其余3個場景的功率分布范圍;而場景2 的功率分布范圍基本包含了場景1 和場景3 的功率分布范圍,但在18:00—24:00 時段(對應采樣點37—48),場景2 功率分布范圍的下限值相對更高,這說明場景2 下該時段的用電水平相對更高;對比場景1 和場景3 可見,在00:00—10:00時段(對應采樣點1—20),兩者的功率分布范圍基本一致,而在10:00—24:00 時段(對應采樣點21—48),兩者的功率分布范圍則存在較大的區別??梢?,相較于單一典型曲線描述確定性負荷,典型區間場景能夠描述不同時段的功率分布范圍,更有助于描述負荷的不確定性。

為了驗證本文方法的有效性,分別采用聚類數可選的K-means 算法和層次聚類算法將用戶負荷數據集聚為4 類,并提取每類的邊界值得到典型區間場景。K-means 算法挖掘得到的典型區間場景如附錄A 圖A6 所示。層次聚類算法挖掘得到的典型區間場景與K-means 算法挖掘得到的典型區間場景類似,本文不再展示。由圖A6可以看出,K-means算法挖掘的典型區間場景存在短暫尖峰現象,不能剔除非典型的細節波動,其中場景2 受非顯著負荷影響,區間寬度較大。

為進一步驗證haar 小波變換、非顯著負荷近似序列剔除能提取更典型的區間場景,分別針對上述2 種聚類算法設計3 個對比算例:算例1,分別采用K-means 算法和層次聚類算法對原始負荷曲線進行聚類得到4 個典型區間場景;算例2,分別采用K-means 算法和層次聚類算法對負荷近似序列進行聚類得到4 個典型區間場景;算例3,首先剔除非顯著負荷近似序列,然后分別采用K-means 算法和層次聚類算法對剩余的負荷近似序列進行聚類得到4個典型區間場景。為了便于和本文方法挖掘的區間場景進行比較,算例1—3中均提取類簇包含的負荷近似序列邊界值來得到典型區間場景,而不再采用均值負荷曲線來表征用戶典型行為。

根據式(14)、(15)計算各算例及本文方法挖掘得到的典型區間場景的最大邊界距離和典型區域面積,結果如表1所示。

表1 區間場景的典型性指標對比Table 1 Comparison of typical indicators for interval scenes

由表1 可見,算例1—3 的dmax和Sd逐漸減小,這說明利用haar小波變換提取負荷近似序列以及剔除非顯著負荷近似序列可以提升區間場景的典型性。此外,利用本文方法挖掘得到的4 個典型區間場景的dmax和Sd與2 種算法的算例3 結果相當,這說明本文方法通過改進K-medoids 算法聚合得到負荷區間序列類簇,進而提取得到的典型區間場景是有效的。但區別于算例1 對負荷曲線直接聚類以及算例2 和算例3 中頻域分解再聚類的方式,本文方法可以實現典型區間場景的粒度調節,通過設置差異度閾值確保4 個典型區間場景包含的負荷近似序列比重都在85%以上,差異度閾值設置與調節結果如附錄A表A5 所示。調節后重新計算典型性指標,得到dmax和Sd分別為29.4 和43.2,而未進行粒度調節的典型區間場景的dmax和Sd分別為30.3和44.6,這說明經粒度調節后區間場景典型性得到進一步提升。

4 結論

針對單一典型曲線描述用戶用電行為的不足,本文提出一種基于haar 小波編碼和改進K-medoids算法聚合的用戶負荷典型區間場景挖掘方法,通過區間形式反映用戶在不同時段的功率分布范圍,從而更好地描述負荷的不確定性。

采用haar 小波變換提取負荷近似序列,可以忽略負荷細節波動,從而不會因負荷微小波動而增加場景的區間寬度,能更精細地表征用戶用電行為。剔除非顯著負荷近似序列可以有效減小區間場景所包含的區域面積,提高區間場景的典型性。

設置字符串差異度閾值可以實現典型區間場景的粒度調節,有助于電網公司根據實際需求得到不同粒度的典型區間場景,提高了區間場景的適用性。

通過數據驅動的方式挖掘負荷典型區間場景對數據集質量有較高要求,如要求數據集覆蓋全部工況且各工況樣本基本均衡等。

附錄見本刊網絡版(http://www.epae.cn)。

猜你喜歡
典型區間聚類
用最典型的事寫最有特點的人
你學會“區間測速”了嗎
典型胰島素瘤1例報道
全球經濟將繼續處于低速增長區間
基于K-means聚類的車-地無線通信場強研究
基于高斯混合聚類的陣列干涉SAR三維成像
基于Spark平臺的K-means聚類算法改進及并行化實現
基于加權模糊聚類的不平衡數據分類方法
區間對象族的可鎮定性分析
典型催開百花香
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合