本發(fā)明涉及電力負荷預測技術領域,尤其涉及一種基于長短時記憶神經(jīng)網(wǎng)絡的電力負荷預測方法。
背景技術:
電力負荷預測問題旨在預測出電網(wǎng)中單條或者多條輸電線的用電需求,根據(jù)預測的時間跨度可分為:短期預測(幾分鐘到一周)、中期預測(一個月到一個季度)和長期預測(一年以上)。由于現(xiàn)有技術條件下,電能很難有效地存儲在大型儲電裝置中,因此,在滿足供電需求的條件下,盡可能地降低剩余發(fā)電量,是減少成本,提高電能使用效率的有效途徑。因此,采用各種預測方法準確地預測出區(qū)域內中短期供電負荷,對規(guī)劃和指導發(fā)電企業(yè)有效生產(chǎn)電能是十分必要的。目前,有很多主流的方法應用于電力負荷預測,像人工神經(jīng)網(wǎng)絡(artificialneuralnetwork,ann)、支持向量機(supportvectormachine,svm)、高斯過程回歸(gaussionprocessregression,gpr)、自回歸移動平均模型(autoregressiveintegratedmovingaveragemodel,arima)等。電力負荷與很多隱變量相關,如光照、風力、節(jié)假日等等,這些變量一般難以獲取或者量化,但是可以合理地認為位于同一區(qū)域的城市擁有相似的隱變量。所以這些相鄰城市的電力負荷數(shù)據(jù)是高度相關的,運用多任務學習技術將會提高這些相似區(qū)域的負荷預測精度。
多任務學習是一種通過同時聯(lián)合學習多個相關任務來提高泛化能力的技術,當模型中的部分參數(shù)在任務之間被合理共享時,就能同時提高這些相關任務的負荷預測效果。近年來,隨著深度學習理論研究的深入發(fā)展,將深度學習理論應用于電力系統(tǒng)的用電需求預測是一項很有意義的工作。現(xiàn)有的各種基于神經(jīng)網(wǎng)絡的預測方法很少能同時預測出跨區(qū)域的用電負荷,且提出的供電負荷預測模型并不精確。
技術實現(xiàn)要素:
本發(fā)明的主要目的在于提供一種基于長短時記憶神經(jīng)網(wǎng)絡的電力負荷預測方法,基于深度學習領域中的長短時記憶神經(jīng)(lstm)網(wǎng)絡來構建多任務學習的負荷預測模型,能夠精確地同時預測出多個相鄰區(qū)域的電力負荷。
為實現(xiàn)上述目的,本發(fā)明提供了一種基于長短時記憶神經(jīng)網(wǎng)絡的電力負荷預測方法,該方法包括如下步驟:
通過計算機的輸入單元輸入歷史時刻的電力負荷數(shù)據(jù)和區(qū)域特征因素;
采用長短時記憶神經(jīng)(lstm)網(wǎng)絡對所述歷史時刻的電力負荷數(shù)據(jù)和區(qū)域特征因素進行訓練建模,以訓練生成深度神經(jīng)網(wǎng)絡負荷預測模型,所述深度神經(jīng)網(wǎng)絡負荷預測模型為用于供電負荷預測的單層多任務深度神經(jīng)網(wǎng)絡模型或者雙層多任務深度神經(jīng)網(wǎng)絡模型;
利用訓練生成的深度神經(jīng)網(wǎng)絡負荷預測模型對所需預測區(qū)域內的電力負荷進行預測并產(chǎn)生該區(qū)域內的電力負荷預測結果;
通過計算機的輸出單元輸出所需預測區(qū)域內的電力負荷預測結果。
優(yōu)選的,所述深度神經(jīng)網(wǎng)絡負荷預測模型表示為如下公式:
forecast=f(t,d,c,y1,u1,id)
其中,t∈[0,24],是一天當中的時間,以小時為單位;d∈{1,2,...,365,366}是一年當中的天數(shù),以天為單位;c是一天的類型;yl是包含一段歷史用電需求的歷史電力負荷數(shù)據(jù);ul是一個包含區(qū)域特征因素的實值向量;id代表用電需求的區(qū)域標識。
優(yōu)選的,所述lstm網(wǎng)絡是一種改進型的迭代神經(jīng)網(wǎng)絡,該迭代神經(jīng)網(wǎng)絡通過對隱層狀態(tài)向量ht遞歸應用狀態(tài)轉移函數(shù)f來處理輸入序列的網(wǎng)絡,處于時間步長t的隱層狀態(tài)向量ht由當前輸入序列xt和上一時刻的隱層狀態(tài)向量ht-1決定,所述隱層狀態(tài)向量ht采用如下公式表示:
優(yōu)選的,所述lstm網(wǎng)絡由輸入層、lstm網(wǎng)絡層和輸出層構成。
優(yōu)選的,所述lstm網(wǎng)絡層包括輸入門it、輸出門ot和遺忘門ft以及記憶單元ct,在時刻t,記憶單元ct記錄到當前時刻t為止的所有歷史信息并受到輸入門it、輸出門ot和遺忘門ft這三個邏輯門控制,該三個邏輯門的輸出值均在0和1之間。
優(yōu)選的,所述遺忘門ft控制lstm網(wǎng)絡層的信息檫除,所述輸入門it控制lstm網(wǎng)絡層的信息更新,所述輸出門ot控制內部狀態(tài)的信息輸出。
優(yōu)選的,所述lstm網(wǎng)絡的輸入序列為x=(x1,x2,...,xt),由輸入層輸入至lstm網(wǎng)絡層,輸出序列為y=(y1,y2,...yt),由輸出層從lstm網(wǎng)絡層輸出,其中,t是預測期,x是歷史輸入數(shù)據(jù),y是預測負荷,所述lstm網(wǎng)絡層的參數(shù)迭代更新方式如下公式(1)-(6)所示:
it=σ(wixt+uiht-1+vict-1)(1)
ft=σ(wfxt+ufht-1+vfct-1)(2)
ot=σ(woxt+uoht-1+voct)(3)
ht=ot⊙tanh(ct)(6)
其中,xt是t時刻的輸入序列,σ表示為sigmoid函數(shù),⊙表示為元素間的相乘,w是輸入權重,u是隱層狀態(tài)h的循環(huán)權重,v是歷史信息的影響權重,tanh為隱層狀態(tài)h的雙曲正切函數(shù)。
優(yōu)選的,所述單層多任務深度神經(jīng)網(wǎng)絡模型的多個相關任務共享一個相同的lstm網(wǎng)絡層,該相同的lstm網(wǎng)絡層在時刻t的輸出表示為
優(yōu)選的,所述雙層多任務深度神經(jīng)網(wǎng)絡模型的兩個相關任務各自賦予一個lstm網(wǎng)絡層,每個任務分別使用另一個任務的lstm網(wǎng)絡層的相關信息,并通過一個全局門控單元來控制雙層多任務深度神經(jīng)網(wǎng)絡模型的信息接收。
優(yōu)選的,所述雙層多任務深度神經(jīng)網(wǎng)絡模型的lstm網(wǎng)絡層在時刻t的輸出表示為
其中,
相較于現(xiàn)有技術,本發(fā)明所述基于長短時記憶神經(jīng)網(wǎng)絡的電力負荷預測方法基于深度學習領域中的長短時記憶神經(jīng)網(wǎng)絡(longshort-termmemoryneuralnetwork,lstm)來構建多任務學習的負荷預測模型,以進一步提升預測效果。本發(fā)明提出了跨區(qū)域的供電負荷預測模型,能夠同時預測出跨區(qū)域的用電負荷,而且預測效果較現(xiàn)有用電負荷預測模型更精確。
附圖說明
圖1是本發(fā)明基于長短時記憶神經(jīng)網(wǎng)絡的電力負荷預測系統(tǒng)優(yōu)選實施例的運行環(huán)境圖;
圖2是本發(fā)明基于長短時記憶神經(jīng)網(wǎng)絡的電力負荷預測方法優(yōu)選實施例的流程圖;
圖3是lstm網(wǎng)絡的模型結構示意圖;
圖4是用于供電負荷預測的單層多任務深度神經(jīng)網(wǎng)絡模型的示意圖;
圖5是用于供電負荷預測的雙層多任務深度神經(jīng)網(wǎng)絡模型的示意圖。
本發(fā)明目的實現(xiàn)、功能特點及優(yōu)點將結合實施例,將在具體實施方式部分一并參照附圖做進一步說明。
具體實施方式
為更進一步闡述本發(fā)明為達成上述目的所采取的技術手段及功效,以下結合附圖及較佳實施例,對本發(fā)明的具體實施方式、結構、特征及其功效進行詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
參照圖1所示,圖1是本發(fā)明基于長短時記憶神經(jīng)網(wǎng)絡的電力負荷預測系統(tǒng)優(yōu)選實施例的運行環(huán)境圖。在本實施例中,所述電力負荷預測系統(tǒng)10安裝并運行于計算機1中,該計算機1還包括,但不僅限于,輸入單元11、存儲單元12、處理單元13以及輸出單元14。所述輸入單元11為計算機的輸入設備,例如輸入鍵盤或鼠標等。所述存儲單元12可以為一種只讀存儲單元rom,電可擦寫存儲單元eeprom、快閃存儲單元flash或固體硬盤等。所述的處理單元13可以為一種中央處理器(centralprocessingunit,cpu)、微控制器(mcu)、數(shù)據(jù)處理芯片、或者具有數(shù)據(jù)處理功能的信息處理單元。所述輸出單元14為計算機1的輸出設備,例如顯示器或者打印機等設備。
所述電力負荷預測系統(tǒng)10,包括但不僅限于,信息接收模塊101、模型建立模塊102、電力預測模塊103以及結果輸出模塊104。本發(fā)明所稱的模塊是指一種能夠被計算機1的處理單元13執(zhí)行并且能夠完成固定功能的一系列計算機程序指令段,其存儲在計算機1的存儲單元12中。以下結合圖2描述電力負荷預測系統(tǒng)10中的每一個模塊的具體功能。
參照圖2所示,圖2是本發(fā)明基于長短時記憶神經(jīng)網(wǎng)絡的電力負荷預測方法優(yōu)選實施例的流程圖;在本實施例中,所述電力負荷預測方法能夠基于深度學習領域中的長短時記憶神經(jīng)網(wǎng)絡(longshort-termmemoryneuralnetwork,以下簡稱為lstm網(wǎng)絡)來構建多任務學習的負荷預測模型,以進一步提升區(qū)域電力負荷預測的效果。參考圖3所示,所述lstm網(wǎng)絡2包括輸入層21、lstm網(wǎng)絡層22以及輸出層23。所述基于長短時記憶神經(jīng)網(wǎng)絡的電力負荷預測方法包括如下步驟:
步驟s21:通過輸入單元11輸入所需預測區(qū)域內的歷史電力負荷數(shù)和區(qū)域特征因素;具體的,典型的電力負荷需求預測問題受到各種區(qū)域特征因素影響,所述區(qū)域特征因素包括區(qū)域內的時間、節(jié)假日、天氣以及經(jīng)濟指標等信息,所述歷史電力負荷數(shù)據(jù)是指所需預測區(qū)域內的歷史時刻的電力負荷數(shù)據(jù)信息。在本實施例中,所述歷史電力負荷數(shù)據(jù)和區(qū)域特征因素由用戶從所需預測區(qū)域收集并輸入至計算機1中。具體地,信息接收模塊101通過輸入單元11接收輸入的歷史時刻的電力負荷數(shù)據(jù)和區(qū)域特征因素,并將所述歷史時刻的電力負荷數(shù)據(jù)和區(qū)域特征因素傳遞至lstm網(wǎng)絡2的輸入層21。
步驟s22:采用長短時記憶神經(jīng)(lstm)網(wǎng)絡對所述歷史時刻的電力負荷數(shù)據(jù)和區(qū)域特征因素進行訓練建模,以訓練生成深度神經(jīng)網(wǎng)絡負荷預測模型;具體地,模型建立模塊102將所述lstm網(wǎng)絡2的輸入層21接收歷史時刻的電力負荷數(shù)據(jù)和區(qū)域特征因素導入所述lstm網(wǎng)絡層2,并通過lstm網(wǎng)絡層2對歷史時刻的電力負荷數(shù)據(jù)和區(qū)域特征因素進行訓練建模,以訓練生成深度神經(jīng)網(wǎng)絡負荷預測模型。在本實施例中,所述深度神經(jīng)網(wǎng)絡負荷預測模型可以為用于供電負荷預測的單層多任務深度神經(jīng)網(wǎng)絡模型或雙層多任務深度神經(jīng)網(wǎng)絡模型。模型建立模塊102利用歷史電力負荷數(shù)據(jù)和區(qū)域特征因素進行負荷預測建模生成深度神經(jīng)網(wǎng)絡負荷預測模型,該深度神經(jīng)網(wǎng)絡負荷預測模型可表示為如下公式:
上式中各個變量說明如下:t∈[0,24],是一天當中的時間,以小時為單位;d∈{1,2,...,365,366}是一年當中的天數(shù),以天為單位;c是一天的類型,如星期一到星期日、節(jié)假日等;yl是包含一段歷史用電需求內的歷史電力負荷數(shù)據(jù)的實值向量;ul是一個包含區(qū)域特征因素的實值向量,如溫度、經(jīng)濟指標等數(shù)據(jù);id代表用電需求的區(qū)域標識。
采樣收集到上述特征向量后,就可以構建模型,即確定上式中的狀態(tài)轉移函數(shù)f,然后對一個區(qū)域內的用電負荷進行預測。本發(fā)明采用迭代神經(jīng)網(wǎng)絡(recurrentneuralnetwork,rnn)的改進型網(wǎng)絡長短時記憶神經(jīng)(lstm)網(wǎng)絡來進行建模,下面將詳細說明該網(wǎng)絡模型結構和原理。
迭代神經(jīng)網(wǎng)絡(rnn)是一種通過對隱層狀態(tài)向量ht遞歸應用狀態(tài)轉移函數(shù)f來處理任意長輸入序列的網(wǎng)絡。處于時間步長t的隱層狀態(tài)向量ht由當前輸入xt和上一時刻的隱層狀態(tài)向量ht-1決定,如下式所示:
上式可以看成一個動態(tài)系統(tǒng),系統(tǒng)的狀態(tài)按照一定的規(guī)律隨時間變化。ht就是系統(tǒng)的狀態(tài),理論上,迭代神經(jīng)網(wǎng)絡(rnn)可以近似任意的動態(tài)系統(tǒng)。傳統(tǒng)上,對時間序列進行建模的策略是用迭代神經(jīng)網(wǎng)絡(rnn)將輸入序列映射為固定長度的向量,然后再輸入到回歸器中,回歸器給出預測結果。但是,基于狀態(tài)轉移函數(shù)的多個rnns在訓練的過程中,在輸入長序列后,其梯度向量會出現(xiàn)指數(shù)級的增長或衰減,這就是rnns面臨的梯度消失或者梯度爆炸的問題。在這種情況下,多個rnns很難學習序列的長時相關性問題。
在本實施例中,長短時記憶神經(jīng)(lstm)網(wǎng)絡是一種改進型的迭代神經(jīng)網(wǎng)絡(rnn)模型,它通過引入邏輯門機制,有效地解決了簡單的迭代神經(jīng)網(wǎng)絡面臨的梯度消失或者爆炸問題,使深層網(wǎng)絡模型能夠學習時間序列的長期依賴。該lstm網(wǎng)絡的關鍵在于引入了一組記憶單元(memoryunits),允許網(wǎng)絡學習何時遺忘歷史信息,何時用新信息更新記憶單元。
如圖3所示,圖3是lstm網(wǎng)絡的模型結構圖。在本實施例中,所述lstm網(wǎng)絡2由輸入層21、lstm網(wǎng)絡層22和輸出層23構成,結構如圖3所示。所述lstm網(wǎng)絡層22包括輸入門it(inputgate)、輸出門ot(outputgate)和遺忘門ft(forgetgate)以及記憶單元ct。在時刻t,記憶單元ct記錄了到當前時刻為止的所有歷史信息,并受三個邏輯門控制,該三個邏輯門分別是:輸入門it(inputgate)、輸出門ot(outputgate)和遺忘門ft(forgetgate)。它們能夠模擬神經(jīng)細胞間的輸入、讀取和復位操作,這三個邏輯門的輸出值均在0和1之間。
假設lstm網(wǎng)絡2的輸入序列為x=(x1,x2,...,xt),由輸入層21輸入至lstm網(wǎng)絡層22,輸出序列為y=(y1,y2,...yt),由輸出層23從lstm網(wǎng)絡層22輸出。其中,t是預測期,x是歷史輸入數(shù)據(jù)(例如歷史負荷、天氣狀況,經(jīng)濟指標等),y是預測負荷。為實現(xiàn)這個目標,lstm網(wǎng)絡層22的參數(shù)迭代更新方式如下公式(1)-(6)所示:
it=σ(wixt+uiht-1+vict-1)(1)
ft=σ(wfxt+ufht-1+vfct-1)(2)
ot=σ(woxt+uoht-1+voct)(3)
ht=ot⊙tanh(ct)(6)
其中,xt是t時刻的輸入序列,σ表示為sigmoid函數(shù),tanh為隱層狀態(tài)h的雙曲正切函數(shù),⊙表示為元素間的相乘,w是輸入權重,u是隱層狀態(tài)h的循環(huán)權重,v是歷史信息的影響權重,這些權重參數(shù)通過模型訓練獲得??梢钥闯?,遺忘門ft控制lstm網(wǎng)絡層22的信息檫除;輸入門it控制lstm網(wǎng)絡層22的信息更新;輸出門ot控制lstm網(wǎng)絡層22內部狀態(tài)的信息輸出。
在本實施例中,輸入門it、輸出門ot、遺忘門ft和記憶單元ct能夠使lstm網(wǎng)絡層22自適應選擇遺忘、記憶和輸出記憶信息,如果檢測到重要的信息內容,遺忘門ft將會關閉,這樣將會在多個時間步長內利用該信息,這就等價于捕捉到了一個長期依賴信息;另一方面,當遺忘門ft打開時,lstm網(wǎng)絡層22將會選擇復位記憶狀態(tài)。
現(xiàn)有的基于神經(jīng)網(wǎng)絡的負荷預測方法大多都是單任務學習模式,這些方法受到訓練樣本數(shù)目較少的限制,而無法充分學習網(wǎng)絡結構和參數(shù)。為了解決這個問題,這些模型加入了無監(jiān)督的預訓練階段。這個無監(jiān)督的預訓練方法對于提升最終的性能是有效的,但這并不是直接優(yōu)化系統(tǒng)的期望任務。由于深度神經(jīng)網(wǎng)絡模型從一個任務中學習到的特征可以應用于改進其余相關任務的學習中,所以深度神經(jīng)網(wǎng)絡模型很適合于多任務學習。本發(fā)明提出兩個基于多任務學習架構的深度神經(jīng)網(wǎng)絡負荷預測模型,包括用于供電負荷預測的單層多任務深度神經(jīng)網(wǎng)絡模型和用于供電負荷預測的雙層多任務深度神經(jīng)網(wǎng)絡模型,具體模型結構如圖4和圖5所示。
參考圖4和圖5所示,圖4為用于供電負荷預測的單層多任務深度神經(jīng)網(wǎng)絡模型的示意圖;圖5為用于供電負荷預測的雙層多任務深度神經(jīng)網(wǎng)絡模型的示意圖。在圖4中,多個相關任務共享一個相同的lstm網(wǎng)絡層22,該相同的lstm網(wǎng)絡層22在時刻t的輸出表示為
其中,
步驟s23,利用訓練生成的深度神經(jīng)網(wǎng)絡負荷預測模型對所需預測區(qū)域內的電力負荷進行預測并產(chǎn)生該區(qū)域內的電力負荷預測結果;具體地,電力預測模塊103利用所述深度神經(jīng)網(wǎng)絡負荷預測模型對所需預測區(qū)域內的電力負荷進行預測,并通過回歸器30產(chǎn)生該區(qū)域內的電力負荷預測結果。本發(fā)明通過單層多任務深度神經(jīng)網(wǎng)絡模型或者雙層多任務深度神經(jīng)網(wǎng)絡模型均可對所需預測區(qū)域內的電力負荷進行預測并產(chǎn)生該區(qū)域內的電力負荷預測結果。本發(fā)明提出的兩個模型可以同時聯(lián)合學習兩個相關任務,模型的最后一層的lstm網(wǎng)絡層22連接回歸器30,例如一種支持向量回歸機(supportvectorregressor)等,此時,就通過回歸器30可以輸出預測的電力負荷值。
所述單層多任務深度神經(jīng)網(wǎng)絡模型中的lstm網(wǎng)絡層在時刻t的輸出表示為
步驟s24,通過輸出單元輸出所需預測區(qū)域內的電力負荷預測結果;具體地,結果輸出模塊104通過所述輸出層23輸出所需預測區(qū)域內的電力負荷預測結果至所述輸出單元14,該輸出單元14通過所述輸出層23輸出回歸器30產(chǎn)生的區(qū)域內的電力負荷預測結果,即一組相關任務(m,n)的電力負荷值為y(m)和y(n)。
與現(xiàn)有的技術相比,本發(fā)明有以下技術優(yōu)點:能夠同時聯(lián)合學習和保存較長時間負荷序列所包含的短期波動信息、季節(jié)性和趨勢性信息,適用于多任務高維時間序列預測問題。本發(fā)明所述基于長短時記憶神經(jīng)網(wǎng)絡的電力負荷預測方法基于深度學習領域中的長短時記憶神經(jīng)網(wǎng)絡(lstm)來構建多任務學習的負荷預測模型,以進一步提升預測效果。本發(fā)明提出了跨區(qū)域的供電負荷預測模型,能夠同時預測出跨區(qū)域的用電負荷,而且預測效果較現(xiàn)有用電負荷預測模型更精確。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效功能變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內。