徐嘉杰, 盧兆軍, 袁飛, 陳光宇
(1.南京工程學院 電力工程學院,江蘇 南京 211167;2.國網山東省電力公司,山東 濟南 250001;3.國網山東省電力公司泰安供電公司,山東 泰安 271000)
隨著電力市場的逐步完善和用戶需求側管理(demand side management, DSM)機制的發展[1],電力系統負荷分類識別已經成為一項十分重要的基礎性工作。負荷預測、負荷定價和負荷建模等工作都需要對負荷類型有一個科學準確的分類[2]。因此,深入研究電力系統負荷分類的方法及應用,有利于及時掌握用電負荷的變化規律和發展趨勢,有利于用電負荷的科學管理,還有利于計劃用電工作的開展,具有重要的理論意義和現實意義。
現有的負荷分類識別方法,在分類結果和用戶負荷特性的考慮等方面存在一些缺陷。一是供電部門對于電力系統用戶負荷分類主要依據是用戶負荷所屬的行業以及用戶的經濟活動特點,沒有考慮到隨著電網的發展,用戶負荷可能出現新類型,與傳統負荷分類方法存在明顯的差異;二是傳統的負荷預測方法,沒有充分考慮用戶負荷的實際特性和變化規律,存在著較大的人為因素,降低了分類結果的準確性和合理性。
綜上,本文針對現有研究的不足,提出了一種基于深度神經網絡(deep neural networks, DNN)和SoftMax分類器的臺區負荷分類識別方法,結合已有的典型負荷曲線特征庫,實現對臺區未知用戶的負荷預測,為電網部門需求側管理提供可靠的支撐。通過對某臺區1 200個用戶負荷數據進行實證分析,結果表明本文提出的分類方法在算法收斂性、計算時間以及預測精度等方面具有更好的性能。
DNN是一個有多層結構的數學模型,按層的位置不同可以分為:輸入層、隱藏層和輸出層。第一層是輸入層,最后一層是輸出層,而中間的層數都是隱藏層。層與層之間是全連接的,即第i層的任意一個神經元一定與第i+1層的任意一個神經元相連。這樣的結構使得DNN能夠學習輸入與輸出之間的隱藏特征,可以具有較強的表達能力[3]。而且,輸出層神經元可以不止一個,可以有多個輸出,這樣模型可以靈活地應用于分類、回歸、降維和聚類等。DNN結構示意圖如圖1所示。

圖1 DNN結構示意圖
設DNN輸入數據的特征向量為X=(x1,x2,…,xn)T,每個隱藏層有多個神經元構成,神經元結構如圖2所示。

圖2 神經元結構示意圖

Relu(xi)=max(xi,0)
(1)
式中:xi為每一隱藏層的輸入參數。
由式(1)可知,Relu函數的導數在正數部分是恒等于1的,因此在深層網絡中使用Relu激活函數就不會導致梯度消失和爆炸的問題[4]。
DNN的訓練目的是調整ω和b,使得損失函數最小。本文使用均方誤差函數MSE作為模型的損失函數,其公式如式(2)所示。
(2)

SoftMax回歸模型是邏輯回歸模型在多分類問題上的擴展,將邏輯回歸一般化[5]。對于多分類問題的求解,常用的方法有對數幾率回歸(logistic regression, LR)、支持向量機(support vector machine, SVM)和SoftMax多分類器。


圖3 SoftMax分類器示意圖
(3)
式中:yi為SoftMax層的輸出概率值;xi為SoftMax層的輸入值;n為SoftMax層的輸入值個數。
臺區配電網絡比較復雜,涉及的電氣參數因素較多,鑒于從用戶信息采集系統中提取的用電數據十分龐大,僅采用人工判斷的方法難以進行負荷特性的計算與分析[6]。本文提出的基于DNN和SoftMax分類器的臺區負荷識別流程如圖4所示。首先,對臺區負荷數據進行預處理并作為模型輸入;其次,構建基于DNN和Softmax多分類器的多層網格結構模型;最后,結合臺區已有的典型負荷曲線特征庫,預測未知用戶所屬類別,從而實現臺區負荷的智能識別。

