廖嘉煒 孫煜華 吳永歡 池燕清 徐炫東
(廣州供電局有限公司 廣州 510620)
隨著電力客戶用電量快速增加和外部壞境的不斷變化,供電公司面臨的電費回收風險和不確定性也在逐年加大[1]。市場上出現(xiàn)了預付費電表,可設(shè)置用戶先買電后用電的控制方式[2~3]。然而,為所有客戶安裝新型電表費用較大。因此,有效監(jiān)測客戶用電行為特征,利用數(shù)據(jù)分析技術(shù)預測欠費行為,督促用戶從后付費模式向預付費模式轉(zhuǎn)化,是當前營銷工作的重要內(nèi)容之一[4]。
目前電費回收相關(guān)分析技術(shù)尚未涉及到直接預測用戶會欠費時間、欠費金額以及未來欠費的可能性,這也是最直觀的預警方式[5]。由于指標難以選擇,缺乏有效的分析預測方法,目前電費回收常用兩類技術(shù)方法:一類是利用層次分析法[6]、主成分分析[7]、層次聚類[8]、灰色關(guān)聯(lián)分析[9]等算法分析用戶歷史用電行為和繳費記錄,建立風險模型[10]評估用戶預警級別;另一種是利用神經(jīng)網(wǎng)絡(luò)[11]、SVM[12]等監(jiān)督類算法學習用電特征預測用戶高危風險度[13]。上述兩種方法都不能直接預測用戶欠費相關(guān)信息,多結(jié)合自適應(yīng)算法等,提高網(wǎng)絡(luò)的收斂時間[14~16]。
本文提出一種基于改進的深度信念網(wǎng)絡(luò)電費回收預測模型,并結(jié)合具體數(shù)據(jù)研究和驗證其實用性。該方法將欠費問題轉(zhuǎn)為更有針對性的預測變量,包括用戶欠費時間和欠費金額,并設(shè)計關(guān)聯(lián)指標用于訓練模型,得到較精準預測結(jié)果。
構(gòu)建電費欠費預測模型,首先設(shè)計欠費時間和欠費金額的預測方式,建立相關(guān)指標體系,形成模型輸入特征;然后抽取指標對應(yīng)的電力營銷數(shù)據(jù),構(gòu)建學習樣本;進而對比所構(gòu)建深度信念網(wǎng)絡(luò)模型和BP-神經(jīng)網(wǎng)絡(luò)預測結(jié)果,驗證欠費預測精度。模型流程如圖1所示。
圖1 電費回收預測模型流程圖
以現(xiàn)有信息系統(tǒng)預測能力,難以直接預測下次欠費發(fā)生的時間。由于不同月份可能具有不同的用電行為特征,且各個月份用電行為關(guān)聯(lián)較小,因此缺少直接有效的指標和特征參數(shù)。本文通過研究預測用戶下次欠費距離本次欠費的間隔時長來得到下次欠費時間,并利用欠費歷史數(shù)據(jù)來構(gòu)造指標體系。利用用戶欠費記錄數(shù)據(jù)構(gòu)建指標體系,基于欠費時間數(shù)據(jù)和基礎(chǔ)信息以及用電行為數(shù)據(jù)建立特征參數(shù)集用于預測模型的輸入?;谥笜梭w系的特征參數(shù)可以更加精準地反映用戶用電行為與欠費時間之間的關(guān)系;最近一次欠費距今間隔時長作為欠費時間預測模型的檢驗指標。
結(jié)合經(jīng)驗可以知道,下次可能欠費金額與歷史欠費金額有密切的關(guān)聯(lián)關(guān)系。用戶欠費金額預測是利用欠費歷史數(shù)據(jù)來構(gòu)造指標體系,基于欠費金額數(shù)據(jù)和基礎(chǔ)信息以及用電行為數(shù)據(jù)建立特征參數(shù)集用于預測模型的輸入來預測用戶的欠費金額?;谥笜梭w系的特征參數(shù)可以更加精準地反映用戶用電行為與欠費金額之間的關(guān)系,將欠費金額作為欠費金額預測模型的檢驗指標。
受限制玻爾茲曼機(Restricted Boltzmann Machine,RBM)是通過縮減玻爾茲曼機(Boltzmann Machine,BM)的網(wǎng)絡(luò)結(jié)構(gòu)得到的,忽略可見層與隱含層的連接,如圖2 所示??梢妼蛹磳ο蟮奶卣骰蛑笜耍浑[含層是抽象的可見層節(jié)點信息,沒有具體物理意義。
圖2 單層玻爾茲曼機
對于給定可見層和隱含層狀態(tài)(v,h),受限制玻爾茲曼機具有的能量計算如式(1)。
式中θ是RBM 的參數(shù){W,a,b},均為實數(shù);n是可見層節(jié)點數(shù)量;m是隱含層節(jié)點數(shù)量;vi是第i個可見單元的狀態(tài);hj是第j個隱單元的狀態(tài);ai是可見單元i的偏置;bj是隱單元j的偏置;Wij是可見層單元i與隱含層單元j的連接權(quán)重。
當網(wǎng)絡(luò)的連接權(quán)重W、可見層偏置a、隱含層偏置b等參數(shù)固定后,若固定可見層或隱含層節(jié)點取值后,另外一層節(jié)點之間的狀態(tài)符合條件獨立分布,可以利用能量函數(shù)E(v,h|θ)計算 (v,h)的出現(xiàn)機率。給定可見節(jié)點的狀態(tài)時,第j個隱含層節(jié)點的激活概率如式(2)和式(3)。
一般使用CD-k算法計算可見層取值與輸入數(shù)據(jù)進行比較產(chǎn)生重構(gòu)計算誤差,調(diào)整參數(shù)。
1)算法初始化
給定訓練樣本集合S;模型訓練周期J,學習速率ω以及CD-k 算法參數(shù)k;設(shè)置算法可見層節(jié)點數(shù)量m和隱含層節(jié)點數(shù)量n;初始化可見層偏置向量a,隱含層偏置向量b和網(wǎng)絡(luò)權(quán)重W。
2)訓練階段
(1)對s∈S(對所有的訓練樣本),s(0)=s行k次采樣,依次計算當t=1,2,…,k時的可見層和隱含層的狀態(tài),如式(4)和式(5)。
(2)分別在t=1,2,…,k 時計算梯度值,根據(jù)式(6)-(8)計算當i=1,2,…m,j=1,2,…,n時的 Δwi,j,Δai和 Δbj:
(3)直到最后t=k時據(jù)式(9)~(11)計算出w,a,b。
(4)使用訓練后得到參數(shù)重構(gòu)樣本數(shù)據(jù),并與實際值進行比較,如果它們之間的差值足夠小就可以認為訓練數(shù)據(jù)集與樣本數(shù)據(jù)是一致的,否則說明誤差太大。通常將最大次數(shù)設(shè)置在1000~5000 間,當計算次數(shù)滿足最大值時,無論參數(shù)訓練是否完成都退出迭代過程。
深度信念網(wǎng)絡(luò)由一個輸入層和輸出層,以及多個隱含層組成的網(wǎng)絡(luò)模型。每個隱含層可以從它前面的單元獲取相關(guān)的特征信息。
DBN由多層受限制玻爾茲曼機組成,可以看成是由多個RBM層的疊加而成,如圖3所示。第一層RBM 網(wǎng)絡(luò)隱含層的輸出,作為第二層RBM 網(wǎng)絡(luò)輸入層的輸入。
圖3 RBM疊加構(gòu)成DBN
DBN 網(wǎng)絡(luò)可以看作多層RBM 網(wǎng)絡(luò)的疊加,逐層對RBM 進行訓練,然后調(diào)整DBN 模型的全部參數(shù)。DBN訓練主要分為兩個階段:
1)預訓練
首先把訓練數(shù)據(jù)si作為第一層RBM 可見層的輸入數(shù)據(jù),使用對比散度算法對RBM 進行訓練,得到權(quán)值矩陣、偏置等參數(shù);利用第一層RBM 訓練得到的權(quán)值計算,通過前向計算方法計算隱含層取值;將計算結(jié)果作為第二層RBM 的輸入層數(shù)據(jù),然后對第二層RBM 進行訓練;最后,遞歸訓練后面網(wǎng)絡(luò)的模型參數(shù)。
2)微調(diào)
使用誤差反饋方式將預測的誤差從輸出層反饋傳遞到網(wǎng)絡(luò)輸入層,然后對網(wǎng)絡(luò)參數(shù)進行細微調(diào)整。設(shè)置預測值為模型標簽,對DBN 網(wǎng)絡(luò)進行有監(jiān)督學習,微調(diào)網(wǎng)絡(luò)參數(shù)。經(jīng)過多層RBM 訓練過程,預測模型得到數(shù)據(jù)的特征信息,這屬于無監(jiān)督學習。
研究所采用的數(shù)據(jù)集來自于某省國家電網(wǎng)電力用戶營銷數(shù)據(jù)庫系統(tǒng),由于用電特殊性,本研究利用大工業(yè)用戶的行為數(shù)據(jù)進行實驗研究;數(shù)據(jù)集共167553 條送電時間一年及以上,時間范圍為2017年1月至2017年12月的大工業(yè)用戶。
圖4 預測用戶欠費時間相關(guān)指標
依照上述欠費時間與金額的預測方法抽取數(shù)據(jù)進行數(shù)據(jù)預處理。預測用戶欠費時間和欠費金額使用的指標分別如圖4和圖5所示。對時間預測模型的數(shù)據(jù)集作初步分析,發(fā)現(xiàn)欠費間隔有大部分只欠費一次和沒有欠費過的用戶,將沒有欠費過的用戶的欠費間隔置為12,只欠費過一次的用戶的欠費間隔置為這次違約距2017 年12 月的月份差值。對欠費金額預測模型的數(shù)據(jù)集作初步分析,發(fā)現(xiàn)每次欠費金額分布在0~100萬,為便于DNB模型的收斂,將欠費金額以千元計,并保留一位小數(shù)。
數(shù)據(jù)預處理包括去除異常數(shù)據(jù)、特征量化、不同類型數(shù)據(jù)轉(zhuǎn)換、不同數(shù)據(jù)源整合以及特征工程等;并以1∶4的比例構(gòu)建模型的測試和訓練樣本。
圖5 預測用戶欠費金額相關(guān)指標
電費回收預測DBN 模型訓練過程為:首先初始化DBN 網(wǎng)絡(luò),根據(jù)樣本的特征設(shè)計輸入窗口的大小,根據(jù)預測窗口設(shè)置輸出窗口的大??;隨后設(shè)置最大訓練次數(shù),初始化網(wǎng)絡(luò)參數(shù);然后預訓練網(wǎng)絡(luò)模型,無監(jiān)督地訓練網(wǎng)絡(luò)中每一層RBM 網(wǎng)絡(luò),使RBM 網(wǎng)絡(luò)的特征映射最優(yōu);最后微調(diào)DBN 網(wǎng)絡(luò)模型參數(shù)。將預測值作為DBN 網(wǎng)絡(luò)的輸出層,有監(jiān)督訓練整個網(wǎng)絡(luò),對DBN 電費回收預測模型進行微調(diào)。
分別使用基于RBM 的BP 和DNB 神經(jīng)網(wǎng)絡(luò)對兩套模型進行訓練和測試。通過實驗得到兩套預測模型網(wǎng)絡(luò)結(jié)構(gòu)對比如表1所示。
表1 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置
設(shè)置RBM 和BP 的迭代次數(shù)分別為1000 和500 時,基于DBN 的欠費時間間隔的預測混肴矩陣如表2 所示?;祀染仃嚨男凶鴺藶樵`約間隔,縱坐標為預測出的違約間隔,可以看出大部分違約間隔被預測出來,在矩陣對角線上三角位置的不為0數(shù)值為被偏小預測的間隔,可以設(shè)想這部分用戶是否有更頻繁的欠費行為未被察覺,加大審查力度,用以電費回收預警。
表2 模型性能評價混淆矩陣表
由于欠費金額分布范圍較廣,設(shè)置可信區(qū)間為5%,在區(qū)間內(nèi)小范圍的震蕩的預測值都可認為是正確預測了欠費金額。由于數(shù)據(jù)量較多,隨機取100 個數(shù)據(jù)作曲線對比,并對欠費時間和欠費金額的預測進行精度分析,如圖6 所示,可看出算法精度差異。
圖6 對不同算法準確率對比
從圖6 中可以發(fā)現(xiàn)疊加了RBM 訓練的DBN 算法比BP 神經(jīng)網(wǎng)絡(luò)模型的準確率,不管在欠費金額預測還是欠費間隔預測模型上均有所提高。且隨著DBM 迭代次數(shù)的增加,收斂時間增大,當?shù)螖?shù)由RBM 1000-BP 500增至RBM 2000-BP 1000時時間和金額模型的準確率分別由91.44%提升到91.94%和由90.56%提升到90.87%。同時,模型學習速度也有所犧牲??傮w可以看出DBN 算法對電費回收時間和金額的預測均有比較好的效果,并且具有很好的實施性和實時性。
本研究針對電費回收預測方法,構(gòu)建了基于DBM 的電費回收預測模型。將欠費問題轉(zhuǎn)為用戶欠費時間和金額的預測,利用歷史數(shù)據(jù)構(gòu)建了訓練模型的動態(tài)和靜態(tài)指標體系。在構(gòu)建指標時充分考慮用戶地域行業(yè)等基礎(chǔ)特征,并結(jié)合用電行為特征指標。同時,在構(gòu)造訓練樣本集時,對不同用電級別的企業(yè)用電數(shù)據(jù)均進行特征工程和規(guī)范化處理,降低了指標變化對模型穩(wěn)定性的干擾。采用DBM 建立電費回收時間和金額的預測模型,由于增加了RBM 特征提取算法,且采用最近一年的數(shù)據(jù),可以更好地對樣本數(shù)據(jù)進行模式匹配,與BP神經(jīng)網(wǎng)絡(luò)迭代結(jié)果對比,進一步表明提出的算法具有可行性、有效性和實用性。