沈泉江 郭乃網 鄭作梁
1(上海市電力科學研究院 上海 200437) 2(星環科技(上海)有限公司 上海 200233)
電力需求預測是電網系統中的一個十分重要的問題,關乎國家的發展大計[1]。精確的電力需求預測可以有效地指導電力系統有關部門的合理決策和管理,從而促進國家經濟發展,以及緩解生態環境問題。隨著智能電網系統地快速發展,海量的用電數據不斷地產生,其蘊含了極大的潛在價值[2]。由于電力數據的規模極大,種類繁雜,因此如何高效合理地利用這些數據是一個亟待解決的問題。
目前,常用的電力需求預測模型大多是基于地理層級結構的[3]。例如,一個城市的電力需求可以通過行政區劃劃分為若干區域,并再進一步劃分為若干街道、街區。圖1展示了6個不同城市的代表性的用戶用電時間序列曲線。

圖1 不同地理區域的代表性用電時間序列曲線
本文提出一種基于用電模式聚類的層級電力時序預測方法。相對于傳統的用電預測模型,該方法能夠自動地對層級結構的用電數據進行建模,并且其預測精度顯著提升。該方法的主要創新點如下:
1) 使用ST-DBSCAN聚類算法自動地對家庭用電數據進行聚類,從而構建用電模式的層級結構。2) 基于聚合一致性將層級預測建模為最優GLS回歸問題,直接通過梯度下降法求解。3) 加入L1正則化降低模型的復雜性,防止模型訓練陷入過擬合,從而提高模型的泛化能力,并使得MAPE和RMSE指標也得到顯著提高。
層級電力時序預測是智能電網中一個十分重要的課題,區別于傳統的電力預測,其難點主要體現在如下兩點:
1) 時序性。即對電力的預測不僅要考慮環境、電費、政府政策等外部特征因素,還需要考慮用戶自身的歷史用電曲線,根據歷史曲線體現出的用電規律或者用電模式,來預測用戶接下來用電曲線的變化。
2) 層級性。用戶的用電量、用電習慣與用戶的地理區域分布具有很強的相關性,例如北方用戶的用電量大多集中在冬季(取暖用電),而南方用戶的用戶量大多集中在夏季(防暑用電)。因此,不同地理區域的用戶可以根據其所在街道、城鄉、縣市、省份等層次進行逐層歸類與劃分。因此,在層級預測中,我們很關心同一層級的用戶之間、父子層級的用戶之間的用電模式是否存在一些隱含的關系,這種隱含關系能夠輔助我們更好地預測用電模式。此外,相較于直接對電力時序數據進行預測,層級預測具有更加良好的可解釋性,并且能夠在一定程度上降低模型的計算量。
聚合一致性是層級預測中的關鍵,即分解后的若干時間序列的加和應當同高層次聚合后的時間序列相等。由于在整個時間序列的獨立預測中很難保證聚合一致性,因此目前在工業界中往往采用“自底向上”的方法。然而,當分解后的數據信噪比較低時,現有的方法往往預測精度較差[4]。近年來,各種基于最優調節的方法逐漸成為了主流,例如Hyndman等[5]提出了一種基于最小二乘協調法處理層級預測問題的方法。然而,由于調節的副作用可能會擴大預測誤差,因此通常以犧牲預測精度為代價來實現聚合一致性。
為了避免聚合一致性帶來的預測精度降低,本文提出了一種全新的電力需求層級預測方法。該方法不直接對地理層次結構進行處理,而是對用電模式檢測進行時間序列的聚類分析。由于個人家庭用電往往在一定程度上隨時間穩定增長,因此本文基于聚類結果,構建了一個新的基于用電模式的時間序列層級結構。通過將具有相似模式的時間序列組合在一起,可以顯著提高聚合時間序列的信噪比,從而提高聚合時間序列的預測精度。在此基礎之上提出了一種新的優化調節方法,以提高分解時間序列的預測能力。最后采用“自底向上”的方法對分解后的預測結果進行匯總,形成各種高層級的聚合預測,從而實現了地理層級結構的聚合一致性。
首先探討一下智能電表數據的用電模式。用電模式是利用ST-DBSCAN[6]聚類算法從個體家庭時間序列的數量中提取出來的。ST-DBSCAN聚類算法是一種基于DBSCAN算法的改進,本質上也是一種基于密度的聚類算法。ST-DBSCAN擁有傳統的DBSCAN具有的優勢:基于密度的聚類,即給定密度閾值,如果兩個點的距離小于這個閾值,那么將其劃分至同一個類別。相較于K-means算法,ST-DBSCAN不需要提前定義好類別數K,其能夠自動地學習出最適合的類別數。此外,ST-DBSCAN相較于DBSCAN,其在時空數據上的表現更加優異,與用電時序數據的地理區域分布和時序特征恰好吻合。
以圖2為例,其展示了將5個時間序列進行聚類,并抽取出其用電模式的過程。首先對于這5個用電時間序列,采用ST-DBSCAN將其劃分為兩個類別,然后通過時間序列的聚合算法,將每個聚類中時間序列的共性提取出來,從而得到能顯著代表聚類中所有時間序列的整體趨勢共性的用電模式。

