?

分布式SVR在短期負荷預測中的研究

2019-03-19 01:02,,
計算機測量與控制 2019年3期
關鍵詞:單機分布式負荷

, ,

(西安理工大學 自動化與信息工程學院,西安 710048)

0 引言

隨著計算機技術的飛速發展以及移動互聯網科技的不斷進步,網絡已經滲透進人們生活的方方面面,與此同時互聯網所產生的信息也發生了爆炸式的增長,隨著智能電網的發展,電力數據資源急劇增長。以云計算為代表的新一代IT技術在電力系統中的應用更加廣泛[1]。智能電網的主要目的就是通過獲取更多相關信息來優化電能的生產、分配和消耗[2]。從本質上來說,智能電網是當今的大數據技術在電網系統上的具體應用。電網在實際的運行、檢修和管理等過程中都將會產生海量數據,這些都是典型的大數據特點。由此可見,大數據技術即將成為我國智能電網未來發展的新方向[3]。

Hadoop是由Apache基金會開發的分布式系統基礎架構,是一個大數據處理的框架,它能夠部署在任何普通PC機上,并可以在多種平臺上運行,具有良好的可靠性和可擴展性。Hadoop的分布式系統架構,既保證了數據的安全又有效緩解了運算時間過長等問題[4]。傳統方式處理大規模數據時,大多選擇高性能計算,硬件器材往往非常昂貴,并且對大規模數據進行有效分割以及計算任務的合理分配都需要經過開發人員繁瑣復雜的編程才能實現,而Hadoop的HDFS(Hadoop Distributed File System)系統與MapReduce編程框架很好的解決了這些問題[5]。

本文將機器學習中的SVR算法[6]以及能夠處理海量數據的Hadoop平臺相結合并應用到電力負荷預測的領域中。針對傳統算法面對海量高維數據時單機運算資源不足以及運算時間成指數級增長的缺陷,引入了MapReduce編程框架、HDFS分布式文件系統等分布式計算技術,通過改進負荷預測算法,以提高負荷預測算法的計算速度;使用基于均勻設計[7]的自調用SVR(UD-SVR)[8]方法進行參數尋優,在SVM算法中加入參數尋優[9]進一步提高預測算法的準確性。最后,通過實驗驗證了本文實現的Hadoop平臺分布式SVR的算法性能與UD-SVR參數尋優方法效果。

1 HADOOP平臺

1.1 HDFS

HDFS是Hadoop分布式文件系統(Hadoop Distributed File System)的縮寫。HDFS是Hadoop的核心子項目[10]。HDFS具有很強的容錯性,能夠保證在一個或者若干個出現故障后,集群仍舊能夠正常運行;它能夠有效提高網絡帶寬的利用率,減少網絡阻塞的風險;同時可以提供高吞吐量的數據訪問。

在HDFS中文件的存儲、處理和備份的基本邏輯單元是block(塊),默認一個block的大小是64 M,每一個block都有自己的副本,默認副本數為3。節點冗余一般是通過拷貝來實現的。默認的3個副本的存儲方式為,在同一個機架的不同節點,各保存一份,在不同的機架上再保存一份。這樣的好處是,當本節點出現故障時,優先使用同一機架的另一個節點作為替代,原因是在同一個機架內帶寬較大,速度較快;當整個機架出現故障時,使用保存在另一個機架上的備份,這樣使得文件不會丟失。這樣就使得HDFS既安全可靠有很高的容錯性,又保證高效性,提高帶寬利用率。

1.2 MapReduce

MapReduce是由主/從結構組成,即JobTracker與TaskTracker[11]。對大規模數據集進行復雜的并行化運算都可以抽象成map函數和reduce函數。具體的底層實現被封裝起來了,用戶只要自己編寫map函數和reduce函數來實現功能即可。圖2展示了一種MapReduce的操作過程,MapReduce中數據轉換成如下鍵值對形式:

Input→Map(K 1, V1)→list(K2, V2)→Reduce(K2, list(V2))→list(K3, V3)→Output

首先,從HDFS中讀取數據,數據被分割成數據split;其次,數據會被轉化為key/value格式,MapReduce會為每一個map任務分配一個split進行并行運算;其中shuffle是一個map端的排序過程,最終reduce端以前對數據進行合并,再把reduce端輸出的結果,保存到分布式系統所指定的位置。

2 預測模型

短期負荷預測對電力系統的安全運營有著極為重要的作用,例如是制定階梯電價的重要依據,對電網的安全經濟運行提供了保證。本文所用的負荷數據來自我國西部某地級市2015年1月1日至2016年2月28日,共424天的真實用電量數據,一天24小時內,每15分鐘采樣一次,每天96個采樣點,負荷的單位是兆瓦。其中2015年全年的歷史負荷數據作為訓練樣本,將2016年的數據當做未知數據,對不同時間的負荷值進行預測。