圖4 基于DNN和Softmax分類器的臺區負荷識別流程圖
在Google公司深度學習開源框架Tensor-flow上進行測試試驗,并調用開源的基于Python的機器學習工具包scikit-learn,試驗所用機器包括CPU:Intel(R) Core(TM) i7-8565U 1.8 GHz,內存8 G,軟件為Python3.7。試驗數據采取2019年1月1日—7月7日某臺區1 200個用戶的日負荷數據,驗證所提方法,其中臺區容量為400 MVA,電流互感器變比(CT ratio)為1,電壓互感器變比(PT ratio)為1。由于用戶負荷所屬臺區的性質相同,故只需分析用戶自身的負荷特性。為了克服模型建立過程中帶來的不必要誤差,實現數據格式的統一化和規范化,需對臺區用戶負荷數據進行缺失值的填補和歸一化。
DNN通過加入不同的層可以解決不同領域的問題。本文所提出的問題為負荷預測識別,因而采用全連接層的配置。經過多次試驗,選擇如下的網絡結構:輸入層+三隱藏層+SoftMax層+輸出層。全連接層的網絡節點配置表見表1。

表1 網絡節點配置
由表1可知,在激活函數上,為了防止梯度消失和梯度爆炸,通常采用Relu函數。網絡結構的設置對于模型預測的準確度具有重要影響,結構過少會發生欠擬合,結構過多則會發生過擬合。
損失函數取最小值時所對應的參數值即所需求解的模型參數的最優值,然而參數尋優的過程通常存在局部最優解和全局最優解兩種最優情況。本文的模型實現過程,選擇使用隨機梯度下降方法,并使用反向傳播算法實現多層前饋神經網絡的誤差反向傳播[7]。模型訓練過程中測試集與訓練集損失值下降圖如圖5所示。橫坐標為訓練迭代次數,縱坐標為均方誤差MSE。

圖5 模型訓練過程中測試集與訓練集損失值下降圖
模型對75個未知用戶負荷的預測如圖6所示,圖中橫坐標為用戶樣本編號,縱坐標為用戶負荷數據。經計算分析可知預測均方誤差為0.509 6,滿足一定的預測精度要求。

圖6 模型對75個未知用戶的預測圖
相比于傳統的BP神經網絡模型,DNN具有更多的層次結果,擬合實際問題的能力更強。本文進行了RNN與傳統機器算法SVM模型、BP神經網絡的比較,并將針對少量用戶負荷預測結果進行可視化展示,如圖7所示。

圖7 SVM、BP神經網絡與DNN預測對比圖
圖7為SVM、BP神經網絡與DNN預測對比圖,圖中橫坐標為用戶樣本編號,縱坐標為用戶負荷數據,不同模型均方誤差如表2所示。

表2 不同模型的均方誤差
綜合圖7和表2可知:在三種模型中,DNN模型預測精度最好,驗證了使用DNN模型作為臺區用戶負荷預測模型是最合理的。本文所提算法在面對多維數據時具有明顯的效率優勢。BP作為機器學習中運用最廣泛的回歸算法,計算效率和速率優于SVM和Softmax分類器,在面對大數據時尤其明顯;但是隨著輸出維度的增加,僅僅使用單個分類器或者SVM是不夠的,需要利用多個二分類器來組成多分類器。雖然滿足損失函數收斂很小的值,但是運行時間大大增加,并占用了較多的內存空間。而本文所提算法在面對分類識別問題時,在保證模型穩定性的同時滿足了較高的預測精度。
本文提出了一種基于DNN和SoftMax分類器的臺區負荷分類識別方法。首先,構建包含SoftMax分類器的DNN多層網絡結構;其次,將具體時間維度上負荷數據作為輸入進行訓練,獲得了相應的臺區用戶的負荷預測模型;最后結合已有的典型負荷曲線特征庫,驗證模型的預測精度。通過實際臺區用戶數據仿真結果表明,本文提出基于DNN和SoftMax分類器的方法在臺區負荷分類模型的預測精度等方面具有更好的性能。