圖2 基于ST-DBSCAN聚類的用電模式分析過程
不同層級的用電消費水平大體上是一致的。如果聚合時間序列的預測是準確的,那么在聚合約束和調節的情況下,單個時間序列的平均預測精度就有可能得到提升。此外,用電時間序列的模式要比基于地理層級結構的聚合時間序列更為規則。因此,基于用電模式的預測誤差應當要小于基于地理區域聚合時間序列的預測誤差。
基于這個想法,本文構建了一個基于用電模式的層級結構,如圖3所示。這種層級結構由高層的用電模式和低層的單獨的時間序列構成。最左列的用電模式向右衍生出三個子用電模式,如中間列所示。這三個用電模式又分別向右衍生出它們各自的用電模式。可以看出,屬于同一個父節點的用電時間序列曲線,其用電的變化規律十分相似,只是在變化幅度上有略微的差異。

圖3 基于用電模式聚類的層級結構
這種層級結構相較于傳統的用電預測方法,其優勢主要體現在它充分利用了地理區域相近的用戶具有相似的用電模式這一先驗特征。并且在理想情況下,層級結構的深度是Log級別的,其運算復雜度很小。此外,層級結構中的每一層有對應的具體含義,例如頂層代表國家、底層代表街道,這樣,模型的預測結果就具有更好的可解釋性。

(1)
本文目標是通過最小化平方預測誤差的期望值來獲得調節后的底層預測:
(2)

式(2)中的最優解可以通過最佳線性無偏調節預測得到:
(3)
式中:Uh表示h時間段內的預測誤差的協方差矩陣。
根據廣義最小二乘法(GLS)[8],式(3)中的底層預測結果也可以通過回歸模型來得到:
(4)

(5)
通過這種方式,將問題建模為一個關于預測誤差的最優GLS回歸問題,可以使用梯度下降法[9]求解。
為了使得優化更加快速且魯棒,本文使用了Adam算法[10]取代傳統的隨機梯度下降優化算法(Stochastic Gradient Descent)進行優化。相對于傳統的隨機梯度下降法,Adam算法的優勢主要體現在如下兩個方面:1) Adam算法引入了動量(Momentum)機制,通過指數加權平均(Exponentially Weighted Averages)方法,在每次對一個Batch的數據做梯度下降時,通過一個超參數來控制每次的梯度一部分來自最新計算的值,另一部分來自歷史保留的值,從而使得最終得到的梯度為過去幾個Batch的平均值。歷史Batch梯度的平均值等效為動量,可以加速網絡向過去累積更新量最大的方向進行更新,顯著地加快模型的收斂速度。2) Adam算法引入了RMSprop機制,在每個Batch計算梯度時,也利用了指數平均加權方法,對梯度的平方根倒數進行累加平均。達到的效果是:每個Batch計算出的梯度能夠根據歷史梯度的震蕩情況,自動消解來回震蕩幅度大的方法,避免梯度在無意義的方向上來回擺動,從而加速收斂并增加了訓練的魯棒性。
此外,我們在訓練的過程中也引入了一些其他防止模型過擬合的機制,例如L1正則化、BatchNorm、Dropout等。BatchNorm即在Adam算法每次取一個Batch的數據時,將數據在一個Batch內進行歸一化,使得特征的均值為0,并且起到了一定的數據增強作用(每個樣本在不同的Batch中的特征值均不同)。Dropout則是在每個Batch訓練的過程中,隨機地丟棄若干輸入數據的特征,通過加入一定噪聲增加模型的魯棒性。本文將Dropout的概率設為0.5。
正則化屬于結構風險最小化策略,能夠有效地防止參數過大所導致的過擬合。L1正則化是一種常見的正則化技術,也稱為L1范數,其等于模型權重的絕對值之和。L1正則化具有以下特點:
1) L1正則化可以防止模型的權重過大,起到防止過擬合的作用(但其正則化強度略低于L2正則化)。
2) L1正則化可以使模型得到一組相對稀疏的權值,也就是當模型收斂后,權值矩陣中有很多值接近0。
因此,我們在式(5)所示的優化目標中加入了L1正則項[11]:

(6)


圖4 理想調節下用電絕對值與用電時間序列到聚類中心距離的分布對比
用電時間序列與其用電模式越相似,也就意味著這個用電時間序列是越穩定和正規的,即當時間序列越接近聚類中心時,其預測結果越準確,因此需要的調整也就越小。為了確定如何達到最優的調節,本文引入了正則化項來懲罰序列調整分布與其對應模式隸屬度的相關性。當用電時間序列接近聚類中心時,通過求解式(6)得到的相應的調整值將較小。
在本文實驗部分,采用了來自能源需求研究項目的公開電力數據集:EDRP(Early Smart Meter Trials)[12]。該數據集是關于個人家庭用電消耗的真實數據集,包含了2 501個時間序列,時間序列的采樣間隔為30分鐘。
在實驗中,利用數據集上的歷史消耗觀測值,來計算提前一步滾動預測[13]。對于EDRP數據集,重復了48個預測任務,從2009年5月9日至2009年5月20日,預測全天的電力需求。此外,使用平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)和均方根誤差(Root Mean Square Error,RMSE)來測量預測誤差,它們分別表示家庭用電量的相對預測誤差和平均預測誤差。
在對比實驗中,將本文方法與目前常用的模型進行比較,其中包括BASE、WLS[14]和MinT-Reg[15]。同時,也對加或不加L1正則化項的本文方法分別進行了實驗,L1正則化參數λ的取值為104。
在EDRP數據集上的每個層級的預測精度和平均統計結果分別如表1和表2所示。

表1 不同方法的MAPE比較

表2 不同方法的RMSE比較
可以得出,高層的預測結果的誤差往往比低層的預測誤差更小。這是因為高層的預測由于聚合而具有更高的信噪比。也可以觀察到,BASE模型在一些高的層次的預測誤差最小,但是其不能夠保證地理聚合的約束。相比之下,在大多數情況下,本文方法不僅滿足了地理聚合的約束條件,而且實現了比BASE模型更高的預測精度。
此外,在EDRP數據集上帶正則化項的本文方法取得了最高的預測精度,并且帶L1正則化項的方法比不帶L1正則化項的方法展示出了更明顯的優勢。這是因為L1正則化項遵循結構風險最小化準則,防止模型陷入過擬合從而影響精度。總的來說,就MAPE和RMSE這兩個指標而言,帶L1正則化項的本文模型在公開的真實場景數據集上比對比模型具有更好的預測能力以及更強的魯棒性。
聚合一致性是層級時間序列預測的關鍵點之一。在以往的大多數工作中,預測過程通常受到地理聚集約束的影響,從而造成預測精度的損失。在本文的工作中,證明了靈活使用聚集約束可以帶來用電需求預測的改進。為了解決預測精度損失的問題,本文通過用電模式分析建立了一個新的數據層級結構。然后基于新的層級結構,提出了L1正則化回歸方法,并使用Adam算法進行快速訓練,在現實的用電場景中,顯著地提高了聚合和分解時間序列的預測精度。未來將在電力需求預測及其相關的其他應用領域,探索新的層次構建方法和具有聚合一致性的優化預測方法。