在電力系統的負荷預測的角度,影響因素有很多,是一個多變量的預測問題[12],為了提高SVM算法的推廣能力,需要兼顧各種因素。依據文獻[13]和生活經驗,t時刻的負荷量可以用下面的公式表示:

Y(t)=N(t)+W(t)+S(t)+r(t)

(1)

其中:Y(t)是t時刻的負荷總量,N(t)是受到歷史負荷的影響所產生的負荷分量,W(t)是受到受到氣象因素影響所產生的負荷分量,S(t)是受到特殊事件影響所產生的負荷分量,r(t)是不可控事件所產生的負荷分量。通過以下實驗將討論各個因素對負荷預測問題的影響。

2.1 歷史負荷因素N(t)

它與天氣、節假日等其他因素無關,主要指的是所預測地區養成的用電習慣,在負荷預測中有延續性和類推性的原則,也就是說,我們可以根據先前發生的事件來推測后續事件發生的趨勢,從而對后續事件做出預測。

圖1 每周的相似日負荷特性

圖2 工作日與雙休日的負荷數據特性對比

圖1中,3月2日,9日,16日之間分別間隔7天,也就是說他們的星期屬性相同,由于相隔時間較遠以及氣溫等其他因素的影響,因此這3天的負荷值,在數值上差別相較于連續3天的差值更大,但是在波動的走勢上卻極為相似,也就是說連續幾周內,星期屬性相同的時候,負荷特性具有相似性。

圖2中,3月5日至8日,共四天的時間內,包括連續兩天的工作日,和連續兩天的休息日??梢钥闯?,連續兩天的工作日,即5日和6日,它們的負荷量極為相似;連續兩天的休息日,即7日8日,它們之間的負荷特性極為相似,同時,6日和7日兩天雖然也是連續的時間,但是曲線之間的距離就相對比較遠,也就是說工作日和雙休日之間的負荷特性差別較大。因為歷史數據對待預測的負荷值相關性很大,因此,歷史數據是不可或缺的屬性值。

2.2 氣象因素W(t)

由氣象因素產生的負荷分量是W(t),影響負荷的氣象因素有很多,比如溫度、濕度、降水量等等,天氣的突變會引起負荷的劇烈變化。在諸多氣象因素中,溫度對負荷的影響最為顯著,在短期負荷預測中,將氣溫數據當做重要的屬性考慮進去,早已成為人們在研究負荷特性時的共識。

當溫度值一定時,負荷總會在一個特定的范圍內變化,表明氣溫與負荷之間相關性很強。

2.3 特殊事件因素S(t)

在S(t)因素的作用下,將會導致負荷量明顯偏離區域用電習慣的軌跡,特殊事件常指重大節假日、紀念日、電力系統限電、自然災害等等。此類事件往往可以根據人為修正和優化模型中的屬性得到改進。以2015年除夕和春節作為特殊事件為例,圖3展示了除夕前后的負荷曲線。

圖3 節假日與負荷的關系

圖3中,2月18日是除夕,可以看出假期前的最后兩個工作日,即16日和17日,它們的負荷特性類似,18日和19日,這兩天假期的負荷特性相似,但是工作日和假期之間的負荷特性差別較明顯,因此影響負荷的因素中還應該包括節假日因素。

在負荷L(t)中提取出N(t)、W(t)和S(t)后剩余的殘差,即不可控因素r(t),它是隨機負荷序列,這些隨機序列因其隨機性從而往往難以預測,因此很難把它們量化到屬性值中。

2.4 預測負荷建模

綜上所述,通過閱讀資料和分析歷史數據,最終將輸入樣本的屬性值確定如下:

(1)自預測之日起前7天的同一個時間點的的負荷值:N1={n1,n2,......,n7}。

(2)自預測的時間點起最近的前7個時間點的的負荷值:N1={n8,n9,......,n14}。

(3)預測日的星期屬性,0表示周內,1表示周末。

(4)預測日的特殊事件屬性,0表示工作日,1表示特殊日。

(5)預測日的溫度屬性,W={Th,Tl},Th表示當日最高溫度,Tl表示當日最低溫度。

3 UD-SVR參數尋優

在大數據集情況下,單機SVR算法處理大數據集時耗時巨大,為了進一步提高分布式SVR訓練精度,本文采用了UD-SVR方法進行參數尋優。在眾多實驗點中選取其中最具有代表性的若干個點,這些被選取的點以其在所有實驗點中的“均勻分布”程度作為標準,均勻設計只考慮試驗點在范圍內的均勻散布[14],通過提高試驗點“均勻分散”的程度,使試驗點具有更好的代表性,能用較少的試驗獲得較多的信息[15]。

