傅興吉,申艷偉,尹照洪,羅沖
(云南電網(wǎng)有限責(zé)任公司昆明供電局,云南 昆明 650000)
對(duì)電力負(fù)荷進(jìn)行準(zhǔn)確預(yù)測關(guān)乎國家的穩(wěn)步發(fā)展和人民的幸福生活。本文以混沌理論和混沌預(yù)測方法等方面的內(nèi)容作為主要的架構(gòu)進(jìn)行分析和研究,希望找到適應(yīng)性和可靠性較好的短期負(fù)荷預(yù)測算法,從而獲得更好的預(yù)測精度和穩(wěn)定性,為制定電力計(jì)劃提供可靠的基礎(chǔ)數(shù)據(jù)?;煦缰饕侵复嬖谟诖_定性系統(tǒng)中的無規(guī)則運(yùn)動(dòng),只有具備相關(guān)特點(diǎn)的非線性系統(tǒng)才能產(chǎn)生混沌。利用混沌理論進(jìn)行預(yù)測的主要思路就是將時(shí)間序列嵌入到重構(gòu)的相空間中,從而讓新的狀態(tài)軌跡保留這原來的主要特征。利用混沌理論進(jìn)行預(yù)測,只需要通過相空間重構(gòu)就可以近似恢復(fù)原來的多維非線性混沌系統(tǒng)[1],避免了其它多種繁瑣預(yù)測模型的建立,也不需要了解各種負(fù)荷與相應(yīng)影響因素之間的任何關(guān)系。混沌理論預(yù)測一般包含時(shí)間序列混沌特性的判別、確定延遲時(shí)間與嵌入維數(shù)、重構(gòu)相空間和預(yù)測4 個(gè)基本流程。
本文利用混沌相關(guān)理論對(duì)短期負(fù)荷進(jìn)行預(yù)測,其主要思想結(jié)合歷史日負(fù)荷數(shù)據(jù)的混沌特性建立預(yù)測模型。大體思路如下:在獲取到一系列實(shí)際歷史負(fù)荷數(shù)據(jù),并完成對(duì)負(fù)荷數(shù)據(jù)的處理后,對(duì)歷史負(fù)荷數(shù)據(jù)序列內(nèi)部相關(guān)參數(shù)進(jìn)行求解,從而完成混沌特性識(shí)別,同時(shí)根據(jù)求得的相關(guān)參數(shù)數(shù)據(jù)對(duì)相空間進(jìn)行重構(gòu),最后,建立基于最大Lyapunov 指數(shù)預(yù)測模型,實(shí)現(xiàn)負(fù)荷預(yù)測。
時(shí)間序列是對(duì)連續(xù)時(shí)間信號(hào)進(jìn)行采樣后得到的離散結(jié)果,混沌時(shí)間序列是一種特別的時(shí)間序列,它是由混沌的模型所產(chǎn)生的,具有與混沌一樣的類似隨機(jī)性,其動(dòng)力學(xué)系統(tǒng)通常由系數(shù)確定的各類方程來描述。對(duì)于一個(gè)系統(tǒng),我們必須對(duì)其是否混沌進(jìn)行判斷。
系統(tǒng)中任何一個(gè)變量的時(shí)間演化都包含了它的其他變量長期演化的信息,因此,我們分析系統(tǒng)的混沌行為時(shí)可以將該單變量時(shí)間序列作為基礎(chǔ)。系統(tǒng)混沌時(shí)間序列中常用的幾個(gè)特征量及其對(duì)應(yīng)的表征作用如下:關(guān)聯(lián)維反映了系統(tǒng)的復(fù)雜程度,Kolmogorov 熵反映了系統(tǒng)的混沌水平,Lyapunov 指數(shù)是系統(tǒng)混沌與否的關(guān)鍵,結(jié)合該指數(shù)的約束條件可以確定運(yùn)動(dòng)各階段的相關(guān)特性。
一個(gè)系統(tǒng)在某一時(shí)刻的狀態(tài)稱為相,決定狀態(tài)的狀態(tài)變量構(gòu)成的幾何空間,稱為相空間[2]。系統(tǒng)中任意一個(gè)分量的演化都是由與之相互作用的其它分量所決定的,因此這些相關(guān)其它分量的信息就隱含在該任一分量的發(fā)展過程中[3]。只要將這一個(gè)分量在某些固定的時(shí)間延遲點(diǎn)上的測量作為新維處理,以之確定某個(gè)多維狀態(tài)空間中的一點(diǎn),從而重構(gòu)等價(jià)的狀態(tài)空間。經(jīng)過不斷重復(fù)上述過程并測量各延遲時(shí)間的一個(gè)觀察量,經(jīng)過正確的處理過程,就可以重構(gòu)出原動(dòng)力系統(tǒng)的模型。如下從數(shù)學(xué)上對(duì)Takens 定理進(jìn)行介紹:
定義1:設(shè)(N,ρ),(N1,ρ1)是兩個(gè)度量空間,如果存在映射φ:N→N1滿足:
1)φ滿射;
2)ρ(x,y)=ρ1(φ(x),φ(y))(Ax,y∈N),則稱(N,ρ),(N1,ρ1)是等距同構(gòu)的。
定義2:如果(N1,ρ1)與另一度量空間(N2,ρ2)的子空間(N0,ρ2)是等距同構(gòu)的,則稱(N1,ρ1)可以嵌入(N2,ρ2)。
Takens 定理:M是d維流形,φ:M→M,φ是一個(gè)光滑的微分同胚,y:M→R,y有二階連續(xù)導(dǎo)數(shù),φ(x,y):M→R2d+1,其φ(x,y)=(y(x),y(φ(x)),y(φ2(x)),…,y(φ2d(x)),則φ(x,y)是M到R2d+1的一個(gè)嵌入。
按照Takens 定理就可以在拓?fù)涞葍r(jià)意義下,對(duì)于某一個(gè)實(shí)測負(fù)荷數(shù)據(jù)時(shí)間序列{x(t),t=1,2,3,…,n},根據(jù)選取的相關(guān)參量,就可以將時(shí)間序列對(duì)象拓展成如下m維相量:
上式即為重構(gòu)的相空間。其中,應(yīng)當(dāng)保證m≥2d+1,因?yàn)楫?dāng)嵌入維m<2d+1 時(shí),相空間就不能恢復(fù)原有性質(zhì);而當(dāng)嵌入維數(shù)取值過大時(shí),高維重構(gòu)相空間將會(huì)包含過多的冗余信息,因此當(dāng)嵌入維大于某個(gè)最大值時(shí),預(yù)測精度會(huì)隨著嵌入維的增大而單調(diào)下降。而對(duì)于延遲時(shí)間的選取,當(dāng)取值過小時(shí),由于內(nèi)部存在的一些原因?qū)?huì)使得信息不易顯露;當(dāng)取值過大時(shí),由于蝴蝶效應(yīng)的影響,重構(gòu)的相空間不能很好地反映整個(gè)系統(tǒng)的特性。相關(guān)基本參數(shù)延遲時(shí)間τ與嵌入維m的選取在重構(gòu)相空間過程中非常重要,過大或過小都會(huì)使重構(gòu)的相位空間無法顯示原始加載序列的動(dòng)態(tài)。
本文獲取了某市電網(wǎng)20 個(gè)小時(shí)的整點(diǎn)電力系統(tǒng)負(fù)荷數(shù)據(jù),序列長度為1460 個(gè)小時(shí),如圖1 為該序列關(guān)于時(shí)間的二維曲線。本文用前1440 個(gè)整點(diǎn)負(fù)荷數(shù)據(jù)對(duì)后20 個(gè)整點(diǎn)負(fù)荷數(shù)據(jù)進(jìn)行了預(yù)測。由獲取到的負(fù)荷時(shí)間序列可知在這1460 小時(shí)內(nèi),最大負(fù)荷為4953 MW,最小負(fù)荷為2828 MW。
圖1 某市負(fù)荷時(shí)間序列曲線
在負(fù)荷預(yù)測中,數(shù)據(jù)的可靠性和易處理性是預(yù)測工作順利進(jìn)行的關(guān)鍵,采用歸一化方法對(duì)獲取到的負(fù)荷時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)處理。
歸一化處理用到的公式如下:
其中,通過查閱實(shí)際數(shù)據(jù)資料可知ymin=2828,ymax=4953,xt為負(fù)荷數(shù)據(jù)歸一化后的數(shù)據(jù)時(shí)間序列。對(duì)獲取到的數(shù)據(jù)進(jìn)行歸一化處理后,得到的負(fù)荷時(shí)間二維圖形如圖2 所示:
圖2 預(yù)處理后的序列曲線
本文中,采用C-C 算法求延遲時(shí)間與嵌入維數(shù):
設(shè)Xi=(xi,xi+τ,…,xi+(m-1)τ),Xi+∈Rm為重構(gòu)的相空間,其中Xi(i=1,2,…,M)是重構(gòu)相空間中的點(diǎn),M=N-(m-1)τ,N為序列長度,m是嵌入維數(shù),τ=t為延遲時(shí)間。定義該序列的關(guān)聯(lián)積分為[4]:
由于C-C 算法的研究與函數(shù)S(m,N,r,t)=C(m,N,r,t)-Cm(1,N,r,t)的值有關(guān)[5]。為了找到合適的延遲時(shí)間及更好的研究時(shí)間序列的動(dòng)力學(xué)特性,需要先把整個(gè)時(shí)間序列分為t個(gè)子序列。如果t=1 時(shí),為單個(gè)時(shí)間序列本身,而t=2 時(shí)為{x1,x3,…,xN-1}及{x2,x4,…,xN},長度為N/2。對(duì)于一般的自然數(shù)有:
其中,N=tl,l=N/t是長度。對(duì)其它序列,將其分成t個(gè)不相交的子序列,然后將每個(gè)子序列的S(m,N,r,t)定義為:
令N→∞,則有:
當(dāng)N→∞時(shí),對(duì)于所有的r,均有S(m,r,t)恒等于零。但實(shí)際的S(m,r,t)一般不等于零。這樣,局部最大時(shí)間間隔就可以取S(m,r,t)的零點(diǎn)或?qū)λ械陌霃絩相互差別最小的時(shí)間點(diǎn),因?yàn)檫@暗含著這些點(diǎn)幾乎是均勻分布的[6]。選擇對(duì)應(yīng)值最大和最小半徑r,定義其差量為:
上式表示的是半徑的最大偏差。根據(jù)相關(guān)的統(tǒng)計(jì)結(jié)論,取m=2~5,ri=,i=1~4,通過計(jì)算以下3 式:
上式中,將s(t)的第一個(gè)零點(diǎn)對(duì)應(yīng)的時(shí)間選為延遲時(shí)間τ,同時(shí)將s_cor 在時(shí)間區(qū)間中的最小值對(duì)應(yīng)的時(shí)間作為時(shí)間序列的第一個(gè)整體最大時(shí)間窗口tw,然后就可以根據(jù)延遲時(shí)間與最大時(shí)間窗口的關(guān)系式tw=(m-1)*τ,從而確定嵌入維數(shù)m。
根據(jù)上述C-C 算法思想,用MATLAB 編程軟件進(jìn)行編程調(diào)試,并將獲取到的負(fù)荷時(shí)間序列寫入程序中,運(yùn)行C-C 算法程序后,得到的最大延時(shí)max_d與s(t)、delt_s、s_cor 三者之間的關(guān)系波形圖如圖3 所示。
圖3 C-C算法的輸出圖形
程序中最大延時(shí)max_d在1~18 之間取值。由圖可知s(t)的第一個(gè)零點(diǎn)對(duì)應(yīng)的時(shí)間為3,因此將其選為延遲時(shí)間即τ=3,在相應(yīng)時(shí)間區(qū)間內(nèi)s_cor 取最小值時(shí)對(duì)應(yīng)的時(shí)間為10 因此將其選為延時(shí)時(shí)間窗口即tw=10,延遲時(shí)間和最大時(shí)間窗口都確定以后,根據(jù)公式tw=(m-1)*τ,可以求得重構(gòu)相空間的嵌入維數(shù)即得m=4.33,據(jù)相關(guān)資料顯示,重構(gòu)相空間的最小嵌入維數(shù)一般向下取整,所以此處所取的嵌入維數(shù)為m=4。
最大Lyapunov 指數(shù)不但是判斷系統(tǒng)混沌與否的重要條件,而且它還是確定可預(yù)測時(shí)長的關(guān)鍵參數(shù)。采用小數(shù)據(jù)量法,求解實(shí)測負(fù)荷數(shù)據(jù)序列的最大Lyapunov 指數(shù)。
假設(shè)混沌時(shí)間序列為x1,x2,…,xn,其他相關(guān)參數(shù)的符號(hào)表示方法與前面相同,則重構(gòu)相空間可得到Y(jié)(ti)={x(ti),x(ti+τ),…,x(ti+(m-1)τ)}(i=1,2,…,N),利用小數(shù)據(jù)量法計(jì)算最大Lyapunov 指數(shù)的具體思想如下:
1)利用C-C 算法同時(shí)算出嵌入維數(shù)m 和延遲時(shí)間τ。
2)根據(jù)實(shí)際所求得的重構(gòu)參數(shù),進(jìn)行相空間重構(gòu)后得{Yi|i=1,2,…,M}。
3)找到相空間中的每個(gè)點(diǎn)Yj和Yj,并進(jìn)行限制短暫分離[15],即:
P為時(shí)間序列的平均周期[13],本課題中我們獲取到的負(fù)荷時(shí)間序列,采用FFT 變換求得P=6。
4)對(duì)相空間中的每個(gè)點(diǎn)Yj,計(jì)算出該鄰點(diǎn)對(duì)的i個(gè)離散時(shí)間步后的距離dj(i)。
5)對(duì)每個(gè)i,求出所有j的lndj(i)平均y(i),即:
其中,q是非零dj(i)的數(shù)目,利用相關(guān)數(shù)學(xué)處理工具畫出其回歸直線,做出的回歸直線的斜率,小數(shù)據(jù)量法示意圖見圖4。
圖4 小數(shù)據(jù)量法示意圖
將2.2 中求得的相關(guān)參數(shù)τ=3、m=4,以及求得的時(shí)間序列的平均周期P=6 帶入到程序中,運(yùn)行wolf 程序后,求得λ1=0.0506。由此,可以確定該負(fù)荷時(shí)間序列為混沌時(shí)間序列,同時(shí)可以確定最大可預(yù)測時(shí)間長度Tmax=1/λ1=19.763。
基于最大Lyapunov 指數(shù)建立模型的基本思想如下:對(duì)一維的混沌時(shí)間序列進(jìn)行相空間重構(gòu)后,設(shè)預(yù)測的中心點(diǎn)為XM,設(shè)Xk為XM在其相空間中的最鄰近點(diǎn),二者的距離為dM(0),其最大Lyapunov 指數(shù)為λ1,則:
限制短暫分離,要求|M-j|>P,其中P混沌時(shí)間序列的平均周期。結(jié)合如下最大Lyapunov 指數(shù)的定義
上式即為最大Lyapunov 指數(shù)預(yù)測模型[6],該式子中,對(duì)于點(diǎn)XM+1只有最后一個(gè)元素分量未知,從數(shù)學(xué)方程求解來看是可求的,因此,未來一段時(shí)間的負(fù)荷是可以預(yù)測的。
該預(yù)測模型的具體算法思想如下[7]:
1)根據(jù)前文中求得的重構(gòu)相空間的嵌入維數(shù)m和延遲時(shí)間τ,得到重構(gòu)相空間:
2)結(jié)合前文,利用小數(shù)據(jù)量法計(jì)算各序列最大Lyapunov 指數(shù)λ1。
3)尋找中心點(diǎn)XM的鄰近狀態(tài)XK并計(jì)算d=‖XM-XK‖。
4)根據(jù)公式計(jì)算XM+1,并根據(jù)某種約定算法規(guī)則對(duì)根進(jìn)行取舍。
5)將所得預(yù)測值帶入原序列中,重復(fù)上述步驟,直到預(yù)測完成。
利用該預(yù)測模型對(duì)理論上的絕對(duì)混沌時(shí)間序列進(jìn)行預(yù)測,從而判斷預(yù)測方法的可行性,分別采用Chen's 系統(tǒng)和Lorenz 系統(tǒng)的混沌時(shí)間序列進(jìn)行驗(yàn)證。
1)Chen's 系統(tǒng)驗(yàn)證
Chen's 系統(tǒng)是一個(gè)經(jīng)典的混沌系統(tǒng)[8],其系統(tǒng)方程如下:
其中取a=35,b=3,c=28。
對(duì)于該混沌系統(tǒng)的x分量,用四階Runge-Kutta 法積分方程組,選擇積分步長T=0.001,參數(shù)延遲時(shí)間取10,嵌入維數(shù)取8,進(jìn)行相空間的重構(gòu)。利用本節(jié)提出的預(yù)測模型以前面4800個(gè)點(diǎn)對(duì)后面200 個(gè)點(diǎn)進(jìn)行預(yù)測。其預(yù)測結(jié)果如圖5 所示,由預(yù)測結(jié)果曲線圖可知,該預(yù)測模型對(duì)Chen's 系統(tǒng)的混沌時(shí)間序列的預(yù)測效果良好。
圖5 Chen's系統(tǒng)的混沌時(shí)間序列預(yù)測
2)Lorenz 系統(tǒng)驗(yàn)證
Lorenz 系統(tǒng)方程如下:
同樣,考察該混沌系統(tǒng)的x分量,用四階Runge-Kutta 法積分方程組,選擇積分步長T=0.001,參數(shù)延遲時(shí)間和嵌入維數(shù)分別取17和2,進(jìn)行相空間重構(gòu)后。利用最大Lyapunov指數(shù)的預(yù)測模型以前面4800 個(gè)點(diǎn)對(duì)后面200 個(gè)點(diǎn)進(jìn)行預(yù)測。其預(yù)測結(jié)果如圖6 所示,由預(yù)測波形曲線圖可知,該預(yù)測模型對(duì)Lorenz 系統(tǒng)的混沌時(shí)間序列的預(yù)測效果良好。
圖6 Lorenz系統(tǒng)的混沌時(shí)間序列預(yù)測
Chen's 系統(tǒng)和Lorenz 系統(tǒng)兩者產(chǎn)生的混沌序列對(duì)最大Lyapunov 指數(shù)預(yù)測模型的驗(yàn)證效果良好。利用該預(yù)測模型對(duì)鄭州市的整點(diǎn)電力負(fù)荷時(shí)間序列進(jìn)行研究,時(shí)間序列一共1460 個(gè)數(shù)據(jù),選取了某市2017 年3 月1 日到2017 年4 月30 日19 點(diǎn)的整點(diǎn)負(fù)荷,主要思路是以前1440 個(gè)數(shù)據(jù)為預(yù)測基準(zhǔn)預(yù)測后面20 個(gè)點(diǎn)(即第1441 小時(shí)到1460 小時(shí))的整點(diǎn)負(fù)荷進(jìn)行預(yù)測。其中,相空間重構(gòu)的參數(shù)先按照前述方法求得的,取τ=3,m=4,在程序中,對(duì)相關(guān)參數(shù)進(jìn)行調(diào)試,直至找到最佳預(yù)測結(jié)果。運(yùn)行程序后,得到的預(yù)測結(jié)果如圖7 所示。
圖7 最大Lyapunov模型某市短期負(fù)荷預(yù)測
由預(yù)測曲線可以看出,基于最大Lyapunov指數(shù)的預(yù)測模型對(duì)鄭州市電網(wǎng)的短期負(fù)荷預(yù)測預(yù)測效果良好。另外,對(duì)于預(yù)測的誤差計(jì)算,我計(jì)算的是實(shí)際值與預(yù)測值二者之間的相對(duì)誤差,公式如下:
上式中,RE 為相對(duì)誤差,Y為實(shí)際值,為預(yù)測值。預(yù)測誤差曲線如圖8 所示。
圖8 預(yù)測的相對(duì)誤差
由數(shù)據(jù)可知,預(yù)測誤差絕對(duì)值完全在7%以內(nèi),其中誤差在5% 以內(nèi)的占95%,預(yù)測誤差的最大值為RE=6.374%,預(yù)測的最小誤差為RE=0.028%。由以上數(shù)據(jù)分析,可以看出這種預(yù)測模型預(yù)測出的數(shù)據(jù)基本滿足,預(yù)測精度很好。
本文基于混沌理論,采用C-C 算法對(duì)重構(gòu)相空間的參數(shù)嵌入維數(shù)和延遲時(shí)間進(jìn)行了求解,使用小數(shù)據(jù)量法求出最大Lyapunov 指數(shù),最終建立了基于最大Lyapunov 指數(shù)預(yù)測模型,完成了對(duì)鄭州市2017 年4 月30 日0 點(diǎn)到19 點(diǎn)20 個(gè)整點(diǎn)負(fù)荷的預(yù)測,預(yù)測誤差絕對(duì)值都在7%以內(nèi)。