王德文,呂 哲
(華北電力大學(xué) 控制與計算機(jī)工程學(xué)院,河北 保定 071003)
油浸式變壓器是電力系統(tǒng)中的關(guān)鍵設(shè)備,其熱點溫度是影響變壓器絕緣和負(fù)載能力的最重要指標(biāo)。對于沒有安裝繞組內(nèi)部溫度傳感器的變壓器,其熱點溫度難以直接測量,通常由頂層油溫計算得到[1,2]。因此,頂層油溫是油浸式變壓器重要的溫度指標(biāo)之一。頂層油溫預(yù)測對變壓器的故障預(yù)警、提高運行效率和壽命具有重要意義。
傳統(tǒng)的變壓器頂層油溫預(yù)測方法,如熱路模型[3],存在變壓器傳熱參數(shù)難以獲取的問題。
隨著電網(wǎng)智能化技術(shù)的進(jìn)步,極限學(xué)習(xí)機(jī)[4]、支持向量回歸[5]等人工智能方法已經(jīng)開始應(yīng)用于變壓器頂層油溫預(yù)測。
文獻(xiàn)[6]提出了基于加權(quán)支持向量回歸的頂層油溫預(yù)測方法;該方法應(yīng)用主成分分析改進(jìn)核函數(shù),并采用粒子群算法進(jìn)行參數(shù)優(yōu)化,從而提高了數(shù)據(jù)不足情況下的預(yù)測準(zhǔn)確率。文獻(xiàn)[7]提出了基于Elman神經(jīng)網(wǎng)絡(luò)的頂層油溫預(yù)測方法;該方法在預(yù)測準(zhǔn)確度和置信度上均優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。
上述研究以單步預(yù)測為主,無法充分反映頂層油溫的變化趨勢。文獻(xiàn)[8,9]進(jìn)行了多步預(yù)測的初步研究,結(jié)果表明:多步預(yù)測誤差會隨著預(yù)測步數(shù)的增長而迅速上升。由于變壓器通常處于長時間連續(xù)運行的工作狀態(tài),因此,長時段的頂層油溫預(yù)測具有很高的研究價值。
目前,編碼器-解碼器和注意力機(jī)制已經(jīng)被引入電力系統(tǒng)負(fù)荷、風(fēng)電功率預(yù)測等應(yīng)用研究領(lǐng)域中[10-12]。變壓器頂層油溫預(yù)測與上述研究同屬時間序列預(yù)測,在數(shù)據(jù)特性、評價指標(biāo)等方面具有相似之處。編碼器-解碼器是序列預(yù)測領(lǐng)域的通用框架,具有良好的特征提取能力。注意力機(jī)制能夠有效提高預(yù)測精度,且具有較好的可解釋性。
影響變壓器頂層油溫的因素有多種,呈現(xiàn)多種特性相互疊加的狀態(tài);這使頂層油溫特征難以提取。局部加權(quán)周期趨勢分解算法(STL)是一種優(yōu)良的時間序列分解算法[13],能夠有效分離時間序列的各種成分,利于后續(xù)的建模預(yù)測。
因此,本文提出一種基于STL和注意力機(jī)制的變壓器頂層油溫多步預(yù)測方法。該方法使用編碼器-解碼器作為基礎(chǔ)框架,采用遞歸策略實現(xiàn)多步預(yù)測。首先,使用STL算法以2種周期對頂層油溫進(jìn)行分解,得到趨勢項、周期項和殘差分量;其次,使用一維卷積網(wǎng)絡(luò)和編碼器-解碼器對各分量數(shù)據(jù)進(jìn)行特征提取,生成特征矩陣;然后,引入 LA注意力機(jī)制對特征矩陣進(jìn)行動態(tài)的權(quán)重調(diào)整,以突出對預(yù)測結(jié)果產(chǎn)生影響的關(guān)鍵信息。
頂層油溫與繞組熱點溫度密切相關(guān),反映了變壓器的總體熱狀態(tài)。在運行過程中,變壓器頂層油溫會受到環(huán)境溫度、負(fù)載程度等因素影響,因此頂層油溫會呈現(xiàn)出多種特征。在不同時間尺度上的某三相變壓器頂層油溫變化如圖1所示。
圖1 變壓器頂層油溫變化曲線Fig.1 Curve of transformer top oil temperature
由圖1(a)可以看出,在1月、7月,變壓器油溫達(dá)到全年溫度的極值;在其他時間,油溫則呈現(xiàn)出長期上升或下降的趨勢。圖1(b)顯示出油溫具有短(日)和長(周)2種周期變化模式。同時,圖1所示油溫曲線中還存在許多具有一定隨機(jī)性和非平穩(wěn)性的離群值。上述這些特性相互疊加影響,增加了頂層油溫的預(yù)測難度。
在變壓器頂層油溫多步預(yù)測任務(wù)中,每條輸入數(shù)據(jù)是由歷史監(jiān)測數(shù)據(jù)組成的時間序列,具體形式為:
式中:w為輸入窗口的大??;d為數(shù)據(jù)維度。
對應(yīng)的目標(biāo)預(yù)測數(shù)據(jù)是位于t之后的頂層油溫時間序列,具體形式為:
式中:h為預(yù)測窗口的大小。
本文采用遞歸預(yù)測策略實現(xiàn)多步預(yù)測:通過預(yù)測,得到未來一個時間步上的預(yù)測值;然后將該值視作真實值輸入模型,再進(jìn)行后續(xù)預(yù)測;迭代h次后,得到全部預(yù)測結(jié)果。
遞歸預(yù)測策略只需構(gòu)建一個模型就能適用于不同的預(yù)測窗口,但是預(yù)測誤差會隨著預(yù)測窗口的增長而逐漸累積。具體的預(yù)測過程為:
式中:f表示預(yù)測模型;+i為預(yù)測值。
由于頂層油溫同時具有周期性和趨勢性特征,而且周期和趨勢的模式不隨時間推移而變化,因此,油溫時序數(shù)據(jù)可以分解為如下形式:
式中:xt為時序數(shù)據(jù)的原始值;St為季節(jié)項(即周期項);Tt為趨勢項;Rt為殘差項。
STL是一種基于局部加權(quán)回歸的時間序列分解算法,具有良好的通用性和魯棒性。STL的計算流程分為內(nèi)循環(huán)和外循環(huán),其中內(nèi)循環(huán)通過移動平均和 Loess平滑等操作從時間序列中分離出趨勢項和周期項,外循環(huán)通過魯棒權(quán)重調(diào)節(jié)離群值對內(nèi)循環(huán)的影響。
STL算法使用趨勢窗口wt和周期窗口ws控制趨勢項和周期項的變化速度,具體值的選取都與時間序列的周期wp有關(guān)。其中,wt通常取略大于wp的奇數(shù),ws一般取滿足式(5)的奇數(shù)。
頂層油溫多步預(yù)測任務(wù)的輸入和輸出都是序列。此類任務(wù)在深度學(xué)習(xí)中被稱為序列到序列學(xué)習(xí)。編碼器-解碼器是解決此類任務(wù)的通用框架,其含編碼器和解碼器2個組件,內(nèi)部由循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體構(gòu)成,結(jié)構(gòu)如圖2所示。
圖2 編碼器-解碼器結(jié)構(gòu)Fig.2 Structure of encoder-decoder
圖2中,編碼器接受序列X作為輸入,將其中的信息轉(zhuǎn)換為上下文狀態(tài)向量c。解碼器接收c和上個時間步的輸出,動態(tài)生成當(dāng)前結(jié)果。c在生成后是固定不變的,因此編碼器的輸入對解碼時所有位置的影響都相同。然而,循環(huán)神經(jīng)網(wǎng)絡(luò)的記憶能力是有限的,所以輸入序列越長,序列的起始部分對c的影響越微弱;這會導(dǎo)致訓(xùn)練不穩(wěn)定、性能下降等問題。引入注意力機(jī)制可以有效緩解這些問題。
在深度學(xué)習(xí)算法中,注意力機(jī)制來源于心理學(xué)對視覺注意力的研究[14],其設(shè)計原則是利用有限的計算資源從數(shù)據(jù)中提取出關(guān)鍵信息。具體實現(xiàn)過程為:對于每個查詢(query,q)和值(value,v),都對應(yīng)一個鍵(key,k);通過評分函數(shù)α計算q和v的相似程度,即注意力分?jǐn)?shù);然后歸一化得到對應(yīng)的概率分布,加權(quán)后得到最終結(jié)果。計算過程的表達(dá)式如下。
本文使用縮放點積注意力作為注意力評分函數(shù)。對于具有相同長度d的q和v,注意力分?jǐn)?shù)的計算公式為:
Bahdanau Attention(BA)[15]和 Luong Attention(LA)[16]是2種廣泛應(yīng)用于序列到序列學(xué)習(xí)任務(wù)中的注意力機(jī)制。二者均使用注意力評分函數(shù),將固定的狀態(tài)向量c替換成動態(tài)的ct'。二者的主要差異在于ct'的計算流程。
BA 中的ct'是由解碼器的上一個隱藏狀態(tài)st'-1與編碼器隱藏狀態(tài)ht通過計算得到的。
將ct'和st'-1拼接后輸入到解碼器,得到st'。因此BA的計算流程為:ht-1→ct'→st'。
LA 中的ct'是的由解碼器當(dāng)前的隱藏狀態(tài)st'與編碼器隱藏狀態(tài)ht通過計算得到的。
將ct'和st'拼接成t'直接作為后續(xù)網(wǎng)絡(luò)層的輸入。LA的計算流程可概括為:ht→ct'→'。
LA用st'來計算ct',與BA相比更符合邏輯。預(yù)測時,二者計算速度相當(dāng);但訓(xùn)練時,BA的并行性差,計算速度慢于LA。因此本文選用LA機(jī)制構(gòu)建模型。
本文提出的基于STL和LA注意力機(jī)制的頂層油溫多步預(yù)測模型(簡稱,STL-LA模型)結(jié)構(gòu)如圖3所示。
圖3 STL-LA模型結(jié)構(gòu)Fig.3 Structure of STL-LA model
圖3中,模型由STL分解、一維卷積層、編碼器-解碼器、LA注意力層和全連接層構(gòu)成。運算過程為:首先,將變壓器頂層油溫進(jìn)行STL分解并歸一化處理。然后,將所有分量輸入到一維卷積層;卷積核沿著時間維度移動,提取局部特征并生成特征矩陣。隨后,特征矩陣進(jìn)入編碼器-解碼器,提取時序依賴關(guān)系并生成隱藏狀態(tài)矩陣。LA 注意力層給th賦予不同權(quán)重遞歸生成',最后全連接層輸出預(yù)測結(jié)果。
數(shù)據(jù)取自某三相變壓器2016年7月至2018年2月期間的頂層油溫歷史監(jiān)測數(shù)據(jù)[17]。每條數(shù)據(jù)的時間間隔為1 h。將其中2016年7月至2017年6月的數(shù)據(jù)作為訓(xùn)練集,2017年7月至2017年10月的數(shù)據(jù)作為驗證集,2017年11月至2018年2月的數(shù)據(jù)作為測試集。訓(xùn)練集、驗證集、測試集的比例為6:2:2。
由于頂層油溫歷史記錄具有日、周 2種周期模式,因此本文將STL的周期參數(shù)設(shè)為24和168。連續(xù)2周的油溫分解結(jié)果分別如圖4和5所示。
圖4 頂層油溫STL分解結(jié)果(日)Fig.4 Top oil temperature decomposition result of STL (daily)
圖5 頂層油溫STL分解結(jié)果(周)Fig.5 Top oil temperature decomposition result of STL (weekly)
由圖4、圖5所示分解結(jié)果可知,趨勢項與油溫的實際升降趨勢總體一致且更加平滑。周期項直觀體現(xiàn)了油溫數(shù)據(jù)的 2種周期特征。殘差在 0值附近波動,反映了油溫數(shù)據(jù)的非平穩(wěn)性。
為消除數(shù)據(jù)量綱影響、提高模型訓(xùn)練效率,使用Min-Max歸一化方法將所有數(shù)據(jù)縮放到[0,1]區(qū)間上。計算公式如下:
式中:x為數(shù)據(jù)的實際值;xmin、xmax分別為訓(xùn)練集中數(shù)據(jù)的最小值和最大值;x'為歸一化的結(jié)果。
通過設(shè)置不同的預(yù)測窗口以驗證模型的多步預(yù)測能力,并采用滑動窗口法構(gòu)建每條樣本。預(yù)測窗口的取值為[1,6,12,24],即預(yù)測1 h、6 h、12 h和1 d內(nèi)的頂層油溫。
本文所有模型均使用 PyTorch1.6實現(xiàn)并在NVIDIA Tesla V100顯卡上進(jìn)行實驗。
所有模型均采用均方誤差(mean square error,MSE)作為損失函數(shù),以 Adam作為優(yōu)化器;初始學(xué)習(xí)率設(shè)為0.001,batch size設(shè)為64,訓(xùn)練最大迭代次數(shù)設(shè)為50。為提高訓(xùn)練效率,在驗證集損失連續(xù) 5個 epoch不再下降時提前停止訓(xùn)練。
由于數(shù)據(jù)集中部分油溫的數(shù)值為0,平均絕對百分比誤差(mean absolute percentage error,MAPE)在計算時會發(fā)生異常,因此本文采用平均絕對誤差(mean absolute error,MAE)和均方根誤差(root mean square error,RMSE)來評價預(yù)測模型的性能。
深度學(xué)習(xí)模型的超參數(shù)會明顯影響模型性能。鑒于超參數(shù)無法通過訓(xùn)練或推導(dǎo)得到,本文通過網(wǎng)格搜索法確定不同預(yù)測窗口下的輸入窗口長度。輸入窗口的搜索范圍是[24,48,96,148]。輸入窗口長度對預(yù)測性能的影響如圖6所示。
圖6 輸入窗口長度對預(yù)測性能的影響Fig.6 Influence of input window length on prediction performance
輸入窗口越長,輸入數(shù)據(jù)中包含的時序信息越多。由圖6可以看出:當(dāng)預(yù)測窗口較短時,輸入窗口長度的大小對MAE沒有明顯影響;此時輸入窗口明顯長于預(yù)測窗口,預(yù)測數(shù)據(jù)以短期信息為主,輸入窗口的增加只會引入重復(fù)的短期信息。當(dāng)預(yù)測窗口較長時,隨著輸入窗口的增長,MAE先上升后下降;此時預(yù)測數(shù)據(jù)開始體現(xiàn)長期趨勢和周期性。
因此,對于預(yù)測窗口[1,6, 12,24],輸入窗口設(shè)置為[24,24,168,168]。
為驗證模型結(jié)構(gòu)設(shè)計的有效性,利用消融實驗考察各組件對預(yù)測性能的影響。模型具體如下。
(1)STL-CG:STL-LA模型消融 LA注意力層。
(2)CG-LA:STL-LA模型消融STL分解。
(3)CNN-GRU:STL-LA模型消融LA注意力層和STL分解。
上述模型使用相同的超參數(shù)組合,以避免超參數(shù)對實驗結(jié)果的影響。
消融實驗結(jié)果如圖7所示。
圖7 消融實驗結(jié)果Fig.7 Results of the ablation experiment
分析圖7消融實驗結(jié)果,結(jié)論如下。
(1)消融組件后的模型預(yù)測性能均弱于STL-LA模型。CNN-GRU最差,而且隨預(yù)測窗口的增長性能差距更加明顯。消融 LA注意力層和STL分解都導(dǎo)致了顯著的模型性能下降。
(2)預(yù)測窗口較小時,STL-CG的性能與STL-LA模型最接近,優(yōu)于CG-LA模型。STL分解提高了模型的短期預(yù)測性能。
(3)隨著預(yù)測窗口的增長,CG-LA與STL-CG的差距明顯縮小。注意力機(jī)制的引入緩解了預(yù)測誤差的積累,提高了模型的多步預(yù)測能力。
將本文模型與 LSTNet進(jìn)行單步預(yù)測對比。LSTNet的參數(shù)設(shè)置如下:跳躍間隔設(shè)為24,自回歸窗口大小設(shè)為12,GRU隱藏單元數(shù)量設(shè)為64,層數(shù)設(shè)為2。
對比結(jié)果如圖8所示。STL-LA的預(yù)測結(jié)果與油溫真實值的變化趨勢一致。同時,STL-LA與真實值的偏差相比于LSTNet更小,擬合效果更好。
圖8 2種算法的單步預(yù)測結(jié)果對比Fig.8 Comparison of single step prediction results of two algorithms
為驗證本文模型的多步預(yù)測性能,將STL-LA模型與 LSTNet、CNN-GRU-LA、STL-BA 和STL-LA*模型在各預(yù)測窗口上進(jìn)行對比。
LSTNet采用直接預(yù)測策略。GRU-LA、STL-BA和 STL-LA*采用遞歸多步預(yù)測策略,其中STL-BA的注意力層使用BA機(jī)制。STL-LA*僅以日為周期進(jìn)行STL分解。
上述預(yù)測模型在不同預(yù)測窗口下的 MAE和RMSE如表1所示。
表1 多步預(yù)測性能對比Tab.1 Performance comparison of multi-step prediction
由表1可知,隨著預(yù)測窗口的增長,所有模型的MAE和RMSE值都逐漸增大。
STL-LA模型的預(yù)測性能在所有預(yù)測窗口上都優(yōu)于對比模型。在預(yù)測窗口為24時,該模型的MAE值下降了 10.0%~26.9%,RMSE值下降了8.9%~24.2%。
LSTNet的多步預(yù)測性能弱于所有使用注意力機(jī)制的模型,而且隨著預(yù)測窗口的增長,MAE和RMSE的增長速度也較快。這說明,注意力機(jī)制的引入緩解了多步預(yù)測的誤差累積問題。
CNN-GRU-LA的預(yù)測性能與使用 STL分解的模型差距也較大。這表明,STL算法通過將頂層油溫分解為趨勢、周期和殘差成分,解決了油溫數(shù)據(jù)模式堆疊的問題,有利于預(yù)測模型進(jìn)行特征提取,所以預(yù)測性能較高。
STL-BA與SCG-LA的性能差距在10%左右,而且隨預(yù)測窗口的增長并無明顯變化。這表明,與BA機(jī)制相比,LA機(jī)制更加適合應(yīng)用于頂層油溫預(yù)測任務(wù)。
STL-LA的性能也優(yōu)于 STL-LA*,且隨著預(yù)測窗口增長,性能差距也逐漸增長。這表明,以“日”和“周”這2種周期進(jìn)行STL分解,更加符合頂層油溫數(shù)據(jù)特征,能夠進(jìn)一步地提高預(yù)測精度。
本文提出了一種基于STL和注意力機(jī)制的變壓器頂層油溫多步預(yù)測方法。
(1)STL可以分離頂層油溫的趨勢和周期性等成分,解決了數(shù)據(jù)模式堆疊的問題。本文以“日”和“周”這2種周期進(jìn)行STL分解,能充分挖掘數(shù)據(jù)特性,能夠有效提高預(yù)測精度。
(2)在編碼器-解碼器中引入注意力機(jī)制,可以緩解預(yù)測窗口增長帶來的誤差積累,使模型具有良好的多步預(yù)測性能。與BA機(jī)制相比,LA機(jī)制更適用于頂層油溫預(yù)測任務(wù)。
(3)本文方法在各個預(yù)測窗口上都具有明顯性能優(yōu)勢,其結(jié)果能夠有效反映頂層油溫的變化趨勢。
后續(xù)研究將考慮變壓器繞組電流、環(huán)境溫度等因素對預(yù)測的影響;同時優(yōu)化注意力計算方式,探索更長時段的頂層油溫預(yù)測。