李 健,林韶生,陳 芳,杜佩仁
(1.深圳供電局有限公司,廣東 深圳 518001;2.杭州鴻晟電力設(shè)計(jì)咨詢有限公司,浙江 杭州 310012;3.浙江大學(xué),浙江 杭州 310027)
不同類型用戶的負(fù)荷發(fā)展規(guī)律[1]大不相同,在構(gòu)建點(diǎn)負(fù)荷預(yù)測(cè)模型之前,我們需要基于大數(shù)據(jù)分析的特點(diǎn)[2],以數(shù)據(jù)可獲取為基本原則,對(duì)影響點(diǎn)負(fù)荷用電特征的關(guān)鍵因素進(jìn)行選擇[3],首先采用聚類分析的方法對(duì)點(diǎn)負(fù)荷進(jìn)行機(jī)器分類,然后,在此點(diǎn)負(fù)荷分類結(jié)果的基礎(chǔ)上進(jìn)一步分析各類點(diǎn)負(fù)荷的負(fù)荷增長規(guī)律,使預(yù)測(cè)效率更高,預(yù)測(cè)結(jié)果更加可信。
聚類分析(cluster analysis),簡(jiǎn)稱聚類(clustering),是一個(gè)把數(shù)據(jù)對(duì)象(或觀測(cè))劃分成子集的過程。每個(gè)子集是一個(gè)簇(cluster),使得簇中的對(duì)象彼此相似,但與其他簇中的對(duì)象不相似。由聚類分析產(chǎn)生的簇的集合稱作一個(gè)聚類。在這種語境下,在相同的數(shù)據(jù)集上,不同的聚類方法可能產(chǎn)生不同的聚類。劃分不是通過人,而是通過聚類算法進(jìn)行。聚類是有用的,因?yàn)樗赡軐?dǎo)致數(shù)據(jù)內(nèi)事先未知的群組的發(fā)現(xiàn)[4-5]。
本次研究采用兩級(jí)分類方法。一級(jí)分類根據(jù)臺(tái)區(qū)的用電類別進(jìn)行分類[6];二級(jí)分類采用k-均值聚類法對(duì)臺(tái)區(qū)的典型周期性負(fù)荷曲線進(jìn)行分類。
在負(fù)荷預(yù)測(cè)應(yīng)用中,對(duì)負(fù)荷進(jìn)行分類的主要目的是為了獲得各種類型負(fù)荷相應(yīng)的用電周期及負(fù)荷增長規(guī)律。電力用戶的常規(guī)分類定義包括行業(yè)分類及用電類別兩個(gè)屬性,行業(yè)分類雖然較用電類別分類更精細(xì),但在實(shí)際應(yīng)用中,存在屬性定義不完整、不精確、更新維護(hù)不及時(shí)等數(shù)據(jù)質(zhì)量問題;用電類別分類雖然粗獷,但從初步反映用戶的用電周期及負(fù)荷增長規(guī)律角度觀察,用電類別分類定義已能滿足應(yīng)用要求,且由于用電類別與電費(fèi)標(biāo)準(zhǔn)相關(guān),數(shù)據(jù)質(zhì)量非常高,因此,取用電類別作為臺(tái)區(qū)的分類屬性,是合理的選擇。用電類別定義如表1所示。
聚類分析最簡(jiǎn)單、最基本的版本是劃分,它把對(duì)象組織成多個(gè)互斥的組或簇。我們可以根據(jù)配變負(fù)荷預(yù)測(cè)實(shí)際需要給定簇的個(gè)數(shù),這個(gè)參數(shù)是劃分方法的起點(diǎn)。
形式地,給定n個(gè)數(shù)據(jù)對(duì)象的數(shù)據(jù)集D,以及要生成的簇?cái)?shù)k,劃分算法把數(shù)據(jù)對(duì)象組織成k(k≤n)個(gè)分區(qū),其中每個(gè)分區(qū)代表一個(gè)簇。這些簇的形成旨在優(yōu)化一個(gè)客觀劃分準(zhǔn)則,如基于距離的相異性函數(shù),使得根據(jù)數(shù)據(jù)集的屬性,在同一個(gè)簇中的對(duì)象是“相似的”,而不同簇中的對(duì)象是“相異的”[7-10]。
K-均值算法是最著名、最常用的劃分算法,其功能強(qiáng)大,從截面數(shù)據(jù)到序列數(shù)據(jù),適用于連續(xù)性數(shù)據(jù)而變形則可以處理離散型數(shù)據(jù),非常適合于分析配變負(fù)荷的數(shù)據(jù)。
由于我們分析的配變負(fù)荷數(shù)據(jù)屬于時(shí)間序列類型,具有一定特殊性,在我們采用K-均值算法進(jìn)行聚類分析之前,先要具體討論一下配變負(fù)荷數(shù)據(jù)的距離計(jì)算。
1.2.1 相似性度量
相似性度量是聚類分析的基礎(chǔ),而進(jìn)行相似性度量的依據(jù)是各式各樣的距離度量算法。[11-13]常見的距離度量算法有歐氏距離法、閔可夫斯基距離法,文本相似度中常用的海明距離法、雅卡爾距離法,以及在語音分析常用的基于時(shí)間序列分析的DTW距離度量算法。
時(shí)間序列的相似性度量有其特殊性。首先,做相似性度量的時(shí)間序列應(yīng)該有較高的信噪比,我們不希望存在大量的噪聲,這會(huì)引入較大的誤差,因此之前需要做去噪,最簡(jiǎn)單就是平滑處理,這個(gè)需要自己根據(jù)實(shí)際情況把握,以免過度丟失信息。其次,相比較的時(shí)間序列之間很多時(shí)候存在錯(cuò)位匹配的情況,這個(gè)需要相似性度量算法來解決,實(shí)際中也要根據(jù)場(chǎng)景,額外做些處理。
為了方便量化時(shí)間序列的相似性,我們把相似性視為距離的倒數(shù),這樣相似性的計(jì)算就轉(zhuǎn)為距離的計(jì)算,然后從最簡(jiǎn)單的情況入手,列出時(shí)間序列距離計(jì)算的三個(gè)條件:
(1)兩個(gè)時(shí)間序列的距離是非負(fù)的,當(dāng)且僅當(dāng)兩個(gè)時(shí)間序列是完全相同的時(shí)候,距離才為0。
(3)三角不等式,也即d(〗a,c)〗≤d(〗a,b)〗+d(〗b,c)〗。(如果是定義一個(gè)復(fù)雜的算子,這一點(diǎn)的證明比較困難,不過只要是基于歐式空間的定義,然后保證距離的有序性,基本上都不會(huì)背離這一點(diǎn),所以實(shí)際定義時(shí)不用過多關(guān)心這個(gè)點(diǎn)。)
基于以上的假設(shè),我們直接把時(shí)間序列的數(shù)值作為時(shí)間序列的表示,用對(duì)應(yīng)時(shí)間點(diǎn)之間的歐式距離之和作為距離(假設(shè)兩個(gè)時(shí)間序列的長度一致),那么我們就得到了最簡(jiǎn)單的計(jì)算方式。
但在存在離群點(diǎn)、不平穩(wěn)的時(shí)間序列數(shù)據(jù)中,簡(jiǎn)單易用的歐氏距離法容易受到干擾而暴露出很多問題。
1.2.2 應(yīng)對(duì)時(shí)間序列數(shù)據(jù)中的異常
歐氏距離法的優(yōu)點(diǎn)在于:①直觀而計(jì)算簡(jiǎn)便,有良好的數(shù)學(xué)背景和意義;②由于序列的一些常用變換(如傅里葉變換等)的系數(shù)有歐氏距離保持不變的性質(zhì),所以經(jīng)常用于數(shù)據(jù)庫的高效索引。缺點(diǎn)在于:①需要計(jì)算的兩序列具有相同的長度;②對(duì)于時(shí)間序列點(diǎn)的突變比較敏感;③歐氏距離對(duì)序列按照時(shí)間軸進(jìn)行點(diǎn)對(duì)點(diǎn)依次計(jì)算,對(duì)時(shí)間序列的錯(cuò)位、移位比較敏感。
我們希望我們的距離度量算法能夠具有普適性,以適應(yīng)不同時(shí)間序列特性的區(qū)分,比如閔可夫斯基距離法。
(1)
閔可夫斯基距離法可以視為一組距離的定義,可以通過參數(shù)p調(diào)整距離對(duì)時(shí)間序列特性的適應(yīng),特別的,當(dāng)p=2的時(shí)候就是歐式距離。如果我們希望突出兩個(gè)時(shí)間點(diǎn)之間存在差異,而非差異度,我們可以讓p值調(diào)??;反之,我們希望突出兩個(gè)時(shí)間點(diǎn)之間的差異度,那我們可以讓p值調(diào)大。當(dāng)p趨于無窮大時(shí),閔可夫斯基距離法就是切比雪夫距離。因此,我們要剔除離群點(diǎn)的影響,可以把p值調(diào)小,要剔除噪聲的影響可以把p值調(diào)大。
當(dāng)然,我們也有其他的方法來解決這一問題。比如還是針對(duì)離群點(diǎn)和噪聲,我們可以采用離散化的思路來解決,把一定范圍內(nèi)的距離差視為一類,把大于一定閾值的距離差視為一類,這樣就弱化了它們帶來的影響。其實(shí)這就是一種符號(hào)匹配的思想,將時(shí)間序列語義化映射到符號(hào)或者字符串上,不僅僅是離散化,也可以直接來表示時(shí)間點(diǎn)之間的差值或者變化率等信息。基于這樣的表達(dá)方式,我們就不能采用數(shù)值型的距離度量來進(jìn)行相似度的計(jì)算了,但是我們可以引入文本相似度的計(jì)算邏輯,比如說Hamming距離或者Jaccard距離。
1.2.3 解決時(shí)間序列不對(duì)齊
上述的定義都是假設(shè)在時(shí)間序列對(duì)齊的情況下,也即我們假設(shè)時(shí)間序列長度是相等的,而且我們期望不同的時(shí)間序列上每個(gè)相同時(shí)間點(diǎn)的物理含義是一致的,表示的是同一個(gè)目標(biāo)(值)。但是實(shí)際上這種情況過于理想,在實(shí)際實(shí)踐中,相比較的時(shí)間序列之間可能存在著移位和錯(cuò)位的情況。
這時(shí)候我們需要調(diào)整我們的距離度量函數(shù)來解決這一問題,最常見的就是DTW算法。DTW算法的實(shí)質(zhì)就是基于動(dòng)態(tài)規(guī)劃,借助局部最佳化的思想來尋找一條路徑,使得兩個(gè)時(shí)間序列之間的累計(jì)距離最小。DTW不完全是點(diǎn)對(duì)點(diǎn)之間的計(jì)算,而是在局部范圍內(nèi)可以跳過匹配序列中的若干點(diǎn),從而使兩序列能夠以較為“合拍”的方式匹配。DTW算法通過貪心的方式去尋找一條兩條時(shí)間序列之間距離最短的匹配路徑,由于算法是貪心的,所以肯定不是最優(yōu)解,同時(shí)也不能保證之前提到的距離的對(duì)稱性,所以在使用的時(shí)候如果需要對(duì)稱性,需要進(jìn)一步處理。
1.2.4 DTW算法原理
對(duì)于時(shí)間序列X={x1,x2,…,xm}和Y={y1,y2,…,yn},DTW距離可以遞歸定義為:
(2)
其中,Rest(X)={x1,x2,…,xm},Rest(Y)={y1,y2,…,yn}
它通過尋找時(shí)間序列間距離的最小路徑來計(jì)算兩時(shí)間序列間的距離。
以臺(tái)區(qū)用電類別屬性為基準(zhǔn),綜合分析臺(tái)區(qū)的公專變屬性、行業(yè)分類、下轄用戶等其他信息,確定臺(tái)區(qū)一級(jí)分類規(guī)則[14]。由于公變臺(tái)區(qū)和專變臺(tái)區(qū)的用電類別屬性有較大差異,所以需要分別分析。
公變臺(tái)區(qū)以混合用電類別為主,“居民生活”、“一般工商業(yè)及其他”、“其他用電”和“大工業(yè)用電”四種類型混合的臺(tái)區(qū)占比高達(dá)94%,這些臺(tái)區(qū)均包含城中村、居民小區(qū)臺(tái)區(qū),所以建議將公變臺(tái)區(qū)作為一個(gè)整體進(jìn)行聚類分析。
專變臺(tái)區(qū)以單一用電類型為主,其中“大工業(yè)用電”、“一般工商業(yè)用電”、“商業(yè)”、“居民生活”四類的臺(tái)區(qū)占比高達(dá)90%,混合的用電類別占比較少,所以,專變臺(tái)區(qū)根據(jù)其主導(dǎo)用電類別進(jìn)行分類。
根據(jù)以上公專變臺(tái)區(qū)的用電類別分析結(jié)果,綜合臺(tái)區(qū)行業(yè)類別和用戶信息,確定將臺(tái)區(qū)按其主要用電類別分為“工業(yè)”、“一般工商業(yè)”、“商業(yè)”、“居民生活”四類,具體分類規(guī)則如表2所示。
表2 用電類別分類關(guān)系表
本次研究初定選擇日、周、年負(fù)荷曲線作為聚類分析基礎(chǔ)數(shù)據(jù)[15-18],其中:
日典型負(fù)荷周期曲線能表征負(fù)荷周期的主要特征包括日作息時(shí)間(高峰時(shí)段);
周典型負(fù)荷周期曲線能表征負(fù)荷周期的主要特征包括休息日時(shí)間(雙休或單休日);
年負(fù)荷周期曲線能表征負(fù)荷周期的主要特征包括年用電周期(高峰季節(jié))、年基礎(chǔ)負(fù)荷(年基礎(chǔ)負(fù)荷占比)及節(jié)假日。
經(jīng)過對(duì)三種負(fù)荷曲線進(jìn)行分析,發(fā)現(xiàn)同一行業(yè)內(nèi)休息日也不一定統(tǒng)一,所以最終選定典型日和年負(fù)荷曲線作為本次研究聚類的基礎(chǔ)數(shù)據(jù)。
由于電力信息采集系統(tǒng)不可避免的會(huì)存在一些不良數(shù)據(jù),包括數(shù)據(jù)失真和數(shù)據(jù)缺失,導(dǎo)致臺(tái)區(qū)負(fù)荷數(shù)據(jù)質(zhì)量存在一定問題,這些問題將導(dǎo)致聚類結(jié)果不準(zhǔn)確,所以需要對(duì)不良數(shù)據(jù)做相應(yīng)的處理。
異常數(shù)據(jù)處理主要需要處理兩種數(shù)據(jù):明顯過大的負(fù)荷值和缺失負(fù)荷值。
由于后續(xù)需要對(duì)曲線進(jìn)行標(biāo)準(zhǔn)化處理,曲線中存在過大的異常值會(huì)對(duì)曲線形狀造成很大的影響;個(gè)別的缺失值也會(huì)導(dǎo)致聚類結(jié)果出現(xiàn)偏差[19]。
對(duì)于明顯過大的負(fù)荷異常值(超過容量2倍)和個(gè)別的缺失值,程序發(fā)現(xiàn)后,采用改時(shí)刻前后的負(fù)荷值的平均值替換該值。對(duì)于連續(xù)的缺失值或負(fù)荷0值,可能是實(shí)際的運(yùn)行狀態(tài),則不對(duì)其進(jìn)行處理。
由于不同臺(tái)區(qū)容量不同,其負(fù)荷的分布區(qū)間也各不相同,如果直接對(duì)其進(jìn)行聚類,會(huì)導(dǎo)致臺(tái)區(qū)以負(fù)荷值的大小進(jìn)行分類,而不能反映其負(fù)荷曲線的特征,需要先對(duì)曲線進(jìn)行標(biāo)準(zhǔn)化[20-22]。
標(biāo)準(zhǔn)化公式如下:
Si=Pi/max(P)
(3)
式中:Si為標(biāo)準(zhǔn)化結(jié)果值;Pi為負(fù)荷原始值;max(P)為當(dāng)前負(fù)荷曲線最大值。
本次聚類采用的是k-means法對(duì)臺(tái)區(qū)負(fù)荷曲線進(jìn)行聚類,其中k值的確定是算法的重點(diǎn)。但由于不同類型的臺(tái)區(qū)內(nèi)部負(fù)荷曲線規(guī)律數(shù)量不同,且存在一些未被篩選出的異常數(shù)據(jù)導(dǎo)致曲線規(guī)律更為復(fù)雜,k值的確定成為難題。
我們等間距取多個(gè)k值進(jìn)行聚類,并對(duì)每次聚類結(jié)果的平均誤差進(jìn)行計(jì)算,當(dāng)k值的增加對(duì)平均誤差影響不大時(shí)(增長率<2%),則認(rèn)定當(dāng)前k值是適當(dāng)?shù)摹?/p>
深圳大數(shù)據(jù)平臺(tái)臺(tái)區(qū)表共有在運(yùn)臺(tái)區(qū)89 420個(gè)(截至2019年10月16日),成功匹配到用電類別和負(fù)荷數(shù)據(jù)的臺(tái)區(qū)共61 352個(gè),其中公變臺(tái)區(qū)13 713個(gè),專變臺(tái)區(qū)47 649個(gè)。
下面使用兩級(jí)分類方法對(duì)這些臺(tái)區(qū)進(jìn)行分類。
使用2.1中的臺(tái)區(qū)分類規(guī)則,對(duì)深圳大數(shù)據(jù)平臺(tái)中的臺(tái)區(qū)進(jìn)行分類,結(jié)果如下。
工業(yè)用電:包括以“大工業(yè)用電”和“普通工業(yè)”為主導(dǎo)的專變臺(tái)區(qū),共20 717個(gè);
居民生活用電:包括公變臺(tái)區(qū)和以“居民生活”為主導(dǎo)的專變臺(tái)區(qū),共17 591個(gè);
一般工商業(yè)用電:包括以“一般工商業(yè)及其他”和“農(nóng)業(yè)生產(chǎn)”為主導(dǎo)的專變臺(tái)區(qū),共11 443個(gè);
商業(yè)用電:包括以“商業(yè)”和“非工業(yè)”為主導(dǎo)的專變臺(tái)區(qū),共11 610個(gè)。
由于臺(tái)區(qū)用電類別屬性與其行業(yè)分類并非嚴(yán)格對(duì)應(yīng)關(guān)系,所以上述分類規(guī)則無法保證100%將各行業(yè)類別的臺(tái)區(qū)分到一起,將不同行業(yè)類別的臺(tái)區(qū)分開,會(huì)有少數(shù)臺(tái)區(qū)分到不屬于自己的行業(yè)類別中去。后續(xù)還需要根據(jù)周期性負(fù)荷特征對(duì)臺(tái)區(qū)的行業(yè)類別進(jìn)行進(jìn)一步的識(shí)別。
一級(jí)分類后,居民生活臺(tái)區(qū)有17 591個(gè),排除部分?jǐn)?shù)據(jù)量過少無法形成日年負(fù)荷曲線的臺(tái)區(qū),剩余居民生活類臺(tái)區(qū)15 980個(gè),對(duì)其進(jìn)行日年最大負(fù)荷聚類,當(dāng)k=100時(shí),平均誤差已經(jīng)趨于穩(wěn)定,作為示例研究,為便于分析,本論文選用100作為k值取值,結(jié)果如下。
表3 居民生活臺(tái)區(qū)典型日年(最大)負(fù)荷行業(yè)聚類特征(匯總)
居民生活類臺(tái)區(qū)主要包括城中村、住宅小區(qū)和學(xué)校三類用戶,其中住宅小區(qū)用電性質(zhì)比較單一;學(xué)校分為走讀和住宿兩類,走讀的學(xué)校特征比較明顯,住宿類學(xué)校由于混合了宿舍的負(fù)荷,用電性質(zhì)與居住類臺(tái)區(qū)接近,有可能與居住類臺(tái)區(qū)分到一起;城中村臺(tái)區(qū)雖然以居住負(fù)荷為主,但也混合了很多其他類型的負(fù)荷,負(fù)荷特性比較復(fù)雜。
居住類臺(tái)區(qū)的聚類結(jié)果如圖4所示,其負(fù)荷特征為:
(1)日作息時(shí)間:晚上高、夜間5點(diǎn)最低。
(2)日基礎(chǔ)負(fù)荷占比:有相當(dāng)?shù)乃?,?5~60%之間。
(3)年季節(jié)周期:居住類的典型季節(jié)特征是夏季高,春節(jié)最低,特征明顯。
(4)年基礎(chǔ)負(fù)荷占比:差異很大,在10~60%之間。
(5)節(jié)假日:國慶、春節(jié)兩個(gè)長假特征非常明顯。
學(xué)校類臺(tái)區(qū)的聚類結(jié)果如圖5所示,其負(fù)荷特征為:
(1)日作息時(shí)間:白天高、夜間3點(diǎn)最低。
(2)日基礎(chǔ)負(fù)荷占比:水平相對(duì)低一些,在20~45%之間。
(3)年季節(jié)周期:學(xué)校類的典型季節(jié)特征是夏季高,春節(jié)最低,特征明顯。
(4)年基礎(chǔ)負(fù)荷占比:差異很大,在10~60%之間。
(5)節(jié)假日:國慶、春節(jié)兩個(gè)長假特征非常明顯,大部分學(xué)校暑假特征也很明顯。
在一級(jí)分類的前提下進(jìn)行聚類分析,學(xué)校臺(tái)區(qū)能夠憑借暑假負(fù)荷特征從居民生活臺(tái)區(qū)中獨(dú)立出來,形成單獨(dú)的類別,說明本臺(tái)區(qū)二級(jí)分類方法是可行的。
隨機(jī)選取的349所學(xué)校臺(tái)區(qū)在100個(gè)行業(yè)聚類中占有了37個(gè)(37%),分布較為廣泛,其中,形成了8類以學(xué)校為主導(dǎo)類型的分類,但也有40%多的學(xué)校臺(tái)區(qū)分布在了居住類中。其中,學(xué)校主導(dǎo)型199個(gè)(57%),居住主導(dǎo)型144個(gè)(41.3%),公共服務(wù)主導(dǎo)型5個(gè)(1.4%),商住綜合型3個(gè)(0.9%)。
以下選取包含學(xué)校數(shù)據(jù)較多的其中37類中的各一個(gè)學(xué)校實(shí)例,并以學(xué)校是否住宿制特征為焦點(diǎn)進(jìn)行具體分析。
(1)分類:67-65:學(xué)校主導(dǎo)居住為輔 學(xué)校數(shù)量:23個(gè)。
(2)實(shí)例名稱:深圳市龍崗區(qū)龍鵬小學(xué);
(1)分類:35-58:學(xué)校主導(dǎo)居住為輔 學(xué)校數(shù)量:27個(gè)。
(2)實(shí)例名稱:深圳市筍崗中學(xué);
單獨(dú)對(duì)居民生活用電臺(tái)區(qū)進(jìn)行聚類后,“學(xué)校主導(dǎo)”類臺(tái)區(qū)能夠形成獨(dú)立分類,且行業(yè)負(fù)荷特征明顯(住宿特征),證明在對(duì)臺(tái)區(qū)進(jìn)行日年最大負(fù)荷聚類前,根據(jù)臺(tái)區(qū)的用電類別進(jìn)行“一級(jí)分類”是必要的選擇。
基于聚類分析方法,對(duì)于投運(yùn)超過1年的臺(tái)區(qū),依據(jù)日年最大負(fù)荷合并曲線進(jìn)行聚合分類,所獲得的臺(tái)區(qū)行業(yè)特征分類可達(dá)到必要的精細(xì)程度。通過實(shí)例驗(yàn)證,以臺(tái)區(qū)為對(duì)象,通過一級(jí)(對(duì)象分類)、二級(jí)(用電周期性規(guī)律)兩級(jí)分類及適當(dāng)?shù)腒值取值,所獲得的臺(tái)區(qū)行業(yè)特征分類結(jié)果已可以達(dá)到足夠的細(xì)分程度,可以滿足大數(shù)據(jù)環(huán)境下對(duì)臺(tái)區(qū)用戶進(jìn)行自動(dòng)分類的應(yīng)用需求。