任 勇, 曾 鳴
(1.華北電力大學(xué) 經(jīng)濟(jì)與管理學(xué)院 北京 102206;2.貴州電網(wǎng)有限責(zé)任公司, 貴州 貴陽 550002)
近年來,隨著我國電力行業(yè)的不斷發(fā)展與革新[1-5],電力用戶用電模式日趨多元化與智能化[6],為用戶提供更好的用電服務(wù)是構(gòu)建泛在電力物聯(lián)網(wǎng)的核心內(nèi)容[7-9]。電力大用戶一般是指鋼鐵、礦石、冶煉、商業(yè)等高耗能產(chǎn)業(yè)用戶,對電力大用戶進(jìn)行負(fù)荷預(yù)測具有重大理論和現(xiàn)實(shí)意義:從用戶的角度而言,目前很多廠礦企業(yè)不僅僅在線路入廠處裝設(shè)電能計(jì)量裝置,在車間內(nèi)部也有電能監(jiān)測計(jì)量裝置[10],可以實(shí)現(xiàn)設(shè)備能耗、電流、功率因數(shù)等的實(shí)時(shí)監(jiān)控,企業(yè)內(nèi)部形成電能管理系統(tǒng),負(fù)荷預(yù)測可以幫助大用戶高效管理企業(yè)用電情況、淘汰舊設(shè)備、合理安排生產(chǎn)計(jì)劃;從電力公司的角度而言,在工業(yè)區(qū)和商業(yè)區(qū)負(fù)荷中,占比較高的大用戶負(fù)荷波動(dòng)會顯著影響變電站以及附近區(qū)域的總體負(fù)荷狀況[11-13],對大用戶進(jìn)行準(zhǔn)確的負(fù)荷預(yù)測可以有效預(yù)防大用戶負(fù)荷波動(dòng)對電網(wǎng)帶來的沖擊,及早對網(wǎng)架結(jié)構(gòu)進(jìn)行針對性的優(yōu)化,提高供電可靠性。同時(shí),電力負(fù)荷預(yù)測對于泛在電力物聯(lián)網(wǎng)中用戶用電感知起到支撐的作用[14]。
學(xué)者們對大用戶用電特性及負(fù)荷特性展開了深入研究,文獻(xiàn)[15]討論了區(qū)塊鏈技術(shù)在大用戶直購電方面的應(yīng)用,并從市場準(zhǔn)入、交易、結(jié)算和物理約束4個(gè)方面闡述了應(yīng)用細(xì)則;文獻(xiàn)[16]從多個(gè)角度對大用戶直購電展開分析,給出了在國內(nèi)推廣大用戶直購電的制度設(shè)計(jì)與建議;文獻(xiàn)[17]分析了考慮風(fēng)電消納的大用戶用電負(fù)荷特征;類似地,文獻(xiàn)[18,19]分析了消納風(fēng)電的大用戶在電力系統(tǒng)調(diào)度中的模型構(gòu)建。
負(fù)荷預(yù)測是一個(gè)歷久彌新的課題,文獻(xiàn)[20,21]以綜述的形式較全面地總結(jié)了傳統(tǒng)的負(fù)荷預(yù)測方法,比如:時(shí)間序列法、相似日法、灰色預(yù)測法、專家系統(tǒng)法等;近年來,基于機(jī)器學(xué)習(xí)算法的新興負(fù)荷預(yù)測方法受到越來越多的關(guān)注,文獻(xiàn)[22]中提出了一種基于邏輯回歸(logistic regression, LR)的配網(wǎng)負(fù)荷預(yù)測預(yù)警方法,文獻(xiàn)[23]中提出了基于改進(jìn)的支持向量機(jī)回歸(support vector machine regression, SVR)的短期負(fù)荷預(yù)測方法,文獻(xiàn)[24]提出了基于內(nèi)存運(yùn)算平臺spark的L2-Boosting回歸方法,在負(fù)荷預(yù)測方面取得了良好效果,文獻(xiàn)[25,26]中分別在兩種平臺上利用分布式文件存儲系統(tǒng)(HDFS)對海量數(shù)據(jù)進(jìn)行存儲和運(yùn)算,通過對決策樹(Cart)算法進(jìn)行集成(ensemble),實(shí)現(xiàn)了并行隨機(jī)森林算法(random forest, RF)。
這些機(jī)器學(xué)習(xí)算法的共同特點(diǎn)是屬于淺層學(xué)習(xí)(shallow learning)模型[27],即模型在結(jié)構(gòu)上可以看成帶有一層隱藏層(hidden layer)節(jié)點(diǎn),比如SVR、Boosting,或者沒有隱藏層節(jié)點(diǎn),比如LR。淺層模型的局限在于有限樣本下對復(fù)雜函數(shù)的表示能力不足,容易產(chǎn)生過擬合,模型泛化能力差。深度學(xué)習(xí)(deep learning)可以彌補(bǔ)這些不足,深度神經(jīng)網(wǎng)絡(luò)含有多個(gè)隱藏層,特征學(xué)習(xí)能力強(qiáng),在相同訓(xùn)練集下,深度學(xué)習(xí)可以比淺層學(xué)習(xí)得到“更有用”的特征[28],由于含有多個(gè)隱藏層,所以可以用較少的參數(shù)表示復(fù)雜函數(shù),通過深層非線性網(wǎng)絡(luò)實(shí)現(xiàn)對復(fù)雜函數(shù)的逼近。
文獻(xiàn)[29]提出了一種基于進(jìn)化深度學(xué)習(xí)特征提取模型的短期負(fù)荷預(yù)測方法,比傳統(tǒng)負(fù)荷預(yù)測方法有更高負(fù)荷預(yù)測精度。文獻(xiàn)[30]將深度長短時(shí)記憶網(wǎng)絡(luò)應(yīng)用于超短期負(fù)荷預(yù)測的場景,并通過參數(shù)優(yōu)化尋求最適合該網(wǎng)絡(luò)的超參數(shù)。文獻(xiàn)[31]提出了一種自適應(yīng)深度信念網(wǎng)絡(luò),并應(yīng)用于220 kV變電站出線負(fù)荷預(yù)測;文獻(xiàn)[32]則將頻域分解與深度學(xué)習(xí)方法相結(jié)合,并對光伏電站出力進(jìn)行了預(yù)測。
本文在總結(jié)前人工作的基礎(chǔ)上提出了一種基于簇負(fù)荷特性曲線的“聚類-回歸”電力大用戶短期負(fù)荷預(yù)測方法。該方法首先對電力大用戶按照用電特征聚類,用電特征相似的用戶聚為一簇,提出了“簇負(fù)荷特性曲線”的概念來描述簇內(nèi)用戶的用電水平,最后將不同簇的簇負(fù)荷曲線作為總負(fù)荷的屬性因子來訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型模型。在TensorFlow深度學(xué)習(xí)框架下實(shí)現(xiàn)了“聚類-回歸”模型,通過我國西南某省電力大用戶的實(shí)際用電數(shù)據(jù)設(shè)計(jì)實(shí)驗(yàn),驗(yàn)證了“聚類-回歸”模型的準(zhǔn)確性和有效性。
下面介紹基于簇負(fù)荷特性曲線的“聚類-回歸”電力大用戶短期負(fù)荷預(yù)測方法。
TensorFlow是谷歌(Google)公司開源的深度學(xué)習(xí)計(jì)算框架,該框架很好地支持包括深度學(xué)習(xí)在內(nèi)的多種算法[33]。
TensorFlow分為單機(jī)模式和分布式模式兩種,單機(jī)模式指客戶端(client)、管理節(jié)點(diǎn)(driver)、工作節(jié)點(diǎn)(worker)均在一臺機(jī)器的同一進(jìn)程中,client是TensorFlow中的重要組成部分,client通過session接口與driver和多個(gè)worker相連,每個(gè)worker又與多個(gè)硬件設(shè)備相連并管理CPU或者GPU,driver則負(fù)責(zé)所有worker按流程執(zhí)行計(jì)算圖(computation graph);分布式模式則允許client、driver、worker在不同機(jī)器的進(jìn)程中,由集群調(diào)度系統(tǒng)統(tǒng)一管理。本項(xiàng)目組采用的是TensorFlow的分布式模式。
本文提出的基于簇負(fù)荷特性曲線的“聚類-回歸”電力大用戶短期負(fù)荷預(yù)測模型流程如圖1所示。
1.2.1 數(shù)據(jù)預(yù)處理
數(shù)據(jù)清洗與預(yù)處理的目的是篩去壞數(shù)據(jù)與明顯錯(cuò)誤的數(shù)據(jù)、補(bǔ)全缺失數(shù)據(jù),同時(shí)對樣本數(shù)據(jù)進(jìn)行歸一化,便于程序處理。待處理的部分原始數(shù)據(jù)如表1所示。表格中的總、峰、平、谷分別表示對應(yīng)用戶在一天之內(nèi)的總有功電量,高峰時(shí)段有功電量,平常時(shí)段有功電量,以及低谷時(shí)間有功電量。無功表示無功電量,最大功率表示一天內(nèi)出現(xiàn)的最大有功負(fù)荷,倍率表示實(shí)際數(shù)據(jù)與通過互感器采集數(shù)據(jù)之間的比率。
表1 大用戶用電特征數(shù)據(jù)樣例Tab.1 Samples of power consumption characteristic data of large users
在對大用戶進(jìn)行用電特征聚類時(shí)考慮的屬性有總電量、峰電量、平電量、谷電量以及最大功率。為了方便程序處理,增加不同用戶之間的可比較性,對上述原始數(shù)據(jù)進(jìn)行了歸一化處理處理,得到更加直觀體現(xiàn)用電特征的4個(gè)屬性屬性:峰總比、平總比、谷總比、負(fù)荷率。定義如式(1)~式(4)所示:
(1)
(2)
(3)
(4)
式中:r1為峰總比;r2為谷總比;r3為平總比;η為負(fù)荷率;Loverall為總電量;Lpeak為峰電量;Lvalley為谷電量;Lflat為平電量;Pmax為最大功率。
1.2.2 電力大用戶聚類
根據(jù)式(1)~式(4)四個(gè)屬性對用戶進(jìn)行聚類??刹捎玫木垲愃惴ㄓ卸喾N,k均值聚類(k-means)是最為經(jīng)典的一種方法,如表2所示。
表2 k-means算法Tab.2 K-means algorithm
初始聚類中心可以通過隨機(jī)選擇或者人工指派來實(shí)現(xiàn)。通過tf.constant()函數(shù)把數(shù)據(jù)轉(zhuǎn)換為常量tensor,tf.random_shuffle()函數(shù)對數(shù)據(jù)隨機(jī)化,tf.slice()函數(shù)可以從原始數(shù)據(jù)中抽取部分維度來研究。tf.Variable()函數(shù)將初始聚類中心從常量轉(zhuǎn)化為變量。
接下來需要計(jì)算樣本到聚類中心的距離,距離的度量一般有:
(1)n維空間中兩個(gè)點(diǎn)x和y之間的歐氏距離(Euclidean distance),表達(dá)式如下:
(5)
式中:n為空間的維數(shù);xk和yk分別為x和y的第k個(gè)屬性(第k個(gè)分量)。
(2)將歐氏距離推廣,可以得到更為一般的明科夫斯基距離(Minkowski distance):
(6)
式中:r為參數(shù),通過對r的不同取值,可以得到不同的范數(shù)意義下的距離:
r=1時(shí)的距離稱為曼哈頓距離(Manhattan distance)或者漢明距離(Hamming distance),此時(shí)的距離表示為x和y之間的L1范數(shù):
(7)
r=2時(shí)為數(shù)學(xué)上的L2范數(shù),同式(5);
r=∞時(shí),為無窮范數(shù)距離(L∞-distance),為樣本屬性之間的最大的距離,表示為式(8):
(8)
以歐式距離為例,在TensorFlow中通過tf.expand_dims()函數(shù)擴(kuò)充變量維度,tf.sub()函數(shù)實(shí)現(xiàn)變量的減法,tf.square()函數(shù)實(shí)現(xiàn)對分量平方。tf.reduce_sum()函數(shù)計(jì)算樣本點(diǎn)到聚類中心距離之和,tf.argmin()函數(shù)返回距離值最小的聚類中心的標(biāo)號。
聚類的目標(biāo)即聚類中心不發(fā)生變化,或者變化很小,可以用SSE (sum of the squared error, SSE)來衡量,通過計(jì)算每個(gè)數(shù)據(jù)點(diǎn)到聚類中心的歐氏距離,迭代計(jì)算誤差的平方和,SSE越小,聚類效果越好,SSE計(jì)算式如下:
(9)
(10)
式中:x為樣本;Ci為第i個(gè)簇;ci為簇Ci的質(zhì)心;mi為第i個(gè)簇中樣本的數(shù)目;K為簇的個(gè)數(shù),dist(ci,x)為對應(yīng)的聚類中心ci與相應(yīng)的簇內(nèi)的樣本x的距離。對于簇Ci,采用tf.equal()函數(shù)標(biāo)記樣本點(diǎn)是否屬于該簇, tf.gather()函數(shù)按標(biāo)記抽取屬于該簇的樣本,tf.reduce_mean()函數(shù)計(jì)算簇Ci的新的聚類中心ci。不斷迭代,直到滿足收斂條件。
1.2.3 簇負(fù)荷特性曲線
通過對電力大用戶聚類,得到表征簇內(nèi)用戶用電水平的簇負(fù)荷曲線,為下一步構(gòu)建負(fù)荷預(yù)測模型做準(zhǔn)備,用電特征類似的用戶聚為一個(gè)簇,經(jīng)過多次實(shí)驗(yàn),對于本項(xiàng)目中的數(shù)據(jù),簇的個(gè)數(shù)取20。對于簇Ci中的ni個(gè)用戶,根據(jù)式(11),可得到C條簇負(fù)荷曲線。
(11)
式中:Load(i)是簇Ci的簇負(fù)荷曲線向量,96維,簇負(fù)荷曲線向量元素為lj,lj為簇Ci所包含的用戶在第j時(shí)刻的負(fù)荷均值。
簇負(fù)荷曲線表征了用電特征類似的一類用戶的負(fù)荷水平。采用k-means算法得到的簇負(fù)荷曲線如圖2所示。
圖2 區(qū)域大用戶的簇負(fù)荷曲線Fig.2 Cluster load curve of regional large users
1.2.4 回歸預(yù)測
回歸預(yù)測的算法也有多種,本文以TensorFlow框架下長短期記憶網(wǎng)絡(luò)(long short term memory, LSTM)為例來進(jìn)行回歸預(yù)測。
長短期記憶網(wǎng)絡(luò)屬于循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的一種。如圖3所示,循環(huán)神經(jīng)網(wǎng)絡(luò)在每一個(gè)時(shí)刻都會有一個(gè)輸入xt,結(jié)合循環(huán)神經(jīng)網(wǎng)絡(luò)當(dāng)前的狀態(tài)At,得到輸出ht。而當(dāng)前的狀態(tài)At是上一時(shí)刻的狀態(tài)At-1和當(dāng)前的輸入xt共同作用決定的,這種結(jié)構(gòu)很適合解決與時(shí)間序列相關(guān)的問題。
圖3 RNN網(wǎng)絡(luò)結(jié)構(gòu)框圖Fig.3 RNN network structure diagram
然而太長的時(shí)間序列會導(dǎo)致當(dāng)前節(jié)點(diǎn)對歷史節(jié)點(diǎn)的感知能力不足,出現(xiàn)梯度消散(vanish of gradient)問題。同時(shí),當(dāng)前預(yù)測和所需信息之間的跨度長短不一,這種長期依賴(long-term dependencies)問題是傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)不能解決的。
LSTM對經(jīng)典循環(huán)神經(jīng)網(wǎng)絡(luò)做了改進(jìn),通過引入“遺忘門”,讓信息有選擇性地影響RNN中每個(gè)時(shí)刻的狀態(tài),如圖4所示?!斑z忘門”與“輸入門”是LSTM的核心結(jié)構(gòu),遺忘門通過當(dāng)前的輸入xt和上一時(shí)刻的輸出ht-1,對上一時(shí)刻狀態(tài)ct-1中的元素設(shè)置權(quán)重,權(quán)重取值范圍從0到1。如式(12)所示。
圖4 LSTM網(wǎng)絡(luò)結(jié)構(gòu)框圖Fig.4 LSTM network structure diagram
f1=σ(Wf·[ht-1,xt]+bf)
(12)
式中:Wf為遺忘門的權(quán)重矩陣;bf為偏置項(xiàng),[ht-1,xt]為遺忘門的輸入向量;σ為sigmoid函數(shù)。新狀態(tài)的補(bǔ)充由“輸入門”完成,輸入門根據(jù),ht-1決定ct-1狀態(tài)的哪些部分寫入當(dāng)前時(shí)刻的狀態(tài)ct中去。如式(13)所示。
it=σ(Wi·[ht-1,xt]+bi)
(13)
(14)
(15)
類似地,輸出門表示如式(16)所示。
ot=σ(Wo·[ht-1,xt]+bo)
(16)
而LSTM最終的輸出ht是由輸出門與單元狀態(tài)共同決定的,如式(17)所示。
ht=ot·tanh(ct)
(17)
TensorFlow中可以直接調(diào)用函數(shù)tf.nn.rnn()實(shí)現(xiàn)LSTM。結(jié)合前一步得到的簇負(fù)荷特性曲線作為實(shí)際負(fù)荷的屬性因子就可以訓(xùn)練模型,進(jìn)而進(jìn)行負(fù)荷預(yù)測。
課題組搭建了基于TensorFlow框架的分布式電力大數(shù)據(jù)平臺,如圖5所示,采用4臺ThinkServer TD350服務(wù)器作為worker節(jié)點(diǎn),1臺ThinkServer TD350服務(wù)器作為driver節(jié)點(diǎn)。Worker節(jié)點(diǎn)機(jī)器配置了雙核CPU,主頻2.94 GHz,內(nèi)存16G,硬盤1TB,操作系統(tǒng)為Linux Ubuntu 16.04 desktop;driver節(jié)點(diǎn)配置了4核CPU,主頻2.60 GHz,內(nèi)存32 GB,硬盤10TB,操作系統(tǒng)為Linux Ubuntu 16.04 desktop。集群開發(fā)用到的開源軟件版本如下:Hadoop 2.7.3,Spark 2.0.1,jdk 1.8,Scala 2.11.8,Python 2.7。
圖5 分布式集群拓?fù)銯ig.5 Distributed cluster topology
實(shí)驗(yàn)所用的“大用戶用電特征數(shù)據(jù)”以及“區(qū)域負(fù)荷數(shù)據(jù)”均來自我國西部某電力公司,“區(qū)域負(fù)荷數(shù)據(jù)”記錄了每15 min的區(qū)域用戶負(fù)荷值(kW),數(shù)據(jù)由計(jì)量自動(dòng)化系統(tǒng)自動(dòng)采集。預(yù)測誤差的評價(jià)采用了平均百分誤差(mean absolute percentage error, MAPE)和均方根誤差(root-mean-square error, RMSE),計(jì)算公式如下:
(18)
(19)
2.3.1 實(shí)驗(yàn)1:考察“聚類-回歸”負(fù)荷預(yù)測模型的準(zhǔn)確性
將本文提出的“聚類-回歸”負(fù)荷預(yù)測模型與傳統(tǒng)的不經(jīng)過“聚類”直接“回歸”的負(fù)荷預(yù)測模型進(jìn)行預(yù)測結(jié)果比較。其中,“聚類-回歸”模型的聚類階段采用kmeans算法,回歸階段采用LSTM算法。將kmeans-LSTM方法與傳統(tǒng)的LSTM回歸預(yù)測方法進(jìn)行比較。以研究區(qū)域的2016年7月1日至2017年6月30日的負(fù)荷數(shù)據(jù)作為訓(xùn)練集,對2017年7月1日的負(fù)荷數(shù)據(jù)進(jìn)行預(yù)測。預(yù)測結(jié)果如圖6所示。
圖6 “聚類-回歸”模型與傳統(tǒng)模型預(yù)測精度比較Fig.6 Comparison of prediction accuracy between “clustering regression” model and traditional model
按照式(18)、(19)計(jì)算兩種方法的MAPE與RMSE如表3所示。
表3 “聚類-回歸”模型與傳統(tǒng)模型預(yù)測誤差統(tǒng)計(jì)Tab.3 Prediction error statistics of cluster regression model and traditional model
圖7為兩種方法在每個(gè)計(jì)量點(diǎn)的百分誤差曲線。
圖7 “聚類-回歸”模型與傳統(tǒng)模型百分誤差比較Fig.7 Percentage error comparison between “clustering regression” model and traditional model
通過圖6、圖7以及表3的誤差統(tǒng)計(jì)可以看出“聚類-回歸”負(fù)荷預(yù)測模型比傳統(tǒng)的直接回歸預(yù)測模型有更高的負(fù)荷預(yù)測精度?!熬垲?回歸”模型中通過聚類將區(qū)域內(nèi)用電特征類似的用戶聚為一簇,得到表征簇內(nèi)用戶一般化用電水平的“簇負(fù)荷特性曲線”(如圖2),不同的簇負(fù)荷曲特性線代表了該研究區(qū)域負(fù)荷的不同組成成分,將簇負(fù)荷特性曲線作為負(fù)荷預(yù)測分析的屬性因子,就是從更細(xì)?;慕嵌确治鰠^(qū)域負(fù)荷的構(gòu)成,從而在負(fù)荷預(yù)測中將區(qū)域內(nèi)用戶的用電特征均有所體現(xiàn),達(dá)到進(jìn)一步提高負(fù)荷預(yù)測精度的目的。
2.3.2 實(shí)驗(yàn)2:“聚類-回歸”模型(kmeans-LSTM)的參數(shù)優(yōu)化
深度學(xué)習(xí)模型中參數(shù)的設(shè)置對模型訓(xùn)練的有效性和重構(gòu)誤差率(reconstruction error rate, RER)影響很大,下面針對對影響“聚類-回歸”模型(kmeans-LSTM)的三個(gè)主要參數(shù)進(jìn)行優(yōu)化。
(1)學(xué)習(xí)率調(diào)整
合適的學(xué)習(xí)率策略可以顯著提高深度學(xué)習(xí)模型的收斂速度,縮短模型的訓(xùn)練時(shí)間。為了對比不同學(xué)習(xí)策略下kmeans-LSTM模型的性能,本文選擇了4種常見的學(xué)習(xí)策略進(jìn)行實(shí)驗(yàn),即常數(shù)型、AdaMix、AdaGrad和RMSProp。通過對比不同學(xué)習(xí)率策略下模型的RER和模型迭代時(shí)間,得到最適合本文模型的學(xué)習(xí)策略。在相同的迭代次數(shù)下,RER越小算法收斂效果越好,RER計(jì)算如式(20)所示。
(20)
式中:RMSE(l)為第l組實(shí)驗(yàn)數(shù)據(jù)集的均方根誤差。
模型RER比較如圖8所示,可以看出,不同策略下kmeans-LSTM模型RER隨迭代次數(shù)的增加而減小,逐步趨于穩(wěn)定。在整個(gè)迭代過程中,模型學(xué)習(xí)策略采用常數(shù)型、AdaGrad型和RMSProp型的RER相對接近,AdaMix型的重構(gòu)誤差曲線在迭代次數(shù)為150次后完全優(yōu)于另外3種;模型學(xué)習(xí)策略采用常數(shù)型、AdaGrad型、RMSProp型的最終RER分別為8.67、8.64、8.73,而模型學(xué)習(xí)策略采用AadMix型RER為8.27。實(shí)驗(yàn)結(jié)果表明AdaMix型學(xué)習(xí)策略相比其它3種策略收斂效果更好。
圖8 不同學(xué)習(xí)率策略的重構(gòu)誤差對比Fig.8 Comparison of reconstruction errors of different learning rate strategies
kmeans-LSTM模型采用4種學(xué)習(xí)策略迭代550次所耗時(shí)間如表4所示。
表4 “聚類-回歸”模型(kmeans-LSTM)在不同學(xué)習(xí)策略下的迭代時(shí)間Tab.4 Iteration time of “clustering regression” model (k-means LSTM) under different learning strategies
模型采用常數(shù)型學(xué)習(xí)率的迭代時(shí)間最短,之后依次是AdaMix型,AdaGrad型和RMSProp型。相同迭代次數(shù)下,模型采用AadMix型學(xué)習(xí)率比采用常數(shù)型學(xué)習(xí)率的運(yùn)算時(shí)間更長,但從圖8可看出兩種學(xué)習(xí)率方法達(dá)到相同的收斂效果時(shí),基于常數(shù)型學(xué)習(xí)率的模型需要迭代更多的次數(shù)。
AdaMix型學(xué)習(xí)率調(diào)整策略在充分考慮模型參數(shù)特點(diǎn)的基礎(chǔ)上,為權(quán)重設(shè)計(jì)了更能反映模型運(yùn)行狀態(tài)的學(xué)習(xí)率,為偏置設(shè)計(jì)了收斂速度好且計(jì)算量較小的冪指數(shù)函數(shù),使得模型中不同類型的參數(shù)能夠依據(jù)自身的狀態(tài)實(shí)現(xiàn)快速收斂。綜合考慮重構(gòu)誤差率和模型迭代時(shí)間,選擇AadMix型作為kmeans-LSTM模型的學(xué)習(xí)率策略。
(2)激活函數(shù)
激活函數(shù)的引入可以有效解決RNN中梯度消散問題,提高模型魯棒性。不同的激活函數(shù)為模型提供不同的選擇空間,對模型學(xué)習(xí)能力的提升也不同。
本次實(shí)驗(yàn)針對kmeans-LSTM模型選用了3種常見的激活函數(shù)做對比:sigmoid函數(shù)、ReLU(rectified linear unit)函數(shù)、softplus函數(shù)。考察在不同激活函數(shù)下kmeans-LSTM模型負(fù)荷預(yù)測的平均準(zhǔn)確度(mean accuracy, mAcc),表5、如式(21)所示。
表5 不同激活函數(shù)下負(fù)荷預(yù)測平均準(zhǔn)確度Tab.5 Average accuracy of load forecasting under different activation functions
(21)
式中各符號的意義同式(18)。
從表5中可以看出,kmeans-LSTM模型采用softplus激活函數(shù)時(shí)mAcc最高,且迭代時(shí)間最短,優(yōu)于基于sigmoid函數(shù)和ReLU函數(shù)的模型。這是因?yàn)閷τ趕oftplus類型的激活函數(shù),其導(dǎo)函數(shù)有相對更寬廣的定義域取到較大函數(shù)值,且softplus的導(dǎo)函數(shù)較ReLU的導(dǎo)函數(shù)更為平滑。因此相比ReLU函數(shù)和sigmoid函數(shù),softplus函數(shù)可以為神經(jīng)網(wǎng)絡(luò)提供更大的可選擇空間,有效地提高模型學(xué)習(xí)能力。
(3)dropout參數(shù)
dropout參數(shù)的設(shè)置可以有效抑制神經(jīng)網(wǎng)絡(luò)訓(xùn)練的過擬合。dropout的原理是在模型訓(xùn)練時(shí),以一定的概率讓某個(gè)神經(jīng)元失活,在TensorFlow中通過tf.nn.dropout()函數(shù)實(shí)現(xiàn)。目前學(xué)術(shù)界對dropout的取值方法并無定論,具體到本文模型,采用遍歷的方法選取最優(yōu)值。
本文嘗試了10種不同的dropout比例,實(shí)驗(yàn)結(jié)果如圖9所示。
圖9 不同dropout參數(shù)下負(fù)荷預(yù)測平均準(zhǔn)確度Fig.9 Average accuracy of load forecasting under different dropout parameters
當(dāng)dropout參數(shù)從0.5增大至0.95,mAcc呈現(xiàn)了先增加后減小的變化趨勢,在dropout取0.67時(shí)mAcc獲得最大值0.958。
2.3.3 實(shí)驗(yàn)3:“聚類-回歸”模型在分布式環(huán)境下與單機(jī)環(huán)境下的壓力測試
考慮到“聚類-回歸”模型應(yīng)用于分布式集群環(huán)境,故設(shè)計(jì)一組壓力實(shí)驗(yàn),考察隨著實(shí)驗(yàn)數(shù)據(jù)的遞增,kmeans-LSTM分別在分布式環(huán)境下和單機(jī)環(huán)境下運(yùn)行,處理相同規(guī)模的樣本所消耗的時(shí)間。
分布式集群的配置如2.1節(jié)所述,運(yùn)行kmeans-LSTM的單機(jī)配置了雙核CPU,主頻2.94 GHz,內(nèi)存4G。兩種環(huán)境下每次訓(xùn)練相同的數(shù)據(jù)集,統(tǒng)計(jì)兩種環(huán)境下kmeans-LSTM在每個(gè)數(shù)據(jù)集上的運(yùn)行時(shí)間。
實(shí)驗(yàn)結(jié)果如表6和圖10所示。其中在單機(jī)環(huán)境下處理950 MB數(shù)據(jù)時(shí)機(jī)器出現(xiàn)內(nèi)存溢出錯(cuò)誤。
從表6和圖10可以看出,當(dāng)數(shù)據(jù)集規(guī)模較小時(shí)(小于750 MB)單機(jī)模型優(yōu)勢明顯,分布式集群消耗時(shí)間較長,這是因?yàn)榧褐衐river給worker分配任務(wù)、設(shè)備調(diào)配需要消耗一定的時(shí)間,而這部分時(shí)間消耗在單機(jī)中是不需要的。隨著數(shù)據(jù)量的增加,大于550 MB后分布式環(huán)境下模型的運(yùn)行時(shí)間趨于穩(wěn)定;而單機(jī)模型隨著數(shù)據(jù)量增加所消耗時(shí)間成倍增長,從圖10可以看出,在數(shù)據(jù)量為750 MB時(shí)兩種環(huán)境下消耗時(shí)間基本持平,數(shù)據(jù)量為850 MB時(shí),kmeans-LSTM在單機(jī)環(huán)境下運(yùn)行時(shí)間超過分布式環(huán)境下運(yùn)行的時(shí)間,當(dāng)數(shù)據(jù)量大于950 MB時(shí),單機(jī)環(huán)境已無法正常進(jìn)行運(yùn)算。
表6 模型在分布式環(huán)境與單機(jī)環(huán)境的運(yùn)行時(shí)間Tab.6 Running time of model in distributed environment and single machine environment
圖10 “聚類-回歸”負(fù)荷預(yù)測模型在分布式環(huán)境與單機(jī)環(huán)境運(yùn)行時(shí)間對比Fig.10 Comparison of running time of “cluster regression” load forecasting model in distributed environment and single machine environment
由此可見,本文提出的“聚類-回歸”負(fù)荷預(yù)測模型可以很好地適應(yīng)分布式環(huán)境,隨著數(shù)據(jù)量的遞增,分布式環(huán)境下模型運(yùn)行優(yōu)勢明顯。
本文在總結(jié)前人工作的基礎(chǔ)上提出了一種基于簇負(fù)荷特性曲線分析的“聚類-回歸”電力大用戶短期負(fù)荷預(yù)測方法。首先通過聚類的方法對區(qū)域用戶負(fù)荷進(jìn)行細(xì)粒度的分析,將用電特征類似的用戶聚為一簇,提出了代表簇內(nèi)用戶一般化用電水平的“簇負(fù)荷特性曲線”的概念,將簇負(fù)荷特性曲線作為區(qū)域負(fù)荷屬性因子建立模型進(jìn)行負(fù)荷預(yù)測。以實(shí)際數(shù)據(jù)設(shè)計(jì)實(shí)驗(yàn),得到如下結(jié)論:
(1)在聚類階段采用kmeans算法,回歸階段采用LSTM算法,在TensorFlow深度學(xué)習(xí)框架下實(shí)現(xiàn)了“聚類-回歸”(kmeans-LSTM)模型。本文所提方法與傳統(tǒng)的不經(jīng)聚類,直接回歸預(yù)測的LSTM方法相比,在MAPE、RMSE兩項(xiàng)誤差統(tǒng)計(jì)指標(biāo)占優(yōu),驗(yàn)證了本文所提方法的準(zhǔn)確性;
(2)針對本文的“聚類-回歸”模型(kmeans-LSTM)進(jìn)行了參數(shù)優(yōu)化。AdaMix型學(xué)習(xí)率調(diào)整策略對權(quán)重與偏置的設(shè)置更為合理,模型參數(shù)能夠?qū)崿F(xiàn)較快收斂,通過實(shí)驗(yàn)驗(yàn)證了模型采用softplus型激活函數(shù)可以得到更高的負(fù)荷預(yù)測平均準(zhǔn)確度,具體到本文模型,dropout參數(shù)值設(shè)置為0.67時(shí),可以得到最大的負(fù)荷預(yù)測平均準(zhǔn)確度0.958;
(3)在分布式環(huán)境下對“聚類-回歸”模型進(jìn)行了階梯數(shù)據(jù)集壓力測試,隨著數(shù)據(jù)量的增加,“聚類-回歸”模型在大規(guī)模數(shù)據(jù)集上運(yùn)算性能穩(wěn)定。與單機(jī)方法相比,分布式環(huán)境下的“聚類-回歸”負(fù)荷預(yù)測模型能夠更好地適應(yīng)當(dāng)前電力大數(shù)據(jù)環(huán)境,驗(yàn)證了本文所提方法的有效性。