?

MapReduce框架下運用K-modes聚類算法進行日負荷曲線預測*

2016-03-15 04:59廖一鳴趙文碩
計算機與數字工程 2016年2期
關鍵詞:大數據

李 彥 王 穎 廖一鳴 趙文碩

(華北電力大學控制與計算機工程學院 北京 102206)

?

MapReduce框架下運用K-modes聚類算法進行日負荷曲線預測*

李彥王穎廖一鳴趙文碩

(華北電力大學控制與計算機工程學院北京102206)

摘要提出一種MapReduce框架下運用K-modes聚類算法,并基于電力大數據對日負荷曲線進行預測的方法。將預測結果與傳統K-modes聚類算法的預測結果進行對比,結果表明:K-modes聚類算法進行分布式處理的方法是可行的,使用這種方法對日負荷曲線進行預測效果更好,提高了預測的精確性,更好地指導電力生產。

關鍵詞大數據; MapReduce; K-modes聚類算法; 日負荷曲線預測

Daily Load Curve Forecasting by Using K-modes Clustering Algorithm Under the Framework of MapReduce

LI YanWANG YingLIAO YimingZHAO Wenshuo

(School of Control and Computer Engineering, North China Electric Power University, Beijing102206)

AbstractA method using K-modes clustering algorithm under MapReduce framework, and forecasting daily load curve based on the method of power data is proposed. The prediction results is compared with the traditional K-modes clustering algorithm, and the results were analyzed. Results show that: the K-modes clustering algorithm for distributed processing method is feasible, and this method can predict daily load curve better, and improve the precision of the prediction, guide the electric power production better.

Key Wordsbigdata, MapReduce, K-modes clusteringal gorithm, dailyload forecasting

Class NumberTP181

1引言

國家電網是當今世界上最大的自動化電能計量系統。其收集并且保存的數據總量達10PB,國家電網即將迎來大數據時代[1]。對電網而言,根據所采集大量用戶的用電數據,運用大數據技術對日負荷曲線進行精確地預測具有重要意義。

MapReduce是一種能處理大規模數據集的并行運算問題的編程模型。MapReduce框架有一定的應用范圍,可伸縮性便是對算法最重要的要求,即分到每個節點的任務一定是相同的、獨立的。K-modes聚類算法便具有可伸縮性,且利用這種算法對日負荷曲線進行預測是一種常見的預測方法。國內外針對這種預測方法進行了大量的研究[4~7],因此可嘗試將其運用于Mapreduce框架下對日負荷曲線進行預測。

2MapReduce框架及K-modes算法

2.1MapReduce框架

MapReduce將存儲在HDFS中的大規模數據分解為小規模數據后分發給集群中的多個節點去協作完成。

一個MapReduce任務由四部分部分構成:客戶端;JobTracker;TaskTracker;分布式文件系統。MapReduce任務分為兩個階段:Map階段和Reduce階段。Map階段執行分解后的小任務并得到中間結果,Reduce階段負責把這些中間結果匯總。具體執行過程如圖1所示。

圖1 MapReduce框架執行過程

2.2K-modes算法

(1)

式中,n×k的隸屬度矩陣為U;對象集X中所包含元素的個數表示為n;所劃分類的個數表示為k:Z={z1,z2,…,zk}是k個對象構成的非空有限集合;zl表示所劃分類的類中心。

d(xi,zl)為對象xi與類中心zl之間簡單匹配的相異度量。Ui,l表示對象xi隸屬于第i類的程度。

為使目標函數在滿足約束條件的情況下趨近極小化,K-modes算法利用基于頻率的方法交替更新隸屬度矩陣和聚類中心,直至目標函數收斂。[8]

3K-modes聚類算法應用MapReduce框架

3.1K-modes聚類算法應用MapReduce框架的思路

聚類算法是一種迭代式算法,數據完成一遍后,由結束條件來決定是否需要進行下一次迭代。

具體運行步驟: 1) 假設數據集需要被分成k簇,隨機選出k個樣本作為初始中心點。 2) 計算出距各樣本差異最小的中心點,將樣本劃入該中心點所在的簇,并算出各個屬性的眾數。 3) 這一輪結束,算出目標函數的值,然后使用每簇中各個屬性的眾數替換中心點相應屬性的值。 4) 重新計算每個樣本到新的簇中心的距離,若某個樣本與其他簇中心的差異相較于與本簇中心的差異小,那么將其劃分到差異較小的那一簇中,然后再次計算各個簇的屬性眾數。 5) 重復3)、4)步驟直到目標函數的值不變。

3.2實例說明

以日負荷峰點的分為兩類的過程為例說明上述執行過程,采用數據為北京地區相關數據,如表1。

執行步驟: 1) 1~6月分到節點Mapper1,7~12月分到節點Mapper2。然后由Reducer節點進行匯總。 2) 選擇A、B兩中心點作為初始中心分別取值為:CenterA=(16:00~17:00=7,17:00~18:00=62,18:00~19:00=22,19:00~20:00=2);CenterB=(16:00~17:00=2,17:00~18:00=20,18:00~19:00=73,19:00~20:00=5)Mapper讀取數據并進行對比。 3) 每個節點做兩個工作:(1)比較各月與兩個中心點的距離,將該月份歸到距離較小的那組。(2)計算眾數矩陣。結果如表2和表3所示。 4) Reduce節點得到臨時結果,并對其進行匯總。

表1 北京地區2012~2013年16:00~20:00段

表2 Mapper節點1統計結果

表3 Mapper節點2統計結果

