楊 安,蔣群,孫鋼,殷杰,劉英*
(1.浙江大學信息與電子工程學院,杭州 310027;2.國網(wǎng)浙江省電力有限公司營銷服務(wù)中心,杭州 311121;3.浙江華云信息科技有限公司,杭州 310012)
當前,智能電網(wǎng)建設(shè)正推動著大數(shù)據(jù)與電力應(yīng)用的結(jié)合。電力大數(shù)據(jù)分析不僅能夠及時、準確地掌握用戶用電行為特征,而且能夠從電力角度評估企業(yè)發(fā)展的活力,進一步調(diào)整供電政策、改善電力配置、提高經(jīng)濟效益,為電力行業(yè)運營和服務(wù)優(yōu)化奠定必要基礎(chǔ)[1-2]。
異動分析和負荷預(yù)測是電力大數(shù)據(jù)分析中兩項重要研究內(nèi)容。在異動分析方面,閾值檢測是最簡單可行的方案。例如,文獻[3]中通過分析異動的深層原因,利用專家知識設(shè)置閾值準則有效捕捉了由竊電引起的異動。從數(shù)據(jù)分析角度出發(fā),文獻[4]中利用高斯核密度估計法尋找最優(yōu)閾值,在路燈竊電檢測中有較好表現(xiàn)。除閾值檢測法外,聚類、局部離群因子等機器學習方法也被廣泛應(yīng)用于電力異動分析領(lǐng)域。文獻[5]中使用基于密度和網(wǎng)格的局部離群因子算法挖掘異常用電模式;文獻[6-8]中則利用不同的聚類算法刻畫異動或非異動的用電行為模式,并在此基礎(chǔ)上使用局部離群因子、關(guān)聯(lián)分析、樸素貝葉斯分類、聚類等實現(xiàn)異動檢測。
在負荷預(yù)測方面,早期研究通常采用差分整合移動平均自回歸(AutoRegressive Integrated Moving Average,ARIMA)[9-10]、Prophet[11-12]等時序預(yù)測模型對負荷數(shù)據(jù)進行預(yù)測。隨著人工智能的發(fā)展,神經(jīng)網(wǎng)絡(luò)受到了越來越多的關(guān)注。文獻[13-14]中分別使用貓群優(yōu)化算法和粒子群優(yōu)化算法優(yōu)化后向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò),提高了負荷預(yù)測的穩(wěn)定性;文獻[15]中通過構(gòu)建多尺度長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)模型捕捉多尺度特征以提高預(yù)測精度;文獻[16-17]中使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)與循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)模型組合設(shè)計,融合局部特征與時序特征提高了預(yù)測模型的性能。
然而,目前異動分析與負荷預(yù)測的大多數(shù)算法依賴于專家知識,例如異動原因的深層剖析、機器學習算法的特殊組合設(shè)計、模型超參數(shù)的確定等。這是因為已有算法通常采用平均負荷率、日峰谷差率、平期負載率、最大最小負荷等傳統(tǒng)負荷特征作為異動分析與負荷預(yù)測的數(shù)據(jù)特征,而這些特征難以全面表征負荷時間序列,嚴重影響了模型的精度。與此同時,絕大多數(shù)已有算法還通常需要加入輔助信息,例如天氣、溫濕度等,增加了不必要的成本。
鑒于用電負荷數(shù)據(jù)與金融股票數(shù)據(jù)具有相似的數(shù)據(jù)特征表示,本文適應(yīng)性地將某些金融技術(shù)指標遷移至用電負荷時間序列的描述中,開展了用電數(shù)據(jù)分析,降低了對專家知識、特殊設(shè)計的算法模型結(jié)構(gòu)和輔助信息的依賴性,主要工作如下:1)將金融技術(shù)指標適應(yīng)性地引入到用電時間序列分析中,分析了金融技術(shù)指標在刻畫用電時間序列特征方面的有效性;2)采用統(tǒng)計方法對各項金融技術(shù)指標進行統(tǒng)計分析,并采用閾值檢測識別異常用電情況;3)提取與金融相關(guān)的日負荷指標特征,構(gòu)建了LSTM 負荷預(yù)測模型。
類比于股票分析中通常采用股票價格時間序列為研究對象,本文對日平均負荷曲線進行分析,并計算相關(guān)的金融技術(shù)指標以刻畫用戶用電數(shù)據(jù)特征。
在金融領(lǐng)域,十字過濾線(Vertical Horizontal Filter,VHF)指標用于行情定位,即分辨趨勢行情或震蕩行情。趨勢行情表示時序數(shù)據(jù)呈現(xiàn)宏觀趨勢走向,而震蕩行情表示時序數(shù)據(jù)在某水平附近波動,無明顯的漲跌趨勢。本文使用VHF 指標捕捉用電數(shù)據(jù)的趨勢走向,其計算方式如式(1)所示:
其中:P=[Pi]表示日平均負荷序列,表示序列P的n日VHF 指標序列,上標i表示第i日。VHF 取值范圍為[0,1],數(shù)值越大,意味著所考察時刻的前n日日平均負荷時序數(shù)據(jù)趨勢性越強;反之,VHF 指標值越小,則意味著前n日日平均負荷時序數(shù)據(jù)呈震蕩變動。鑒于用電日平均負荷波動具備一定的社會生產(chǎn)周期性,同時參考金融數(shù)據(jù)分析,本文選取VHF 指標參數(shù)n=28,用以表征以月為時間跨度的負荷數(shù)據(jù)的趨勢性。
圖1 給出了杭州市某企業(yè)用戶從2018 年1 月到12 月的日平均負荷曲線及對應(yīng)的VHF 指標曲線。從圖1 中可以看出,在2~3 月份以及11 月份負荷序列趨勢較強的位置,對應(yīng)的VHF 數(shù)值較高,而在VHF 數(shù)值較低的5 月份到10 月份,日平均負荷序列表現(xiàn)為震蕩,無明顯趨勢變動。
圖1 2018年杭州市某企業(yè)日平均負荷曲線及對應(yīng)VHFFig.1 Daily average load curve and corresponding VHF of a company in Hangzhou City in 2018
在金融市場中,異同移動平均線(Moving Average Convergence/Divergence,MACD)指標[18]被稱為指標之王,用于描述價格變化的趨勢強度與方向。MACD 可通過計算快速指數(shù)移動平均線(Exponential Moving Average,EMA)與慢速指數(shù)移動平均線之間的差值再經(jīng)平滑后得到。當MACD從負到正,即快速均線超越慢速均線,意味著當前處于上升趨勢;反之,則處于下降趨勢。MACD 具有移動平均線共同的滯后性,而趨勢滯后性不利于負荷預(yù)測或異動捕捉。針對上述不足,本文采用零滯后異同移動平均線(Zero Lag Moving Average Convergence/Divergence,ZLMACD)指標刻畫電力數(shù)據(jù)特征,從而及時捕捉電力數(shù)據(jù)的趨勢強度和方向,其計算方式如式(2)~(5)所示:
圖2 給出了杭州市某企業(yè)用戶2018 年1~6 月份的日平均負荷曲線及對應(yīng)的MACD 指標曲線。從圖2 中可以看出,日平均負荷序列呈上升趨勢時,ZLMACD 指標為正;反之,日平均負荷序列呈下降趨勢時,ZLMACD 指標為負。需注意的是,在反映負荷趨勢變動時,ZLMACD 指標穿越0 軸均領(lǐng)先MACD 指標,表明滯后性有所改善,滯后性的改善有益于及時捕捉用電數(shù)據(jù)的趨勢特征。
圖2 2018年上半年杭州市某企業(yè)日平均負荷曲線及對應(yīng)MACDFig.2 Daily average load curve and corresponding MACD of a company in Hangzhou City in first half of 2018
布林線(BOLLinger band,BOLL)指標基于標準差原理為時序數(shù)據(jù)波動劃定信賴區(qū)間,該區(qū)間由中軌線、上軌線和下軌線共同構(gòu)成[19]。在金融分析中,中軌線常使用成本線構(gòu)建。用電數(shù)據(jù)分析任務(wù)中無成本概念,故本文考慮使用移動平均線(Moving Average,MA)構(gòu)建中軌線,反映用電負荷的穩(wěn)定狀態(tài)。移動平均線目的是消除原序列的干擾因素,平滑原序列,以此保留本質(zhì)內(nèi)容。均線一般都具有滯后性,常落后于原時間序列的趨勢變化,更平滑意味著滯后性也更明顯。BOLL 指標所用均線應(yīng)盡可能保證低滯后,故本文使用最小二乘移動平均線(Least Square Moving Average,LSMA)作為中軌線。LSMA 是基于最小二乘法的思想使用直線擬合過去n日的數(shù)據(jù),并將當日擬合數(shù)據(jù)點作為當日均值。相較于普通移動平均線MA,LSMA 可改善滯后現(xiàn)象,在滯后性和穩(wěn)定性之間獲得較好權(quán)衡。
圖3 給出了杭州市某企業(yè)2018 年全年日平均負荷曲線的普通移動平均線MA(14)和最小二乘移動平均線LSMA(14),其中括號內(nèi)參數(shù)“14”表示14 日的移動平均。從圖3 可以發(fā)現(xiàn),LSMA(14)在保證較好平滑性的同時,相較于MA(14)具有更低的時滯。
圖3 2018年杭州市某企業(yè)日平均負荷曲線及對應(yīng)MA和LSMAFig.3 Daily average load curve and corresponding MA and LSMA of a company in Hangzhou City in 2018
基于LSMA 構(gòu)建中軌線,BOLL 指標計算方式如式(6)~(8)所示:
圖4 給出了杭州市某企業(yè)用戶2018 年上半年1~6 月的日平均負荷曲線及其對應(yīng)的布林線指標。圖4 中1~2 月份和5~6 月份有箭頭指示的時間序列超出布林線邊界,意味著平均負荷序列產(chǎn)生較劇烈的震蕩。實驗結(jié)果表明,布林線指標相較于趨勢性指標VHF 和ZLMACD,對突變信號更為敏感。
用電異動通??梢苑从吃谪摵傻内厔葑儎又?,金融技術(shù)指標能夠有效地捕捉用電趨勢變化,有助于尋找企業(yè)異動行為。本文提出基于金融技術(shù)指標的異動分析算法,該算法包含數(shù)據(jù)預(yù)處理、技術(shù)指標閾值選取、指標聯(lián)合異動分析三部分。選取杭州市工業(yè)用戶作為考察對象,考察時間范圍從2018 年1 月1 日到2018 年12 月31 日共計365 日,數(shù)據(jù)選取每日平均負荷值,記日平均負荷序列為Praw。
為了使所有用戶在指標數(shù)值上具有可比性,在計算指標前需對各個用戶的日平均負荷序列數(shù)據(jù)進行標準化處理,即
其中:μP指日平均負荷均值,σP指日平均負荷標準差。
直觀上,同一行業(yè)內(nèi)用戶個體間用電趨勢具有潛在的一致性,因此本文根據(jù)行業(yè)確立閾值,即技術(shù)指標的閾值在同一行業(yè)范圍內(nèi)確定。圖5 給出了杭州市所有工業(yè)用戶2018年全年的VHF 和ZLMACD 指標數(shù)值統(tǒng)計結(jié)果。VHF 指標表征趨勢性強度,指標值越接近1 表示趨勢性越強,通常越接近1 的概率也越小;同時,ZLMACD 指標表征趨勢變動情況,取值有正有負,指標絕對值越大表明上升或者下降趨勢越強,通常絕對值越大則概率越小。
圖5 2018年杭州市所有工業(yè)用戶VHF和ZLMACD數(shù)值統(tǒng)計圖Fig.5 Numerical statistics of VHF and ZLMACD of all the industry users in Hangzhou City in 2018
根據(jù)圖5 正態(tài)擬合曲線可知,VHF 和ZLMACD 這兩個指標都接近于正態(tài)分布,因而本文利用偏度系數(shù)和峰度系數(shù)衡量數(shù)據(jù)分布,進而確定異動判斷的閾值。偏度系數(shù)skew和峰度系數(shù)kurt計算方式如式(10)~(11)所示:
其中:和s分別表示VHF 或ZLMACD 序列的平均值和標準差。偏度系數(shù)skew度量數(shù)據(jù)分布的對稱性,而峰度系數(shù)kurt則度量數(shù)據(jù)分布的峰高程度。在標準正態(tài)分布中,偏度系數(shù)與峰度系數(shù)均為0。
通過考察偏度系數(shù)與峰度系數(shù),本文在VHF 指標分布后尾處選擇閾值,選取二倍均值與95%分位數(shù)中的較大者作為閾值。根據(jù)ZLMACD 指標近似正態(tài)分布的特性,分別選取三倍標準差之外且絕對值不小于2.5%分位數(shù)和97.5%分位數(shù)作為雙邊閾值。經(jīng)統(tǒng)計分析,杭州市工業(yè)用戶可選VHF指標閾值為0.59,ZLMACD 指標閾值為-0.52 和0.49。本文在不同行業(yè)的實驗結(jié)果表明,不同行業(yè)VHF 與ZLMACD 指標分布基本相似,在選擇指標閾值可采取同樣的策略。
ZLMACD 指標作為趨勢性指標,在震蕩行情時將頻繁波動,只采用該指標作異動分析將產(chǎn)生虛警。VHF 指標指示是否處于趨勢行情,反映局部時間范圍的趨勢變動情況,對于任何可疑用電趨勢變動都有較好的警示,相當于為ZLMACD指標預(yù)警提供置信度。為了提高異動檢測的準確率,本文將綜合考慮VHF 和ZLMACD 兩個指標超出閾值的情況進行異動分析。
圖6 給出了聯(lián)合VHF 與ZLMACD 后杭州市某一用戶異動分析結(jié)果,其中被著色部分是超出指標閾值的部分。實驗結(jié)果表明VHF 與ZLMACD 指標在2~3 月份和8~9 月份均有超出閾值部分,其對應(yīng)的用電時間序列也有直觀上不正常的趨勢變動,兩者結(jié)論一致。
圖6 某工業(yè)用戶聯(lián)合VHF和ZLMACD的異動分析結(jié)果Fig.6 Results of anomaly detection of an industry user by combining VHF and ZLMACD
負荷預(yù)測旨在依賴給定的負荷數(shù)據(jù)預(yù)測未來負荷值,預(yù)測的關(guān)鍵在于對趨勢的把握。金融技術(shù)指標能夠更好地捕捉負荷趨勢特征信息,將其作為特征加入至機器學習模型中有助于實現(xiàn)更為精準的預(yù)測。本文提出了基于金融技術(shù)指標的負荷預(yù)測算法LSTM-FI(Long Shot-Term Memory network with Financial Indicators),該算法包含數(shù)據(jù)預(yù)處理、負荷特征選取、負荷預(yù)測及結(jié)果分析三部分。實驗數(shù)據(jù)為杭州市工業(yè)用戶每日96 點負荷數(shù)據(jù),考察時間范圍從2018 年8 月26 日至2018 年11 月28 日。
在金融二級市場中,價格市場的變動常使用K 線圖作為分析工具。K 線圖由開盤價、收盤價、最高價、最低價共四項指標構(gòu)建,相較于若干曲線的表現(xiàn)形式,K 線圖更為直觀,可以展現(xiàn)更多用戶負荷信息。因而,本文使用K 線圖描述用戶用電負荷變動并基于K 線圖構(gòu)建預(yù)測模型。參考文獻[20],在對負荷數(shù)據(jù)采取標準化處理之后,使用日最大負荷Pmax、日最小負荷Pmin、日尖峰平均負荷Ppeak_avg、日平谷平均負荷Ptrough_avg四項核心參數(shù)構(gòu)建負荷K 線圖。杭州市工業(yè)用電分時劃分為:尖峰時段19:00—21:00;高峰時段8:00—11:00、13:00—19:00、21:00—22:00;低 谷時段11:00—13:00、22:00—次日8:00。本文將日尖峰平均負荷定義為尖峰時段與高峰時段平均負荷,日平谷平均負荷定義為低谷時段平均負荷,K 線實體中心位置為日平均負荷。根據(jù)日尖峰平均負荷與日平谷平均負荷之間相對大小關(guān)系,負荷K 線存在兩種表示形式,如圖7 所示。
圖7 電力負荷K線圖Fig.7 Candlestick chart of power load
除K 線核心參數(shù)外,本文還采用傳統(tǒng)日負荷特性指標,包括日平均負荷率ρavg、日最小負荷率ρmin、日峰谷差Δ等描繪用戶用電日負荷特征,計算方式如式(12)~(14)所示:
根據(jù)式(12)~(14)可知,傳統(tǒng)負荷特性指標是負荷K 線核心參數(shù)的非線性組合,這類特征對具備較強非線性表征能力的機器學習模型冗余。金融技術(shù)指標能夠更好地捕捉負荷趨勢特征信息,為傳統(tǒng)負荷特性指標提供了補充,有利于提高負荷預(yù)測的精度。因此,本文將金融技術(shù)指標加入到日負荷特征向量中,構(gòu)建如表1 所示的14 維日負荷特征向量。
表1 14維日負荷特征向量Tab.1 14-dimensional daily load feature vector
在表1 中,括號中數(shù)字表示指標計算中所采用的參數(shù)值。除金融技術(shù)指標外,14 維日負荷特征向量中還包括兩項社會因素指標,包含指示周一到周日的周期參數(shù)Day 以及節(jié)假日參數(shù)Holiday。這兩項參數(shù)為非定量指標,需對其進行量化處理,Day 取值為{1,2,3,4,5,6,7}分別表示周一到周日,Holiday 取值為{0,1}表示是否為節(jié)假日。
RNN 在處理序列化數(shù)據(jù)時具有獨特的優(yōu)勢,其中LSTM是最常見的循環(huán)神經(jīng)網(wǎng)絡(luò)之一,LSTM 基本單元如圖8 所示。
圖8 LSTM基本單元結(jié)構(gòu)示意圖Fig.8 Schematic diagram of the structure of LSTM cell
LSTM 基本單元主要由狀態(tài)循環(huán)變量Ct和ht組成,相較于RNN,LSTM 通過引入門結(jié)構(gòu)增強了對長期時間序列的表征學習能力,一定程度上避免梯度爆炸問題。LSTM 引入的三項門結(jié)構(gòu)包括遺忘門ft、輸入門it、輸出門ot,門結(jié)構(gòu)如式(15)~(17)所示:
其中:Wf、Wi、Wo表示門結(jié)構(gòu)中的權(quán)重矩陣,bf、bi、bo表示偏置向量,[?,?]表示矩陣向量的拼接組合,σ(?)表示sigmoid 激活函數(shù)。LSTM 基本單元中狀態(tài)循環(huán)變量Ct和ht的正向推理方程如式(18)~(19)所示:
其中:WC表示更新狀態(tài)變量的權(quán)重矩陣,bC表示偏置向量,“*”表示按元素乘運算。
基于電力K 線圖,本文構(gòu)建基于金融技術(shù)指標的LSTMFI 模型。LSTM-FI 模型包含單個LSTM 基本單元和一層全連接層。在每個時刻t,LSTM 基本單元依次讀入對應(yīng)時刻數(shù)據(jù)xt,通過遺忘門、輸入門、輸出門等結(jié)構(gòu)選擇性地遺忘或記憶序列長短期潛在信息,將最終時刻輸出ht作為全連接層的輸入,輸出4 維向量作為預(yù)測的負荷K 線核心參數(shù)。LSTM-FI模型基于反向傳播訓練,整體結(jié)構(gòu)如圖9 所示。
圖9 基于金融技術(shù)指標的LSTM負荷預(yù)測模型示意圖Fig.9 Schematic diagram of LSTM load forecasting model based on financial technical indicators
本文采取滑動窗口分割時間序列以構(gòu)建數(shù)據(jù)集。設(shè)定滑動窗口長度為7,根據(jù)表1 構(gòu)建輸入特征向量,則輸入維度為7×14,輸出維度為1×4。對于任一用戶2018 年8 月26 日至2018 年11 月28 日共95 日每日96 點負荷數(shù)據(jù),根據(jù)滑動窗口共可得89 條數(shù)據(jù)樣本,本文選擇前79 日作為訓練集,后10 日作為測試集。LSTM-FI 算法負荷K 線圖預(yù)測結(jié)果如圖10 所示。
從圖10 可以看出,模型預(yù)測值與真實值基本一致,表明了LSTM-FI 算法的有效性。
圖10 連續(xù)10日預(yù)測結(jié)果K線圖Fig.10 Candlestick chart of model prediction results for 10 consecutive days
為了定量評估算法性能,本文采用平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)作為預(yù)測評價指標,計算方式如式(20)所示:
表2 不同算法的性能比較Tab.2 Performance comparison of different algorithms
實驗結(jié)果表明,LSTM-FI 算法的平均預(yù)測MAPE 為9.272%,優(yōu)于LSTM-noFI(平均14.746%)、ARIMA(平均11.594%)、Prophet(平均33.447%)和SVM(平均10.582%)。相較于ARIMA、Prophet 和SVM 算法,LSTM-FI 算法將MAPE分別降低了2.322、24.175 和1.310 個百分點。雖然Prophet和SVM 算法的日負荷最小值預(yù)測誤差小于LSTM-FI 算法,但另外幾項K 線圖參數(shù)預(yù)測誤差較大??紤]到日負荷最小值缺乏對實際生產(chǎn)的指導(dǎo)意義,綜合來看,Prophet 和SVM 算法性能劣于所提預(yù)測算法。
本文將金融領(lǐng)域的技術(shù)指標適應(yīng)性地遷移到用電數(shù)據(jù)分析中,有效刻畫了用戶用電特征?;诮鹑诩夹g(shù)指標,本文進一步提出了用戶用電異動分析和負荷預(yù)測算法。所提算法在杭州市行業(yè)用電數(shù)據(jù)上有較好的性能表現(xiàn),性能明顯優(yōu)于已有算法,驗證了金融技術(shù)指標在用電數(shù)據(jù)分析中的有效性。