謝林楓, 錢立軍, 季 聰, 江 明, 呂 輝
(1. 江蘇方天電力技術(shù)有限公司, 江蘇 南京 211102;2. 國網(wǎng)江蘇省電力有限公司, 江蘇 南京 210024)
一直以來,電費回收率[1]都是電力公司的重要考核指標,直接關(guān)系到電力公司的運營效率和水平。電力大客戶合同容量大、用電量大,其是否及時繳費,很大程度上影響著電費回收率。因此,近年來,電力公司一直將電費回收風(fēng)險[2]作為其運營風(fēng)險的核心指標之一,也圍繞這一主題開展了大量的研究工作,取得了一定的成效。
文獻[3—4]采用層次分析法、熵值法建立了電力大客戶信用評價體系,用于防范電費回收風(fēng)險,而本文綜合考慮了電力客戶電量、電費、工商、司法等數(shù)據(jù),建立大客戶電費回收風(fēng)險預(yù)警體系。文獻[5—6]采用邏輯回歸、隨機森林等傳統(tǒng)數(shù)據(jù)挖掘算法實現(xiàn)了客戶電費回收風(fēng)險預(yù)警,而本文采用長短期記憶(long short-term memory, LSTM)網(wǎng)絡(luò)算法提取客戶風(fēng)險特征,實現(xiàn)電費回收風(fēng)險預(yù)警。文獻[7—8]借助大數(shù)據(jù)技術(shù)、“客戶畫像”等新技術(shù)開展了電費回收風(fēng)險研究。
電費回收風(fēng)險受客戶生產(chǎn)運營情況、財務(wù)經(jīng)濟狀況、宏觀經(jīng)濟政策等眾多因素的影響,相關(guān)因素的篩選和量化較為困難。而深度學(xué)習(xí)[9-11]算法能夠自動選取關(guān)鍵因素,目前在電力負荷預(yù)測、變壓器故障診斷等方面得到了應(yīng)用[11-16]。因此本文研究了循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)算法的基本原理,考慮到電費回收風(fēng)險預(yù)警隨時間推移存在一定規(guī)律,本文進一步研究了RNN算法的特殊類型——LSTM網(wǎng)絡(luò)算法,用于開展電費回收風(fēng)險預(yù)警工作,取得了較傳統(tǒng)算法更精確的預(yù)警結(jié)果。
電力大客戶電費回收風(fēng)險受其所在行業(yè)背景、自身實力、經(jīng)營能力等多重因素影響,因此,本文基于電力內(nèi)部的電量、電費、違約用電等數(shù)據(jù),結(jié)合外部的工商、稅務(wù)、法院信息,建立了電力大客戶的電費回收風(fēng)險指標體系,如表1所示。
表1 電費回收風(fēng)險指標Tab.1 Tariff recovery risk indices
在進行客戶風(fēng)險預(yù)警模型構(gòu)建之前,需要對客戶風(fēng)險指標進行篩選,過濾掉弱影響指標,并利用相關(guān)性分析剔除作用重復(fù)的指標。
首先采用熵值法[17]計算表1中的各指標權(quán)重,結(jié)果如表2所示。
表2 各電費回收風(fēng)險指標權(quán)重系數(shù)Tab.2 Weight of each tariff recovery risk index
過濾弱影響指標,剔除表2中權(quán)重系數(shù)絕對值<1.5%的8個指標,得到27個權(quán)重系數(shù)較高的指標。對剩余的27個指標進行相關(guān)性分析,得到相關(guān)性系數(shù)較高的指標見表3。
表3 相關(guān)性系數(shù)較高的指標Tab.3 Indices with high correlation coefficient
剔除實收資本、前年用電量增長情況和最近一年電費回收準時度3個指標,得到最終的24個與客戶欠費風(fēng)險密切相關(guān)的指標。
在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型中,輸入層、隱含層和輸出層之間全連接,而每層的節(jié)點相互無連接;序列當前的輸出與前一時刻輸出相關(guān)時,這種連接方式無法體現(xiàn)和處理這種關(guān)系。而RNN的隱含層之間也有連接,隱含層的輸入不僅包括輸入層提供的輸出,還包括上一時刻隱含層的輸出。通過這種方式,RNN可對前面時刻的信息進行記憶,并應(yīng)用于當前時刻的計算。RNN的簡單結(jié)構(gòu)如圖1所示。
圖1 RNN的基本結(jié)構(gòu)Fig.1 The basic structure of RNN
x=[x1,…,xt-1,xt,xt+1,…,xT]為網(wǎng)絡(luò)的輸入,T為RNN網(wǎng)絡(luò)建模的總時刻數(shù),t時刻的輸入即為xt;ht為代表t時刻的隱含層狀態(tài),ot為t時刻的輸出;U,V,W為輸入層到隱含層、隱含層到隱含層、隱含層到輸出層的權(quán)重系數(shù)矩陣。
RNN的Forward過程,在t時刻,網(wǎng)絡(luò)的輸出可以用下式表達:
ot=g(Vht)
(1)
式中:函數(shù)g一般為softmax函數(shù);ht為隱含層的狀態(tài),其計算公式為:
ht=f(Uxt+Wht-1)
(2)
其中,f一般為tanh、relu、logistic等函數(shù)。
(3)
(4)
(5)
RNN很好地利用了歷史信息來幫助網(wǎng)絡(luò)進行當前決策,但當回歸/分類信息所需的歷史信息間隔較遠時,RNN就會喪失學(xué)習(xí)能力,這種問題稱為長期依賴問題。對長期依賴問題而言,RNN的Backward過程中梯度會呈指數(shù)倍衰減,這種衰減導(dǎo)致RNN無法處理長期依賴問題。為了克服RNN的這種缺陷,國內(nèi)外專家學(xué)者們研究和改進了眾多方法,其中LSTM表現(xiàn)最為出色。當誤差從輸出層反向傳播回來時,LSTM可以用記憶元存儲下來,以記住較長時間內(nèi)的信息。
所有的RNN都具有重復(fù)神經(jīng)網(wǎng)絡(luò)模塊的鏈式形式,在標準的RNN中,這個重復(fù)模塊結(jié)構(gòu)簡單,一般只有一個tanh層;LSTM同樣具有這樣的重復(fù)結(jié)構(gòu),但其神經(jīng)網(wǎng)絡(luò)層有4個,相互直接通過特殊方式進行交互,標準RNN模塊和LSTM模塊的鏈式結(jié)構(gòu)如圖2所示。
圖2 LSTM網(wǎng)絡(luò)模塊的鏈式結(jié)構(gòu)Fig.2 The chain structure of LSTM network module
LSTM一個重要的概念是細胞狀態(tài),它可以通過精心設(shè)計的“門”結(jié)構(gòu)來更新細胞狀態(tài)。LSTM神經(jīng)網(wǎng)絡(luò)模塊的4層結(jié)構(gòu)中:
第一層為遺忘門層,它決定從細胞狀態(tài)中丟棄什么信息。第二層為輸入門層,一般為sigmoid函數(shù),決定需要更新的信息。第三層為tanh層,通過創(chuàng)建一個新的侯選值向量更新細胞狀態(tài)。第二層和第三層共同作用,更新神經(jīng)網(wǎng)絡(luò)模塊的細胞狀態(tài)。第四層為其他相關(guān)信息更新層,用于更新由其他因素導(dǎo)致的細胞狀態(tài)變化。
通過4層結(jié)構(gòu)模型,LSTM很好地解決了標準RNN對長期依賴問題處理效果欠佳的問題,目前在語言模型、序列標記中取得一定的成功。
LSTM神經(jīng)網(wǎng)絡(luò)模塊的四層結(jié)構(gòu),使得其工作原理比標準RNN網(wǎng)絡(luò)更加復(fù)雜,本文以圖4的LSTM模塊為參照,詳細介紹了LSTM的工作原理。假設(shè)LSTM神經(jīng)網(wǎng)絡(luò)模塊的各信號定義如圖3所示。
圖3 LSTM神經(jīng)網(wǎng)絡(luò)模塊的各信號定義Fig.3 Definition of signals in LSTM neural network module
LSTM神經(jīng)網(wǎng)絡(luò)模塊中的信號傳播規(guī)則如下式:
(6)
其中:φ(x)=tanh(x),σ(x)=1/(1+e-x),帶下標的各W參數(shù)代表兩個信號之間的權(quán)重系數(shù),帶下標的各b參數(shù)代表各信號的偏置值。
令xct=[xt,ht-1],則式(6)可以改寫為:
(7)
式中:ft為遺忘門,決定從細胞狀態(tài)的上一個狀態(tài)中丟棄的信息;it和gt構(gòu)成輸入門,決定新的細胞狀態(tài)中保存的信息;ot為輸出層,決定要輸出的信息。
LSTM雖然學(xué)習(xí)能力強大,但也要基于模型要求和人工經(jīng)驗,設(shè)置一些超參數(shù),使算法的尋優(yōu)速度更快、分類準確度更高。
(1) Hidden_Size。隱藏層神經(jīng)元個數(shù),其個數(shù)越多,LSTM網(wǎng)絡(luò)越強大,但計算參數(shù)和計算量會因此急劇增加;而且,要注意隱藏層神經(jīng)元個數(shù)不能超過訓(xùn)練樣本條數(shù),否則容易出現(xiàn)過擬合。
(2) Keep_Prob。神經(jīng)元連接不被切斷的概率,在神經(jīng)元輸入端有數(shù)據(jù)輸入時以Keep_Prob的概率正常工作,以1-Keep_Prob的概率輸出為0,這種局部連接方式可以降低數(shù)據(jù)過擬合的概率。
(3) Num_Layers。LSTM網(wǎng)絡(luò)的層數(shù),層數(shù)越多,網(wǎng)絡(luò)越大,學(xué)習(xí)能力越強大,同時計算量也會大幅增加,對于電費回收風(fēng)險這類輸入數(shù)據(jù)類型相對簡單的問題,設(shè)置為2層一般能夠滿足需求。
(4) Learning_Rate_Base。學(xué)習(xí)率初值,會影響各神經(jīng)元連接的權(quán)值更新速度,學(xué)習(xí)率大,權(quán)值更新就快,到訓(xùn)練后期損失函數(shù)可能在最優(yōu)值附近振蕩,學(xué)習(xí)率小,權(quán)值更新就慢,過小的權(quán)值可能導(dǎo)致優(yōu)化損失函數(shù)下降速度過慢。因此目前常用的方法是在訓(xùn)練初期設(shè)置較高的學(xué)習(xí)率,以確保損失函數(shù)以較快的速度向最優(yōu)值靠攏,隨著訓(xùn)練次數(shù)的增加,不斷降低學(xué)習(xí)率,使損失函數(shù)在局部范圍內(nèi)不斷逼近最優(yōu)值。
(5) Learning_Rate_Decay。學(xué)習(xí)率衰減速度,與學(xué)習(xí)率初值搭配,使LSTM網(wǎng)絡(luò)的學(xué)習(xí)能力更加強大、智能,具體操作方法見(4)。
(6) Regularization_Rate。正則化率,為了防止LSTM網(wǎng)絡(luò)過擬合,一般的做法是在損失函數(shù)后加一項正則化懲罰項,而正則化率正是該懲罰項的系數(shù),其值越大,對LSTM網(wǎng)絡(luò)過擬合的懲罰越大。
(7) Train_Times。訓(xùn)練次數(shù),隨著訓(xùn)練次數(shù)的不斷增加,LSTM網(wǎng)絡(luò)的準確性越高,但當訓(xùn)練次數(shù)達到一定值后,LSTM網(wǎng)絡(luò)的準確性將不再提高或提升很小,而計算量卻不斷增加。因此在具體操作時,應(yīng)結(jié)合研究問題的需要,選擇合適的訓(xùn)練次數(shù)。
為了驗證本文所選指標的合理性和算法的先進性,以某區(qū)域電網(wǎng)3039戶電力大客戶為例,進行電費回收風(fēng)險預(yù)警算例分析。選取其中2839戶為訓(xùn)練集(其中2809戶非欠費客戶,30戶欠費客戶),200戶為測試集(其中191戶非欠費客戶,9戶欠費客戶)。LSTM參數(shù)設(shè)置見表4。
表4 LSTM參數(shù)設(shè)置Tab.4 LSTM parameter setting
采用訓(xùn)練集對LSTM網(wǎng)絡(luò)算法進行訓(xùn)練,并將訓(xùn)練好的模型用于對200戶測試樣本進行電費回收風(fēng)險預(yù)警,并與Logistic回歸、C4.5決策樹、支持向量機(SVM)的預(yù)警結(jié)果比較,如表5所示(1表示客戶發(fā)生欠費,0表示客戶未發(fā)生欠費)。
表5 風(fēng)險預(yù)警結(jié)果比較Tab.5 Comparison of early warning results of tariff recovery risk
為了更好地對比算法的性能,本文在準確率指標的基礎(chǔ)上,引入了預(yù)警命中率和覆蓋率指標,其計算規(guī)則如下:
(8)
式中:Nwarn為算法計算得到的風(fēng)險預(yù)警客戶數(shù);Nreal為實際發(fā)生電費回收風(fēng)險的客戶數(shù);Nright為算法命中的實際預(yù)警客戶數(shù);Hr為算法的命中率,即算法預(yù)警的客戶數(shù)中實際發(fā)生欠費客戶數(shù)的比例;Cr為算法的覆蓋率,即實際發(fā)生欠費的客戶數(shù)中被算法預(yù)警結(jié)果覆蓋的比例。
各算法準確率、命中率和覆蓋率如表6所示。
(1) 準確率而言,各算法都達到了95%以上,其中C4.5決策樹準確率最高。
(2) 命中率而言,C4.5決策樹命中率最高,其計算得到的風(fēng)險預(yù)警客戶8戶,其中5戶實際發(fā)生了欠費;而LSTM計算得到的風(fēng)險預(yù)警客戶18戶,其中9戶實際發(fā)生了欠費,查準率50.00%。
(3) 覆蓋率而言,實際發(fā)生欠費客戶9戶,LSTM覆蓋了全部欠費客戶,覆蓋率100%;Logistic回歸覆蓋了其中的8戶,覆蓋率88.89%;在準確率、命中率方面表現(xiàn)最好的C4.5決策樹算法,僅覆蓋到5戶,覆蓋率55.56%。
表6 風(fēng)險預(yù)警算法效果對比Tab.6 Comparison of the effect of risk early warning algorithms %
從電費回收工作的實際需求看,首要的要求是能夠識別所有的欠費客戶,也即覆蓋率,以便于杜絕電費回收風(fēng)險轉(zhuǎn)化為實際欠費;其次,命中率的提高,能夠?qū)㈦娰M催收對象鎖定到了更小的客戶范圍,減少電費催收的工作量。從這兩個要求看,LSTM命中了所有實際欠費客戶,而且將催費對象鎖定到18戶,也即在降低工作量的同時,規(guī)避了所有的電費回收風(fēng)險。
電費催收工作一直以來都是電力公司的一項重要工作,消耗了大量的人力物力,但由于電費回收風(fēng)險的潛伏性、突發(fā)性,導(dǎo)致電費催收工作中仍然存在漏網(wǎng)之魚。因此,本文結(jié)合業(yè)務(wù)人員的關(guān)注重點,建立了電費回收風(fēng)險指標體系,采用熵值法和相關(guān)性分析篩選了電費回收風(fēng)險的關(guān)鍵指標,并采用LSTM進行電費回收風(fēng)險預(yù)警,取得了顯著的成效,預(yù)警準確率、查準率和查全率全面高于傳統(tǒng)方法。研究成果可以精準定位高風(fēng)險客戶群體,提高電費催收的針對性。