聚類算法總結算法
1、聚類方法分類
聚類算法大體能夠分爲劃分聚類方法、層次聚類方法、密度聚類方法、網格聚類方法、模型聚類方法等。近年來,量子聚類方法、譜聚類方法、粒度聚類方法、機率圖聚類方法、同步聚類方法等也流行起來。bootstrap
- 1.1 基於劃分的聚類算法
基於劃分的聚類算法經過構造一個迭代過程來優化目標函數,當優化到目標函數的最小值或極小值時,能夠獲得數據集的一些不相交的子集,一般認爲此時獲得的每一個子集就是一個聚類。
多數基於劃分的聚類算法都是很是高效的,但須要事先給定一個在聚類分析前難以肯定下來的聚類數目。k-means 算法[5]和 FCM(FuzzyC Means)算法是該類型中最著名的兩個算法。另外,k-中心點算法 PAM(PartitioningAround Medoid)和 CLARA(Clustering LARgeApplications)、k-模算法(聚類分類數據)和k-原型算法(聚類混合數據)[25]也屬於這種類型的算法。基於劃分的聚類算法優勢是易於實現,聚類速度快。其時間複雜度與數據點數目n、數據的維度d 及預先設定的聚類數目k 成線性關係。缺點是優化函數是個NP難問題,要搜索到最小值,時間代價高,且易陷入局部最小值。
- 1.2 層次聚類算法
層次聚類方法使用一個距離矩陣做爲輸入,通過聚類後獲得一個反映該數據集分佈狀
況的聚類層次結構圖。層次聚類算法一般分爲兩種。第一種是凝聚的層次聚類算法,它首先把每一個數據點看做是一個聚類,而後以一種自底向上的方式經過不斷地選擇最近鄰居聚類對的合併操做,最終能夠構造出一棵表明着該數據集聚類結構的層次樹。第二種是分裂的層次聚類算法,它首先把全部的數據點看做是一個聚類,而後以一種以自頂向下的方式經過不斷地選擇最鬆散簇進行分裂操做,最終能夠構造出一棵表明着該數據集聚類結構的層次樹。儘管層次聚類方法的時間代價高於劃分聚類方法,但多數層次聚類算法並不須要事先設定一個難以肯定的聚類數目這個參數,並且這類方法能夠得到一種具備多個粒度的多層次聚類結構,這是它區別於劃分聚類方法的最大優勢。
- 1.3 基於密度的聚類算法
基於密度的聚類算法試圖經過稀疏區域來劃分高密度區域以發現明顯的聚類和孤立點,主要用於空間型數據的聚類。表明性的是DBSCAN算法。
- 1.4 基於網格的聚類算法
基於網格的聚類算法是一種基於網格的具備多分辨率的聚類方法。它首先將數據集的分佈空間劃分爲若干個規則網格(如超矩形單元)或靈活的網格(如任意形狀的多面體),而後經過融合相連的帶數據概要信息的網格來得到明顯的聚類。這類算法的優勢是處理時間與數據點的數目無關、與數據的輸入順序無關,能夠處理任意類型的數據。其缺點是 處理時間與每一個維度上所劃分的單元數相關,必定程度上下降了聚類的質量和準確性。表明性算法是STING(STatistical INformation Grid)算法。
- 1.5 基於模型的聚類算法
基於模型的聚類算法藉助於一些統計模型來得到數據集的聚類分佈信息。該方法假定數據集是由有限個機率分佈模型共同做用生成的。在這種方法中,多變量的高斯分佈混合模型應用最爲普遍。其中,COBWEB 算法是一個經常使用的、簡單的增量式概念聚類方法,它採用分類樹的形式來表現層次聚類結果。
- 1.6 基於圖的聚類算法
採用圖聚類方法進行聚類分析時,首先是創建與具體問題相適應的圖。圖的結點表明被分析數據的基層單元,圖的邊表明基層單元數據之間的類似性度量(或相異性度量)。一般,每一個基層單元數據之間都會有一個度量表達,這樣能夠保持數據集的局部分佈特性。圖聚類方法是以數據集的局部鏈接特徵做爲聚類的主要信息源,於是易於處理局部數據的特性。Karypis 等提出的變色龍算法也可看做是一種圖聚類算法。
- 1.7 其餘聚類算法
量子聚類方法借用了量子學理論,先是從源數據中建立一個基於空間尺度的機率函數,接着使用一些分析操做來得到一個根據極小值來肯定聚類中心的勢函數,最終經過調整尺度參數來搜索聚類結構。
譜聚類(Spectral Clustering)方法經過源數據的類似度矩陣來計算特徵值,進而能夠發現明顯的聚類區域。許多譜聚類算法都易於實現,其效果優於傳統的聚類算法,如k-means,它們在許多應用中也都得到了成功的實現。用於圖像劃分的 Shi-Malik 算法就是基於譜聚類方法開發出來的。
基於粒度的聚類方法,是從信息粒度角度上發展起來的一個新的聚類研究方向。目前這種聚類方法的研究還不太成熟,尤爲是對粒度計算語義的研究還比較少。
機率圖聚類方法是近年來流行起來的一種聚類方法。最著名的機率圖聚類方法要數2007 年發表在《Science》上面的 AP(AffinityPropagation)聚類算法。
同步聚類算法——SynC (Synchronization Clustering)算法。該算法不只能夠在不知道數據集的任何分佈狀況下,經過動態的同步過程來發現它的內在結構,並能很好地處理孤立點,還能使用最小描述長度原理來實現自動聚類。
因爲基於網格的算法主要用於處理空間數據,而電力負荷曲線是一種時間序列,本文重點研究其餘類型的聚類算法。
2、電力負荷聚類方法
目前的電力負荷曲線聚類的方法不少,比較流行的有Kmeans 聚類、小波分析、模糊C 均值聚類算法(FCM)、集成聚類算法、自組織特徵映射神經網絡(SOM)、極端學習機(ELM)、雲模型等,同時還有一些在這些算法的基礎上進行改進的算法。網絡
- 1.1 聚類有效性
聚類有效性研究是經過創建有效性指標,評價聚類質量並肯定最佳聚類數的過程。典型的聚類有效性指標有偏差平方和(sum of squared error,SSE) 、Calinski-Harabasz 指標(Calinski-HarabaszIndex,CHI)、Davies-Bouldi 指標(Davies-BouldinIndex,DBI)等。
1)SSE 指標。
偏差平方和 SSE 指標ISSE 用一個子類到所在類簇的聚類中心的歐氏距離來表示,即:
d(ci , x)爲向量間的歐氏距離。隨着聚類數增多,ISSE會減少,SSE 曲線的拐點表示在該點後再增長聚類數時偏差平方和的減少幅度很小,所以能夠將SSE曲線的拐點做爲最佳聚類數。 2)CHI 指標。 CHI 指標綜合考慮類間的分散性(用B 表示)和類內的緊湊性(用W 表示),其中:
式中:x 爲全部對象的均值;wk,i 表示第i 個對象對第k 個類簇的隸屬關係,即:
可見,ICHI 越大表示類簇間的分散性和類簇內的緊湊性越好。 3)DBI 指標。 DBI 指標的含義與CHI 相似,計算公式爲:
其中:
式中:d(Xk)和d(Xj)爲矩陣內部距離;d(ck, cj)爲向量間的距離。IDBI 越小表示聚類效果越好。
3 種聚類有效性指標均可以正確地找到最佳聚類數。CHI 和DBI 曲線的極值點比SSE 曲 線的拐點更爲直觀;與CHI 相比,DBI 指標的計算公式更爲簡單且變化範圍小,便於應用。所以,DBI適合做爲電力負荷曲線聚類的有效性指標。
- 二、經典聚類算法比較 表 2 對上述各種算法進行彙總:
由圖 2 可知,劃分聚類的計算效率明顯高於其餘類型的算法。
由圖3 可知,層次聚類的效果較好且波動性較小。此外,這兩類算法都具備須要的輸入參數較少的優勢。 本文將劃分聚類高效率和層次聚類高精度的特色相結合,提出負荷曲線的集成聚類算法。app
- 三、集成聚類算法 集成聚類算法(ensemble clustering algorithm,EnsClust)的基本思想是:在原數據集的多個子集上重複進行劃分聚類,對獲得的聚類中心用層次聚類進行組合。集成聚類算法包括3 個步驟:bootstrap重採樣、劃分聚類、層次聚類。首先經過bootstrap 重採樣獲得原數據集的多個樣本集,而後經過劃分聚類減少每一個樣本集的數據規模,最後用層次聚類對劃分聚類的結果進行組合。 3.1 算法流程以下:
1)bootstrap 重採樣。
所謂 bootstrap 重採樣就是對容量爲n 的原始樣本進行有放回的隨機採樣,抽取的隨機樣本容量爲n,並保證每次抽樣中各個體被抽取的機率相等。因爲劃分聚類穩定性較差且可能收斂到局部最優解,即不一樣的初始聚類中心或數據集的微小變更可能會致使不一樣的聚類結果。經過bootstrap 重採樣,在多個樣本集上進行聚類,能夠下降初始聚類中心隨機因素和原始數據集中離羣點的影響,從而提升算法穩定性。
2)劃分聚類。
在集成聚類算法中,劃分聚類可看做對層次聚類的數據預處理步驟。若直接對原始數據集進行層次聚類,則須要計算全部對象兩兩之間的歐氏距離並存儲該距離矩陣,時間和空間開銷很大。劃分聚類效率最高,用其輸出的聚類中心表徵原始數據集的結構,從而大幅縮減數據規模。和隨機抽樣相比,聚類中心包含原始數據集更多的信息並能消除噪聲點和離羣點的影響。
3)層次聚類。
在集成聚類算法中,層次聚類可看做是對樣本集劃分聚類的輸出結果進行組合。爲了解決劃分聚類容易陷入局部最優解和受初始聚類中心影響較大的問題,採用聚類質量較好、穩定性較高的層次聚類算法對劃分聚類輸出的聚類中心進行組合,進而獲得最終的聚類結果。
- 3.2 算法分析和實驗結果
綜合以上分析,集成聚類算法不只具備較高的計算效率,並且聚類質量也比傳統的劃分聚類和層次聚類算法有所提升。函數
- 四、結合降維的集成聚類算法 4.1 負荷曲線降維
當數據集規模較大時,採用集成聚類算法的計算時間仍是較長,爲了進一步提高聚類效率,有必要對數據集進行降維處理。降維的目的用維數較低的向量表示負荷曲線。降維一方面能夠減少數據的存儲空間,另外一方面能夠減小向量間歐氏距離的計算時間,提高算法效率。經常使用的降維算法包括sammon 映射、自組織映射、主成分分析等。 4.2 降維算法分類 1)sammon 映射。 sammon 映射(sammon mapping,SM)是一種非線性映射,算法的目標是最小化偏差函數:
式中:d(xi,xj)爲原始空間中對象i 和對象j 間的距離;d(yi,yj)爲投影空間中兩個對象的距離。sammon 映射用梯度降低法求解該優化問題。
2)自組織映射。
自組織映射(self-organizing map,SOM)神經網絡能夠實現對數據的非線性降維[20]。SOM 的輸入層節點是高維向量的屬性,輸出層節點是低維向量的屬性,輸入層屬性和輸出層屬性之間的類似性經過權向量表示。計算輸入向量x(m)與權向量w(n)間的歐氏距離d(x(m), w(n)),將與x(m)最近的輸出節點做爲勝出節點,並更新其權向量:
式中η爲學習率。同時更新其k 個近鄰的權向量。
3)主成分分析。
主成分分析(principal component analysis,PCA)是線性降維算法。用原始變量的線性組合構造綜合指標,使其儘量多地反映原始變量的信息(用方差表達)。這些綜合指標即爲主成分。
式中:X 爲歸一化後的數據矩陣;cov(X)爲協方差矩陣;V 的列向量爲cov(X)的正交單位特徵向量。將 X 降至L 維後的數據矩陣爲:
4)特徵提取。
特徵提取(feature extraction,FE)法直接計算每條負荷曲線的特性指標,本文對每條負荷曲線提取4 個基本特性指標:最大負荷、最小負荷、平均負荷、負荷標準差。
4.3 降維結果分析
ORG 表示原始數據集,SM、SOM、PCA、FE分別表示sammon 映射、自組織映射、主成分分析和特徵提取後的降維數據集。原始數據集是48 維,降維數據集是4 維。對降維數據集進行集成聚類。圖10 爲各類降維方法的計算時間,包括降維時間和聚類時間兩部分。由圖 10 可見,PCA 降維方法的計算時間最小,且數據集規模越大效果越明顯。
各類降維方法的聚類結果的DBI 指標如圖11 所示。由 DBI 的箱線圖可知,主成分分析和sammon映射降維後的數據集聚類效果較好且與原始數據集的聚類效果至關,說明這兩種降維方法能夠最大程度地保留負荷數據集的信息。
綜上所述,負荷曲線PCA 降維後的集成聚類精度很高。 五、結論
本文提出告終合降維技術的電力負荷曲線集成聚類算法。
1)聚類有效性指標SSE、CHI 和DBI 均可以正確地找到最佳聚類數。DBI 指標計算簡便、曲線直觀,適合做爲負荷曲線聚類的有效性指標。
2)對於負荷曲線數據集,層次聚類算法精度最高,劃分聚類算法效率最高,且隨着數據集規模增大,各類算法的效率差別顯著增大。
3)集成聚類算法結合了劃分聚類高效率和層次聚類高精度的優勢,聚類效率與劃分聚類算法接近,聚類質量優於劃分聚類與層次聚類。
4)對於負荷曲線降維,主成分分析的計算時間(包括降維時間和聚類時間)最短;主成分分析和sammon 映射降維後的數據集聚類效果最好。
5)對於海量高維的負荷曲線,可採用主成分分析對數據集降維,在此基礎上應用集成聚類算法聚類並用DBI 有效性指標評估聚類結果。
Ⅱ 基於改進DTW算法的用電負荷聚類研究
1、背景知識:DTW算法
Dynamic Time Warping(DTW 動態時間規整)是一種衡量兩個長度不一樣的時間序列的類似度的方法。應用也比較廣,主要是在模板匹配中,好比說用在孤立詞語音識別(識別兩段語音是否表示同一個單詞),手勢識別,數據挖掘和信息檢索等中。
在時間序列中,須要比較類似性的兩段時間序列的長度可能並不相等,在語音識別領域表現爲不一樣人的語速不一樣。由於語音信號具備至關大的隨機性,即便同一我的在不一樣時刻發同一個音,也不可能具備徹底的時間長度。並且同一個單詞內的不一樣音素的發音速度也不一樣,好比有的人會把「A」這個音拖得很長,或者把「i」發的很短。在這些複雜狀況下,使用傳統的歐幾里得距離沒法有效地求的兩個時間序列之間的距離(或者類似性)。學習
例如上圖所示,實線和虛線分別是同一個詞「pen」的兩個語音波形(在y軸上拉開了,以便觀察)。能夠看到他們總體上的波形形狀很類似,但在時間軸上倒是不對齊的。例如在第20個時間點的時候,實線波形的a點會對應於虛線波形的b’點,這樣傳統的經過比較距離來計算類似性很明顯不靠譜。由於很明顯,實線的a點對應虛線的b點纔是正確的。而在下圖中,DTW就能夠經過找到這兩個波形對齊的點,這樣計算它們的距離纔是正確的。
也就是說,大部分狀況下,兩個序列總體上具備很是類似的形狀,可是這些形狀在x軸上並非對齊的。因此咱們在比較他們的類似度以前,須要將其中一個(或者兩個)序列在時間軸下warping扭曲,以達到更好的對齊。而DTW就是實現這種warping扭曲的一種有效方法。DTW經過把時間序列進行延伸和縮短,來計算兩個時間序列性之間的類似性。
如何才知道兩個波形是對齊了呢?也就是說怎麼樣的warping纔是正確的?直觀上理解,固然是warping一個序列後能夠與另外一個序列重合recover。這個時候兩個序列中全部對應點的距離之和是最小的。因此從直觀上理解,warping的正確性通常指「feature to feature」的對齊。
動態時間規整DTW是一個典型的優化問題,它用知足必定條件的的時間規整函數W(n)描述測試模板和參考模板的時間對應關係,求解兩模板匹配時累計距離最小所對應的規整函數。
假設咱們有兩個時間序列Q和C,他們的長度分別是n和m:(實際語音匹配運用中,一個序列爲參考模板,一個序列爲測試模板,序列中的每一個點的值爲語音序列中每一幀的特徵值。例如語音序列Q共有n幀,第i幀的特徵值(一個數或者一個向量)是qi。至於取什麼特徵,在這裏不影響DTW的討論。咱們須要的是匹配這兩個語音序列的類似性,以達到識別咱們的測試語音是哪一個詞)
Q = q1, q2,…,qi,…, qn ; C = c1, c2,…, cj,…, cm ; 若是n=m,那麼就用不着折騰了,直接計算兩個序列的距離就行了。但若是n不等於m咱們就須要對齊。最簡單的對齊方式就是線性縮放了。把短的序列線性放大到和長序列同樣的長度再比較,或者把長的線性縮短到和短序列同樣的長度再比較。可是這樣的計算沒有考慮到語音中各個段在不一樣狀況下的持續時間會產生或長或短的變化,所以識別效果不可能最佳。所以更多的是採用動態規劃(dynamic programming)的方法。
爲了對齊這兩個序列,咱們須要構造一個n x m的矩陣網格,矩陣元素(i, j)表示qi和cj兩個點的距離d(qi, cj)(也就是序列Q的每個點和C的每個點之間的類似度,距離越小則類似度越高。這裏先無論順序),通常採用歐式距離,d(qi, cj)= (qi-cj)2(也能夠理解爲失真度)。每個矩陣元素(i, j)表示點qi和cj的對齊。DP算法能夠歸結爲尋找一條經過此網格中若干格點的路徑,路徑經過的格點即爲兩個序列進行計算的對齊的點。
哪條路徑纔是最好的呢?也就是剛纔那個問題,怎麼樣的warping纔是最好的。
咱們把這條路徑定義爲warping path規整路徑,並用W來表示,W的第k個元素定義爲wk=(i,j)k,定義了序列Q和C的映射。這樣咱們有:
首先,這條路徑不是隨意選擇的,須要知足如下幾個約束:
1)邊界條件:w1=(1, 1)和wK=(m, n)。任何一種語音的發音快慢都有可能變化,可是其各部分的前後次序不可能改變,所以所選的路徑一定是從左下角出發,在右上角結束。
2)連續性:若是wk-1= (a’, b’),那麼對於路徑的下一個點wk=(a, b)須要知足 (a-a’) <=1和 (b-b’) <=1。也就是不可能跨過某個點去匹配,只能和本身相鄰的點對齊。這樣能夠保證Q和C中的每一個座標都在W中出現。 3)單調性:若是wk-1= (a’, b’),那麼對於路徑的下一個點wk=(a, b)須要知足0<=(a-a’)和0<= (b-b’)。這限制W上面的點必須是隨着時間單調進行的。以保證圖B中的虛線不會相交。 結合連續性和單調性約束,每個格點的路徑就只有三個方向了。例如若是路徑已經經過了格點(i, j),那麼下一個經過的格點只多是下列三種狀況之一:(i+1, j),(i, j+1)或者(i+1, j+1)。測試
知足上面這些約束條件的路徑能夠有指數個,而後咱們感興趣的是使得下面的規整代價最小的路徑:
分母中的K主要是用來對不一樣的長度的規整路徑作補償。咱們的目的是或者說DTW的思想是把兩個時間序列進行延伸和縮短,來獲得兩個時間序列性距離最短也就是最類似的那一個warping,這個最短的距離也就是這兩個時間序列的最後的距離度量。在這裏,咱們要作的就是選擇一個路徑,使得最後獲得的總的距離最小。 這裏咱們定義一個累加距離cumulative distances。從(0, 0)點開始匹配這兩個序列Q和C,每到一個點,以前全部的點計算的距離都會累加。到達終點(n, m)後,這個累積距離就是咱們上面說的最後的總的距離,也就是序列Q和C的類似度。 累積距離γ(i,j)能夠按下面的方式表示,累積距離γ(i,j)爲當前格點距離d(i,j),也就是點qi和cj的歐式距離(類似性)與能夠到達該點的最小的鄰近元素的累積距離之和:
最佳路徑是使得沿路徑的積累距離達到最小值這條路徑。這條路徑能夠經過動態規劃(dynamic programming)算法獲得。
2、基於DTW改進算法
一、概述
本文提出一種基於改進DTW算法的用電負荷聚類方法,針對原DTW算法時間複雜度高、存在惡性匹配的缺點,提出對DTW算法的搜索路徑進行限制,控制在矩陣對角線附近,在限制不合理點對匹配的同時大大下降了搜索的複雜度,從O(N2)降至平均O(N)的水平;同時,引入曲線平移以在搜索範圍內儘量提高精度,改善時軸稍有偏移的類似曲線度量。最後選擇K-Medoids算法進行聚類,對用戶進行劃分。
二、實現思路
動態時間規整(DTW)算法能夠用來衡量時間序列類似度,但其侷限性也很是明顯。如圖2-1所示,DTW在計算兩時間序列匹配關係時,會遍歷整個M*N矩陣尋找最優路徑,時間複雜度高達O(N2),在處理大數據量時顯得極爲乏力;同時,DTW算法存在病態匹配現象,在許多場合下,比較時間序列類似度不容許進行大量曲線伸縮,不然可能會引入額外偏差。例如對用電負荷進行聚類時,波動週期不一樣的用戶顯然具備不一樣的用電習慣,不該該經過伸縮對齊被誤聚爲一類,圖2-2中的曲線會被DTW經過病態伸縮匹配,認爲很是類似。
爲此,論文提出了一種基於限制伸縮範圍並引入曲線平移的改進DTW算法,實現對用戶用電負荷進行類似度分析。越類似的曲線,其匹配路徑越接近矩陣的對角線;反之經過伸縮才能對齊的曲線,其路徑波動極大。爲了限制曲線的病態匹配,咱們提出將搜索範圍限制在矩陣對角線附近。對於超出搜索範圍的部分,引入曲線平移,在不超過伸縮範圍的基礎上儘量搜索最類似的匹配,進一步改善計算結果。同時,因爲限制了搜索範圍,大大減小了類似度比較開銷,能夠將算法複雜度降至平均O(N)的水平。
該方法除了DTW的三個約束條件以外,還有另外兩個約束條件:
約束四:搜索範圍約束。矩陣的搜索範圍表明了曲線的伸縮程度,越類似的曲線匹配路徑就越貼近對角線。設路徑搜索範圍必須在距離矩陣對角線附近Limit 範圍內,即曲線最大伸縮程度爲Limit。
Pi=(xa,yb),有|xa-yb|≤Limit
約束五:曲線平移約束。對於有明顯平移類似性的時間序列X 和Y,容許對曲線進行平移,平移後從新計算距離矩陣和匹配路徑。對於移出比較範圍的曲線起點和終點,保持它們的最優匹配關係,計入距離矩陣的初始值D[0,0]。
三、 算法流程
四、 聚類算法的選擇
爲了對用戶用電負荷進行聚類,已經經過改良的DTW算法衡量了用電曲線之間的距離。在此基礎上,咱們選擇K-Medoids算法對用戶進行聚類。
K-Medoids算法與K-means算法相似,都是經過隨機選取質心、計算點與質心的距離、更新質心的迭代過程完成聚類。不一樣之處在於質心的產生方法:在K-means中質心選取當前cluster中全部數據點的平均值;而在K-medoids算法中,咱們選取當前cluster 中到其餘全部點距離之和最小的點做爲新的質心。
L-K-Medoids算法對髒數據和異常數據不敏感,個別用電異常的用戶不會影響總體聚類的結果;K-Medoids算法能夠獲得典型用電曲線,即每一簇的質心都是一個實際用戶,能夠真實反映本類用戶用電特徵,便於後續結合地理、經濟等相關信息進行場景分析;同時,K-Medoids算法有易於解釋的物理意義,每一個向量表明着一條用戶用電曲線,每兩個向量之間的距離表明着不一樣用戶的用電類似度,每次迭代能夠視做用戶的從新排隊,每一個質心都表明着一個典型的實際用戶。
五、 實驗評估
選取輪廓係數Silhouette Coefficient、偏差平方和SSE以及Calinski-Harabaz Index做爲評估指標。
輪廓係數結合內聚度和分離度因素,SI越接近1則聚類的效果越好,簇內更緊緻,簇間更分離。公式定義以下,其中a是與它同類別的其它元素的平均距離,b是與它距離最近的不一樣類別中樣本的平均距離。
偏差平方和SSE衡量距離定義的合理性,比較聚類結果各點距離簇中心的偏差。
Calinski-Harabaz Index則從協方差的角度評估數據,類別內部數據的協方差越小越好,類別之間的協方差越大越好,則其評分就會越高。公式定義以下:
其中m爲訓練集樣本數,k爲類別數,Bk爲類別之間的協方差矩陣,Wk爲類別內部數據的協方差矩陣,tr爲矩陣的跡。
3、結論
本文提出了一種適合於衡量用戶用電模式類似度的基於限制伸縮的改進DTW算法。引入搜索範圍限制,規範了負荷序列的伸縮程度,避免了因惡意匹配形成的曲線週期改變,同時將運算複雜度提高至平均O(N)水平。經過引入序列平移,提高了算法對峯值出現時刻存在差別的類似用戶的計算精度。大數據
Canopy 算法
K-Means 、K-Medoids算法的一個不足之處是必須預先指定簇數K ,在許多實際應用中要設定一個合理的K值不是一件容易的事。此時,藉助Canopy 算法能夠完成簇數K 及初始簇中心的估計。Canopy 是一種聚類算法,依據參數T 1 和T 2 實現對象的粗略劃分。下圖顯示一個典型的Canopy 聚類過程。優化
劃分過程以下圖:
Canopy 算法雖然運行速度較快,可是聚類過程精度較低,所以本文使用Cannopy 算法對數據初步並行聚類,獲取K 個簇。而後把得到的K 個簇做爲初始聚類個數利用用K-means 進行進一步聚類。也就是說Canopy 算法主要把聚類分爲兩個階段。第一階段爲數據預處理階段,使用簡便計算方法將類似對象放入一個叫作Canopy 的子集中。第二階段爲聚類計算階段,在各個子集中使用K-Means算法計算同一子集中全部數據向量的距離。 其中,T1和T2的值能夠用交叉校驗來肯定。
我的想法
論文總結以下:
一、聚類有效性指標SSE、CHI 和DBI 均可以正確地找到最佳聚類數。DBI 指標計算簡便、曲線直觀,適合做爲負荷曲線聚類的有效性指標。
二、在聚類算法以前,使用Canopy算法對數據進行預分類,爲後面更精確的聚類算法打下基礎。
三、集成聚類算法能夠結合劃分聚類高效率和層次聚類高精度的優勢,聚類效率與劃分聚類算法接近,聚類質量優於劃分聚類與層次聚類。而在用電負荷中的應用中,劃分聚類算法採用K-Medoids更合理。
四、對於海量高維的負荷曲線,可採用主成分分析對數據集降維,在此基礎上應用集成聚類算法聚類並用DBI 有效性指標評估聚類結果。3d