張曉穎,段金鳳,吳 琦
(長春大學(xué) 理學(xué)院,長春 130022)
作為電力系統(tǒng)的一項重大創(chuàng)新,智能電網(wǎng)方便了電力系統(tǒng)的管理,在很大程度上提升了電力系統(tǒng)的服務(wù)質(zhì)量。為了向用戶提供源源不斷、質(zhì)量合格的電能,要求電力系統(tǒng)具有很高的穩(wěn)定性和可靠性[1-2]。
圖1 智能電網(wǎng)穩(wěn)定性預(yù)測研究方案流程圖
目前,針對智能電網(wǎng)穩(wěn)定性預(yù)測的相關(guān)研究較少。VERMA等[3]介紹了智能電網(wǎng)的規(guī)劃和運行范圍隨著人工神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)等方法的引入逐步擴大。文中提供了一些智能電網(wǎng)組件相關(guān)的工作調(diào)查。GüNEL等[4]展示了ML方法在提取和分析智能電網(wǎng)等現(xiàn)代工業(yè)系統(tǒng)設(shè)計特征方面的優(yōu)勢。討論了最大似然算法,并簡要研究了智能電網(wǎng)的應(yīng)用。HOSSAIN等[5]對通過智能電網(wǎng)的出現(xiàn)引入的電力電網(wǎng)新技術(shù)進行了全面研究。其中,物聯(lián)網(wǎng)集成智能電網(wǎng)系統(tǒng)可以提供高效的負(fù)荷預(yù)測和數(shù)據(jù)采集技術(shù),具有成本效益。YOU 等[6]介紹了與傳統(tǒng)方法相比,機器學(xué)習(xí)算法在節(jié)省模型開發(fā)和數(shù)值計算時間上對于智能電網(wǎng)穩(wěn)定性的預(yù)測有效。ANKIT GHOSH等[7]基于人工智能技術(shù),通過使用部分先進的最大似然算法,預(yù)測智能電網(wǎng)的穩(wěn)定性,對其結(jié)果進行了比較。其使用的增強ML算法已被實施用來預(yù)測智能電網(wǎng)的穩(wěn)定性。
由于電力數(shù)據(jù)龐大且涉及的算法參數(shù)較多,目前簡單的機器學(xué)習(xí)模型并不能滿足智能電網(wǎng)系統(tǒng)準(zhǔn)確預(yù)測的需要。因此,本研究提出基于深度學(xué)習(xí)算法的智能電網(wǎng)穩(wěn)定性的預(yù)測模型,多次迭代并使用多種優(yōu)化器,通過仿真驗證,與經(jīng)典機器學(xué)習(xí)算法等進行效果和性能比較如圖1所示。本研究數(shù)據(jù)來源于加州大學(xué)歐文分校(UCI)公開收集的智能電網(wǎng)數(shù)據(jù)庫。
圖2 4節(jié)點電網(wǎng)星形網(wǎng)絡(luò)結(jié)構(gòu)圖
文章的結(jié)構(gòu)如下:(1)獲取加州大學(xué)歐文分校(UCI)公開收集的智能電網(wǎng)數(shù)據(jù)集;(2)進行數(shù)據(jù)預(yù)處理;(3)進行特征工程,確定所給的特征是否合適,降低過擬合風(fēng)險;(4)利用深度學(xué)習(xí)和機器學(xué)習(xí)算法進行建模求解與模型對比。
描述數(shù)據(jù)集的詳細(xì)論文見ARZAMASOV等[8],作者研究了智能電網(wǎng)絡(luò)的不穩(wěn)定性。數(shù)據(jù)為4節(jié)點的星形網(wǎng)絡(luò),如圖 2 所示。數(shù)據(jù)集所考慮的3個維度是:反應(yīng)時間(τ)、功率平衡(P)和價格彈性系數(shù)(γ)。
(1)
預(yù)處理后,繪制數(shù)據(jù)分布圖,進行數(shù)據(jù)的可視化。
數(shù)據(jù)集中給定特征數(shù)為12,但仍需要進行特征篩選確定所給的特征是否合適。本研究選擇過濾法與嵌入法結(jié)合的方式,進行特征選擇。過濾法主要使用相關(guān)系數(shù)法,嵌入法使用隨機森林算法判斷特征重要性。如圖 4 、圖5所示,隨機森林重要程度較高的變量,在基于過濾法的特征選擇中相關(guān)系數(shù)也較高。其中,發(fā)電商的反應(yīng)時間(tau1)影響權(quán)重最大,電力消費者的反應(yīng)時間(tau2-tau4)、消費者的伽瑪系數(shù)(g3-g4)影響權(quán)重較大。
圖4 特征相關(guān)系數(shù)可視化
圖5 隨機森林法特征的重要程度
對于分類問題,模型評價指標(biāo)主要有準(zhǔn)確率(Accuracy)、精密度(Precision)、召回率(Recall)、F-score和ROC-AUC曲線。同時,考慮到模型性能,模型運行耗時也作為評價指標(biāo)。
BP算法是利用輸出層的誤差來估計輸出層的直接前導(dǎo)層的誤差,再用這個誤差估計更前一層的誤差,逐層迭代,修正每層的網(wǎng)絡(luò)權(quán)值,直到誤差滿足要求[9]。
本研究采用BP 神經(jīng)網(wǎng)絡(luò)模型,各層參數(shù)如表 1 所示,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。選取Relu函數(shù)作為隱含層的轉(zhuǎn)移函數(shù),選取Sigmoid函數(shù)作為輸出層的轉(zhuǎn)移函數(shù)。確定BP神經(jīng)網(wǎng)絡(luò)模型中參數(shù)batch_size為12,損失函數(shù)使用的交叉熵為binary_crossentropy,dropout值為0.2。
表1 BP神經(jīng)網(wǎng)絡(luò)各層參數(shù)表
圖6 智能電網(wǎng)穩(wěn)定性預(yù)測BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
圖7 智能電網(wǎng)穩(wěn)定性CNN預(yù)測模型框架
卷積神經(jīng)網(wǎng)絡(luò)(CNN)[11]是一類具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)由一個或多個卷積層和頂端的全連通層組成,同時也包括權(quán)重和池化層(pooling layer)。卷積層(convolutional layer)是卷積神經(jīng)網(wǎng)絡(luò)的核心層,該層的主要功能是提取輸入矩陣的特征。池化層通常會在卷積層之后得到維度很大的特征,將特征切成幾個區(qū)域,取其最大值或平均值,得到新的、維度較小的特征。全連接層(fully-connected layer)把所有局部特征結(jié)合變成全局特征,用來計算最后每一類的得分。
對數(shù)據(jù)集進行標(biāo)準(zhǔn)化后輸入數(shù)據(jù)。卷積層的激活函數(shù)為Relu, 提高了模型的非線性表達(dá)能力,由于是二分類問題,輸出層采用Sigmoid函數(shù),同時為了防止模型過擬合,設(shè)置dropout值為0.3,batch_size值為12,損失函數(shù)為交叉熵。利用Keras框架構(gòu)建CNN模型,詳細(xì)模型參數(shù)如下:
表2 BP神經(jīng)網(wǎng)絡(luò)各層參數(shù)表
隨機梯度下降算法(SGD)[12]是深度學(xué)習(xí)中最基礎(chǔ)、最典型的優(yōu)化算法,在所有的n個樣本中隨機抽取m(m≤n)個小批量樣本,這m個樣本是獨立同分布的。將這m個樣本梯度的平均值作為算法的搜索方向。
AdaGrad算法[13]的學(xué)習(xí)速率是自動變化的,即算法在整個迭代過程中自動地調(diào)整學(xué)習(xí)率。首先給出初始學(xué)習(xí)率η,并用該學(xué)習(xí)率與歷史梯度的平方根的比值作為當(dāng)前迭代的學(xué)習(xí)率。而AdaGrad 算法將歷史梯度的平方根作為分母,會導(dǎo)致學(xué)習(xí)率逐漸減小至零,導(dǎo)致算法提前終止,因此便有了RMSProp算法。
RMSProp算法[14]的分母不再采用歷史梯度的平方根,而是采用歷史梯度的指數(shù)衰減平均,即算法初始迭代點處的梯度所占權(quán)重很小,越靠后的迭代點處的梯度所占的權(quán)重越大。這樣可以丟掉比較靠前的點處的梯度,從而加速算法收斂。AdaGrad 算法和 RMSProp 算法都是基于梯度L2范數(shù)的優(yōu)化算法?;趧恿康膬?yōu)化算法和基于L2范數(shù)的優(yōu)化算法各有優(yōu)缺點,將兩者的優(yōu)勢結(jié)合起來,產(chǎn)生的新算法為Adam算法。
Adam算法[15]將具有經(jīng)典動量思想的RMSProp 算法和L2范數(shù)的思想相結(jié)合。具有易于實現(xiàn)、計算高效、存儲要求低等優(yōu)勢。Adam算法只需要計算損失函數(shù)的一階梯度,不同的參數(shù)具有不同的學(xué)習(xí)率,這些學(xué)習(xí)率是算法 Adam根據(jù)參數(shù)梯度的一階和二階矩估計自動選取的。
圖8 BP模型不同優(yōu)化器損失值(左)、準(zhǔn)確率(右)和迭代次數(shù)的關(guān)系
對BP神經(jīng)網(wǎng)絡(luò)回歸預(yù)測模型的參數(shù)進行優(yōu)化。主要采用SGD、Adam、AdaGrad、RMSprop4種優(yōu)化算法進行參數(shù)優(yōu)化,模型的預(yù)測效果如圖8所示。 隨著迭代次數(shù)的增加, 4種優(yōu)化算法的損失函數(shù)都逐漸下降, 且 AdaGrad算法的損失函數(shù)始終低于其他3種算法。 迭代70算法次后的準(zhǔn)確度:AdaGrad≈Adam>SGD>RMSprop,并且隨著迭代次數(shù)的增加,準(zhǔn)確度不斷提高。因此,最終選用Adam算法進行優(yōu)化。
在CNN模型中也對比了Adam、RMSprop、SGD和Adagrad4種優(yōu)化器對CNN模型影響,效果如圖9所示。SGD和Adagrad兩種優(yōu)化器在epoch為80之前并不能達(dá)到一個收斂的程度,說明SGD和Adagrad兩種優(yōu)化器在此數(shù)據(jù)集上不適用于CNN模型,Adam在模型迭代40次的時候準(zhǔn)確率就高于RMSprop, 因此在CNN模型中使用Adam優(yōu)化器。
圖9 CNN模型不同優(yōu)化器損失值(左)、準(zhǔn)確率(右)和迭代次數(shù)的關(guān)系
接下來,基于定量分析對多種模型預(yù)測能力,采用Acc、Precision、Recall、F1、Auc、Time等多種評價指標(biāo)定量分析經(jīng)典機器學(xué)習(xí)算法與深度學(xué)習(xí)算法的預(yù)測能力。在眾多機器學(xué)習(xí)算法中取效果前3的模型,分別為支持向量機、隨機森林、XGB。深度學(xué)習(xí)模型包括BP神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)如表 3 所示。
表3 各模型預(yù)測精度和性能的比較
(1)SVM模型預(yù)測精度較高(Acc=0.977 919),但其對如何確定核函數(shù)比較敏感。在相同內(nèi)存下,高時間成本(Time=50.493 627 s)也是SVM的一個問題。(2)隨機森林算法采用了集成算法,準(zhǔn)確性較高(Acc=0.946 201)。但決策樹個數(shù)較多時,訓(xùn)練的時間空間較大,可解釋性差,屬于黑盒模型;在噪音比較大的情況下,容易出現(xiàn)過擬合現(xiàn)象。(3)XGB模型預(yù)測精度高(Acc=0.951 713),在相對少的調(diào)參時間情況下,預(yù)測的準(zhǔn)確率也比較高。但由于弱學(xué)習(xí)器之間存在依賴關(guān)系,難以并行訓(xùn)練數(shù)據(jù)。同時數(shù)據(jù)維度較高時會加大算法的計算復(fù)雜度。(4)BPNN模型迭代70次的運行時間較少,只需要6.304 808 s,預(yù)測精度相對較低(Acc=0.910 833)。且BP神經(jīng)網(wǎng)絡(luò)每次都需要更新數(shù)量較多的閾值和權(quán)值,從而導(dǎo)致收斂速度過慢。同時BP算法是一種速度較快的梯度下降算法,容易陷入局部最小值的問題??赡懿⒉荒艿玫絾栴}的真正解。
CNN模型具有極高的預(yù)測精度,在迭代70次后,精度Acc為0.979 000。且CNN模型迭代70次后的耗時僅為28.398 703 s,僅略低于隨機森林。CNN模型共享卷積核,更易處理高維數(shù)據(jù),有利于智能電網(wǎng)消費者端的擴展。卷積層可以自動進行特征提取,對實時化的智能電網(wǎng)系統(tǒng)預(yù)測有實際意義。CNN在最優(yōu)優(yōu)化算法下的預(yù)測結(jié)果如圖10所示。
圖10 最優(yōu)優(yōu)化器下CNN預(yù)測模型的效果
本研究基于數(shù)據(jù)挖掘和深度學(xué)習(xí)算法探究預(yù)測智能電網(wǎng)穩(wěn)定性的方法。深度學(xué)習(xí)CNN模型其預(yù)測性能明顯優(yōu)于其他預(yù)測模型,Acc、Auc都比較高,且Precision和Recall表現(xiàn)良好。綜合模型預(yù)測和定量分析的結(jié)果,CNN模型要遠(yuǎn)高于其他機器學(xué)習(xí)預(yù)測模型,因此可以選擇使用Adam優(yōu)化器的CNN模型作為智能電網(wǎng)穩(wěn)定性模型。下一步可以將其推廣到有更多電力消費者的實時智能電網(wǎng)系統(tǒng)中,隨著逐步加強預(yù)測系統(tǒng)的可靠性,對實現(xiàn)高效配電具有重要意義。