5) Main函數進行代價的比較,若與前一次代價相同,程序結束,若比前一個代價小,則更新中心點,直到代價不變或變大為止。

結果被分為兩類:第一類:11、12、1、2、3、4月;第二類:5、6、7、8、9、10月。經查閱相關資料,第一類也被稱為早峰點負荷月,第二類也被稱為晚峰點負荷月。

4預測結果以及結果對比

日負荷曲線存在一定的周期性和規律性。相比于對日負荷曲線進行獨立分析,對其歷史樣本進行聚類,能夠更好反映日負荷曲線規律性。[9]

然而負荷歷史數據的絕對數據數量級不同,計量單位也不統一,應先對數據進行歸一化處理。[10]處理后的歷史數據聚類分類結束后,結合分類結果和待預測日相關數據預測出該日的日負荷曲線。

本文利用北京地區2012~2013年度日負荷曲線及氣象等歷史數據。預測了2013年四個季節的典型日負荷曲線。分別選取4月15日、夏季最高負荷日、10月15日和冬季最高負荷日分別作為春夏秋冬的典型日。預測結果如圖2~5所示。

圖2 春季典型日負荷曲線預測圖

圖3 夏季典型日負荷曲線預測圖

圖4 秋季典型日負荷曲線預測圖

圖5 冬季典型日負荷曲線預測圖

以冬季典型日負荷曲線為例,大數據方法測試值平均誤差是8.42,傳統方法測試值平均誤差是27.42。春季、夏季、秋季的典型日負荷曲線也有類似結論。從中可以看出使用大數據方法對日負荷曲線進行預測具有更高的精確性。

5結語

本文所得結論: 1) 在MapReduce框架下使用K-modes聚類算法對電力大數據進行處理的思路可行。 2) 與傳統方法的預測結果對比發現大數據方法預測結果具有更高的精確性。

發現的問題: 1) K-modes是迭代型算法,計算耗時長。需優化初始中心選擇、提升算法效率。 2) 大數據應用于智能電網過程中,由于數據量大、數據質量低、硬件設備缺乏等原因。大數據的很多構想處于理論階段,距實際生產尚有一段時間。

參 考 文 獻

[1] 李偉,張爽.基于Hadoop的電網大數據處理探究[J].電子測試,2014(1):5-6.

LI Wei, ZHANG Shuang. Research on the large data processing of power network based on Hadoop[J]. Electronic Test,2014(1):5-6.

[2] 李偉衛.基于Hadoop平臺的數據挖掘技術研究[D].咸陽:西北農林科技大學,2013:24-27.

LI Weiwei. Research on data mining technology based on Hadoop platform[D]. Xianyang: Northwest Agriculture and Forestry University,2013:24-27.

[3] 羅軍舟.云計算:體系架構與關鍵技術[J].通信學報,2011(7):11-14.

LUO Junzhou. Cloud Computing: Architecture and key technologies[J]. Communications Journal,2011(7):11-14.

[4] 劉莉,王剛.K-means聚類算法在負荷曲線分類中的應用[J].電力系統保護與控制,2011,39(23):2-3.

LIU Li, WANG Gang. K-means clustering algorithm in the load curve classification[J]. Power System of Protection and Control,2011,39(23):2-3.

[5] 李翔,顧潔.運用聚類算法預測地區電網典型日負荷曲線[J].電力與能源,2013,1:47-50.

LI Xiang, GU Jie. The use of clustering algorithm to predict the regional power grid typical day load curve[J]. Power and Energy,2013,1:47-50.

[6] 陳柔伊,張堯,武志剛,等.改進的模糊聚類算法在負荷預測中的應用[J].電力系統及其自動化學報,2005,3:3-5.

CHEN Rouyi, ZHANG Yao, WU Zhigang, et al. Application of improved fuzzy clustering algorithm in load forecasting[J]. Power System and Its Automation,2005,3:3-5.

[7] Huang Z X. Extensions to the K-means Algorithms for Clutering Large Data Sets with Categorical Values[J]. Data Mining and Knowledge Discovery,1998(2):225-227.

[8] 李飛.初始聚類中心優化的K-means算法[J].計算機科學,2002,29(7):22-25.

LI Fei. Initial clustering center optimization of K-means algorithm[J]. Computer Science,2002,29(7):22-25.

[9] 艾學勇.地區電網典型日負荷曲線預測方法研究[D].上海:上海交通大學,2009,33.37.

AI Xueyong. Study on the typical daily load curve forecasting method of regional power network[D]. Shanghai: Shanghai JiaoTong University,2009,33.37.

[10] 張月琴,陳彩棠.基于新相異度量的模糊K-Modes聚類算法[J].電腦開發與應用,2012,5:32-34.

ZHANG Yueqin, CHEN Caitang. The development and application of[J]. based on the new K-Modes clustering algorithm,2012,5:32-34.

中圖分類號TP181

DOI:10.3969/j.issn.1672-9722.2016.02.011

作者簡介:李彥,女,碩士研究生,研究方向:軟件工程。王穎,女,教授,研究方向:數據庫應用技術、軟件架構設計、嵌入式系統、WebGIS研究。廖一鳴,男,碩士研究生,研究方向:軟件工程。趙文碩,女,碩士研究生,研究方向:軟件工程。

*收稿日期:2015年8月12日,修回日期:2015年9月22日

猜你喜歡
大數據
大數據環境下基于移動客戶端的傳統媒體轉型思路
基于大數據背景下的智慧城市建設研究
數據+輿情:南方報業創新轉型提高服務能力的探索
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合