SVR算法有(c,g,p)三個參數需要優化選擇,共有729組(c,g,p)參數,若將這所有729組全部進行SVR計算,則耗時巨大,可行性較低。本文用均勻設計法,從這729組參數中選擇最具代表性的27組參數進行參數計算,得到的結果作為訓練樣本再利用SVR的預測功能對全部729組參數進行預測,最終預測結果中誤差最小值所對應參數為最優參數,誤差選擇使用均方差MSE:

(2)

其中Y表示真實值,M表示實際值。

表1 27組參數SVR對應MSE

具體參數尋優步驟可分為:

(1)依據均勻設計表對729組參數進行27組參數的選擇。

(2)對27組參數進行單機SVR的訓練,使用5折交叉驗證,得到的27組MSE。

(3)將27組MSE與27組參數組合為新的訓練樣本,使用留一法對729組參數進行SVR訓練,得到的MSE最小值所對應的(c,g,p)即為新樣本的最優參數。

(4)使用3中得到的最優參數重復3中實驗,最后得到的MSE最小值所對應的(c,g,p)即為單機SVR的最優參數。

4 實驗結果與分析

本節設計三組實驗用來檢驗分布式SVR模型的預測性能,實驗對比了包括訓練時間、預測值與實際值的誤差、訓練加速度等,綜合分析評判所建立的分布式SVR模型與單機SVR性能之間的差異。

4.1 訓練時間

對于訓練時間的比較,首先選用不同大小的數據集(1萬行,5萬行,10萬行,15萬行,20萬行),數據集大小從0.6 M至12 M,分別對單機SVR算法、分布式SVR算法進行訓練預測模型時間的對比實驗。實驗結果如圖4所示。

圖4 單機SVR,分布式SVR訓練時間

分析可知,在實驗樣本數據較少的情況下,Hadoop環境下由于存在一些集群的通訊協作開銷和Reduce端的SVR訓練,訓練時間比單機訓練時間長,隨著訓練樣本的增大,單機SVR的訓練時間呈指數級增長,而Hadoop平臺分布式SVR訓練時間增長斜率很小。

4.2 預測模型準確率

對于預測模型準確率的比較,訓練數據選用原數據集中2015年一整年的數據,數據大小7.96 M占用Hadoop集群4個block塊。選用2016年1月1日0時0分—2016年1月7日23時45分(共一星期)的672個數據點作為預測數據集,分別對單機SVR算法、分布式SVR算法進行預測實驗。因篇幅有限,圖5列出了前三天的預測效果圖。

圖5 4種曲線對比圖

從圖中可得使用默認參數的單機SVR與分布式SVR效果相似,而使用了參數尋優后的分布式SVR與真實值最為接近,效果最好。表2顯示了使用平均相對誤差(MAPE)和均方差(MSE)來衡量預測值與真實值誤差。

表2 672個數據點平均相對誤差、均方差

從中可以看到默認參數的單機SVR預測值稍好于默認參數的分布式SVR,經過參數尋優的分布式SVR的預測效果最優。

4.3 加速比

為了充分測試Hadoop平臺的并行SVR算法的性能變化與集群中Map任務的數量的關系,本文采用了加速比來衡量該并行算法在訓練時間上的提升速率。

計算加速比方法如下:

P=T1/T2

(3)

其中:P表示加速比,T1為單機SVR算法的訓練時間,T2為Hadoop平臺分布式SVR算法的訓練時間。

實驗結果如表3所示。

表3 加速比對比實驗

當Hadoop集群中的節點為1個Map任務時,由于集群中的節點間的網絡通訊和Reduce端的SVR訓練,使得Hadoop平臺的并行SVM算法的訓練時間超過了單機SVR算法。然而,隨著集群中計算Map任務數目的增加,并行算法的加速比逐漸提高。

5 結束語

本文在Hadoop平臺實現了分布式SVR算法,在大數據集情況下,使用了UD-SVR方法進行了(c, g, p)參數尋優。通過3組實驗對比了單機SVR和分布式SVR算法在訓練時間和預測模型準確度上的效果。實驗表明分布式SVR在保證準確度不明顯降低的情況下大幅度縮短了訓練時間,而使用了UD-SVR參數尋優后的分布式SVR的預測效果極佳。

猜你喜歡
單機分布式負荷
人造革合成革拉伸負荷測量不確定度評定
3項標準中維持熱負荷要求對比分析
熱連軋單機架粗軋機中間坯側彎廢鋼成因及對策
一種單機式渦流探傷儀電性能校準裝置
Opening flexible resources by integrating energy systems: A review of flexibility for the modern power system
淺析分布式發電對電力系統的影響
宇航通用單機訂單式管理模式構建與實踐
基于預處理MUSIC算法的分布式陣列DOA估計
分布式并聯逆變器解耦電流下垂控制技術
SGT5-4000F(4)燃氣輪機夏季最大負荷研究及應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合