一種基于遲滯極速學習機的短期風速預測方法
【專利摘要】本發(fā)明涉及一種基于遲滯極速學習機的短期風速預測方法,包括以下步驟:選取短期風速數(shù)據(jù);對短期風速數(shù)據(jù)進行預處理,獲得訓練樣本和測試樣本;采用引入遲滯特性的ELM算法對短期風速預測得到輸出結果;對輸出結果進行處理得到預測結果。本發(fā)明能夠提高風速預測的精度。
【專利說明】
一種基于遲滯極速學習機的短期風速預測方法
技術領域
[0001] 本發(fā)明涉及短期風速預測技術領域,特別是涉及一種基于遲滯極速學習機的短期 風速預測方法。
【背景技術】
[0002] 極速學習機(Extreme Learning Machine,ELM)是一種新型的單隱層前饋神經網 絡,ELM算法提供了一個結合支持向量機,徑向基函數(shù)以及標準的前饋神經網絡的優(yōu)勢的統(tǒng) 一學習平臺。在計算方面,ELM算法克服了昂貴的學習代價,比如反向傳播。因為這些優(yōu)勢, ELM算法或者基于ELM改進的算法廣泛應用在時間序列預測上面,Ronay Ak利用ELM算法和 最近鄰算法進行短期風速預測,王智慧利用移動加權ELM算法進行股票預測以及帶有遺忘 機制的在線序列ELM算法進行股票預測,李彬利用ELM算法進行混沌時間序列預測等等。ELM 算法不像傳統(tǒng)的學習算法需要同時訓練隱含層的參數(shù)以及輸出權值,只是隨機給定隱含層 參數(shù),因此節(jié)省了大量的計算時間。ELM的隨機分配更像生物神經網絡的學習機制,因為ELM 的快速的學習和不嚴格遵守優(yōu)化原則。同時,ELM算法的訓練過程是一個能夠直接得到輸出 矩陣的廣義逆的線性的最小二乘法計算過程。正是因為這些不同點使得ELM算法的計算復 雜程度遠低于傳統(tǒng)的算法。
[0003] 但是,隨機給定隱含層的參數(shù),或多或少降低ELM算法的學習性能。除此之外,對隱 含層節(jié)點的數(shù)量,并沒有準確地估計的方法。在實際應用程序中,可以由交叉驗證,但技術 花費代價大,不能在線使用。
【發(fā)明內容】
[0004] 本發(fā)明所要解決的技術問題是提供一種基于遲滯極速學習機的短期風速預測方 法,能夠提高風速預測的精度。
[0005] 本發(fā)明解決其技術問題所采用的技術方案是:提供一種基于遲滯極速學習機的短 期風速預測方法,包括以下步驟:
[0006] (1)選取短期風速數(shù)據(jù);
[0007] (2)對短期風速數(shù)據(jù)進行預處理,獲得訓練樣本和測試樣本;
[0008] (3)采用引入遲滯特性的ELM算法對短期風速預測得到輸出結果;
[0009] (4)對輸出結果進行處理得到預測結果。
[0010] 所述步驟(1)具體為:以時間為橫軸、風速大小為縱軸的序列樣本,選取同一方向 的時間風速序列。
[0011] 所述步驟(2)具體為:對短期風速數(shù)據(jù)進行歸一化處理,將歸一化后短期風速數(shù)據(jù) 分為訓練樣本和測試樣本,其中,80%的樣本作為訓練樣本,20%的樣本作為測試樣本。
[0012] 所述步驟(3)具體包括:
[0013] (31)建立遲滯ELM模型;
[0014] (32)輸入訓練樣本得到建立遲滯ELM模型所需要的參數(shù);
[0015] (33)用訓練好的ELM模型對測試樣本進行測試,得到輸出結果。
[0016] 所述步驟(31)中的遲滯ELM模型采用遲滯Sigmoid激勵函數(shù)。
[0017]所述步驟(32)中采用最小二乘法求得輸出權值,用梯度下降法求得遲滯參數(shù)。
[0018] 所述步驟(4)具體為:對輸出結果進行反歸一化處理得到真實的預測結果。
[0019] 有益效果
[0020] 由于采用了上述的技術方案,本發(fā)明與現(xiàn)有技術相比,具有以下的優(yōu)點和積極效 果:本發(fā)明利用遲滯ELM神經網絡進行短期風速預測,不僅可以使用當前數(shù)據(jù)信息,而且還 可以使用歷史數(shù)據(jù)信息,因此大大地提高了風速預測的精度。
【附圖說明】
[0021] 圖1為遲滯ELM算法流程圖;
[0022] 圖2為ELM預測趨勢圖;
[0023] 圖3為遲滯ELM預測趨勢圖;
[0024]圖4為第1組ELM預測趨勢圖;
[0025] 圖5為第1組遲滯ELM預測趨勢圖;
[0026]圖6為第2組ELM預測趨勢圖;
[0027] 圖7為第2組遲滯ELM預測趨勢圖。
【具體實施方式】
[0028]下面結合具體實施例,進一步闡述本發(fā)明。應理解,這些實施例僅用于說明本發(fā)明 而不用于限制本發(fā)明的范圍。此外應理解,在閱讀了本發(fā)明講授的內容之后,本領域技術人 員可以對本發(fā)明作各種改動或修改,這些等價形式同樣落于本申請所附權利要求書所限定 的范圍。
[0029]為了驗證本發(fā)明的有效性,本實施方式對常用的Sigmod激活函數(shù)和遲滯Sigmod激 活函數(shù)下的ELM算法進行了對比。采取加拿大的ACADIA VALLEY地區(qū)的每小時的平均風速數(shù) 據(jù),時間跨度是從2015年1到7月的風速數(shù)據(jù),利用1至6月的數(shù)據(jù)來預測7月風速數(shù)據(jù),總共 650組樣本數(shù)據(jù)。所有的實驗都是在同一臺標準PC上,該PC使用的是2.60-GHz Intel Pentium(R) Dual-Core CPU和2G的運行內存,使用的MATLAB版本是R2013a。本實施方式中 的遲滯ELM網絡采用3層結構,輸入層神經元數(shù)量為m = 6,隱含層神經元數(shù)量分別為5,10, 20,50,100,輸出層神經元數(shù)量為1。在實驗過程中,本實施方式分別從隱含層節(jié)點數(shù)和訓練 樣本數(shù)進行實驗,評價標準是均方誤差、最大誤差、平均誤差、訓練時間和測試時間,其中, 最重要的評價標準是均方誤差。
[0030]本實施方式的具體步驟如下:
[0031 ] (1)對樣本的短期風速數(shù)據(jù)進行選??;
[0032] (2)對樣本的短期風速數(shù)據(jù)進行預處理,獲得訓練樣本和測試樣本;
[0033] (3)在極限學習機對短期風速預測時,引入了遲滯特性的ELM算法;
[0034] (4)對輸出結果進行反歸一化,得到預測結果。
[0035]對樣本的短期風速數(shù)據(jù)進行選取
[0036] 采取加拿大的ACADIA VALLEY地區(qū)的每小時的平均風速數(shù)據(jù),并且只選取同一方 向的風速數(shù)據(jù),時間跨度是從2015年1到7月的風速數(shù)據(jù),利用1至6月的數(shù)據(jù)來預測7月風速 數(shù)據(jù),總共650組樣本數(shù)據(jù)。
[0037]對樣本的短期風速數(shù)據(jù)進行預處理,獲得訓練樣本和測試樣本
[0038]在進行短期風速預測之前要進行預處理,適當?shù)念A處理將有助于降低訓練時間, 提高預測精度。
[0039] (1)歸一化
[0040] 由于風速樣本數(shù)據(jù)大小不一,因此有必要采取歸一化操作來統(tǒng)一樣本數(shù)據(jù)的大 小。假設一個長度為η的樣本數(shù)據(jù)乂=[^,^,一,&],11=1,2,一,11,通過歸一化使得所有的 樣本數(shù)據(jù)處在區(qū)間[_1,1]之間,即歸一化之后的樣本數(shù)據(jù) 歸一化的公式如式(1)所示:
[0041] yi = 2*(xi-Xmin)/(xmax-Xmin) + (-l) (1)
[0042] 其中,Xi為第i個樣本數(shù)據(jù);yi為第i個歸一化之后的樣本數(shù)據(jù);XmaxS樣本數(shù)據(jù)中的 最大值;x min為樣本數(shù)據(jù)中的最小值。
[0043] (2)區(qū)分訓練樣本和測試樣本
[0044] 將歸一化的樣本數(shù)據(jù)的前面80%定為訓練樣本,將歸一化的樣本數(shù)據(jù)的后面20% 定為訓練樣本。
[0045] 用訓練好的ELM模型對測試樣本進行測試,得到輸出結果
[0046] 在原有的ELM算法中把遲滯特性引入到激勵函數(shù)中,遲滯函數(shù)可以在兩個遲滯 Sigmoid激勵函數(shù)之間進行切換,從而避免神經元陷入局部最小值以及獲得更快的學習速 度,從而使得提高短期風速預測的精度。
[0047] (l)ELM 算法
[0048] 選取N個樣本數(shù)據(jù)(λ·;,.ν,)^:,.其中,Xjn]T,yj=[yji,yj2,···,yjm] T。一 個具有N個隱含層節(jié)點的單隱層前饋神經網絡模型(SLFN)的具體描述如下:
[0049] yi = β名(ω? x丨 + ai、'丨二、…'N (2)
[0050] 其中,ωι = [ωι1,ωι2,…,ωιη]τ是第i個隱含層節(jié)點的輸入權值; αι是第i個隱含 層節(jié)點的閾值也是第i個隱含層節(jié)點的輸出權值;ω, · 是ω_χ冊內積;激勵函數(shù)g(x) 通常選取Sigmoid函數(shù)。式(2)的簡潔表達式如式(3)所示:
[0051] Ηβ = Υ (3)
[0052] 其中,
[0054] Η是隱含層輸出矩陣。
[0055]選取均方值誤差E(W)作為評價標準。在SLFN模型中,問題是找到最優(yōu)參數(shù)ω,α,β 使得目標函數(shù)E(W)最小。具體的數(shù)學表達式如下所示:
[0057] ·χ, +a:)-yj=€rj = !,2,--,iV (5)
[0058] 其中,= 是第j 個誤差。
[0059] 如果(ω,α)是隨機選定,那么隱含層輸出矩陣H也會確定。然后,式(4)的問題是一 個標準的最小二乘法問題,其解決方案如下:
[0060] β* = Η+Υ (6)
[0061] 其中,Η+是Η的Moore-Penrose廣義逆,礦即為所求的輸出權值。
[0062] (2)建立遲滯ELM模型
[0063]將普通的Sigmoid激勵函數(shù)換成遲滯Sigmoid激勵函數(shù),保持其他的地方不變。選 取N個樣本數(shù)據(jù)(X,,?,其中Xj = [ Xj 1,Xj2,…,Xjn]T,yj = [ yji,yj2,…,yjm]τ。而遲滯激勵函 數(shù)是分段函數(shù),所以為了實際MATLAB程序編寫方便,先要將ELM模型中的(《^,,)^中的&和 5^進/(丁相關處理,得至[|叉3」=[叉3」1,叉3」2,.'.,叉3」11]和叉1)」 =[叉1)」1,叉1)」2,.'.,叉1)」11],5^=[5^1, yaj2,'",yajm]和ybj = [ybjl,ybj2,'",ybjm] 〇
[0064] 首先,隨機給定遲滯參數(shù)a,b,Ca,Cb。對于Xaj = [Xajl,Xaj2,…,Xajn]T和yj = [yaji, yaj2,…,y_]T來說,一個具有N個隱含層節(jié)點的單隱層前饋神經網絡模型(SLFN)的具體描 述如下:
[0065] ^ = (7)
[0066] 其中,c〇i = [ ωη, ω?2,···,ω?η]τ是第i個隱含層節(jié)點的輸入權值;cii是第i個隱含 層節(jié)點的閾值是第i個隱含層節(jié)點的輸出權值;· 1"是〇1和1"的內積;激勵函數(shù)8 (X)選取帶有遲滯特性的的Sigmoid函數(shù)。上式(5)簡化為如下所示:
[0067] Ha^a = Ya (8)
[0068] 其中
[0070] Ha是隱含層輸出矩陣。
[0071 ]在SLFN模型中,其解決方案如下所示:
[0072] β* = Η+Υ (9)
[0073] 其中Η+是Η的Moore-Penrose廣義逆。根據(jù)該公式可以得到β3。同理可以得到汍。
[0074]最后,將氏和汍相加得到β
[0075] β = β3+β^ (10)
[0076] (3)遲滯參數(shù)調整
[0077] 滯神經元的激活函數(shù)有四個相關聯(lián)的遲滯參數(shù),即a,b,Ca,Cb。這些網絡參數(shù)提供 了一個高度的靈活性。使用梯度下降法來優(yōu)化遲滯參數(shù)。對于第i個樣本來說,當?shù)趇個隱含 層神經元處在上升分支的激勵響應的時候,遲滯參數(shù)的人工智能訓練如下:
[0079] 其中,t是第i次迭代,Π 是學習速率,對于第i個隱含層節(jié)點神經元有
[0080] neti= ω i · xj+ai (13)
[0081] 同樣地,當?shù)趇個隱含層神經元處在下降分支的激勵響應的時候,遲滯參數(shù)的人工 智能訓練如下:
[0083]對于兩個正斜率參數(shù)Ca和Cb來說,它們也同樣可以用梯度下降法來調整。
[0084] (4)遲滯ELM算法的實現(xiàn)
[0085] 先要將ELM模型中的中的Xj和yj進行處理一下,具體處理方法如下:
[0086] 令如戶邱以印^^咕二抑一印^丨然后再將印與邱進行對比心果印大于或 者"T" Xjl,么令'Xaj2 - Xj2,Xbj2 - 0,yaj2 - Yj2 j Ybj2 - 0,召^ 貝丨J令'Xaj2 - 0,Xbj2 - Xj2 7 Yaj2 - 0,ybj2 = yj2 ; -直循環(huán)到最后一個XjnXjn,如果Xjn大于或者等于Xj(n-1),那么令Xajn = Xjn,Xbjn = 0, Yajn - yjn,ybjn - 0, 貝丨J"^Xajn - 0,Xbjn - Xjn 7 Yajn - 0,ybjn - yjn 〇
[0087] 整個遲滯ELM算法的具體實施步驟如圖1所示。
[0088] 對輸出結果進行反歸一化,得到預測結果
[0089] 對輸出結果進行反歸一化,得到預測結果。
[0090] (1)用第1組至第600組數(shù)據(jù)作為訓練樣本,第601組至第650組作為測試樣本,求取 50次的平均值作為計算結果,根據(jù)手動實驗對比,發(fā)現(xiàn)隱含層節(jié)數(shù)點為10時,實驗結果比較 好。隱含層節(jié)點數(shù)為10的時候的實驗結果如圖2和圖3所示,比較結果如表1所示:
[0091] 表1不同算法的性能比較
[0092]
[0093] 通過對表1中的數(shù)據(jù)進行對比分析,可以得到:對于遲滯ELM算法來說,均方誤差, 平均誤差和最大誤差均要比ELM算法好。它的訓練時間和測試時間要比ELM算法稍微長點, 是因為在訓練階段引入梯度下降法來優(yōu)化遲滯函數(shù)的參數(shù)和在測試階段隨機給定隱含層 神經元連接參數(shù)。無論如何,遲滯ELM所耗費的時間是可以承受的,均方誤差和泛化能力卻 得到顯著的提高。
[0094] (2)用第1組至第300組數(shù)據(jù)作為訓練樣本,第601組至第650組作為測試樣本,求取 50次的平均值作為計算結果作為比較的第一組;用第300組至第600組數(shù)據(jù)作為訓練樣本, 第601組至第650組作為測試樣本,求取5次的平均值作為計算結果作為比較的第二組;兩組 對比實驗結果如圖4~7所示,比較結果如表2所示:
[0095]表2不同算法以及不用樣本數(shù)據(jù)的比較
[0097]通過對表2中的數(shù)據(jù)進行對比分析,可以得到:不同的訓練樣本對預測結果是有影 響的,但是,對于同一樣本來說,遲滯ELM的預測均方誤差還是要小于ELM。
【主權項】
1. 一種基于遲滯極速學習機的短期風速預測方法,其特征在于,包括以下步驟: (1) 選取短期風速數(shù)據(jù); (2) 對短期風速數(shù)據(jù)進行預處理,獲得訓練樣本和測試樣本; (3) 采用引入遲滯特性的ELM算法對短期風速預測得到輸出結果; (4) 對輸出結果進行處理得到預測結果。2. 根據(jù)權利要求1所述的基于遲滯極速學習機的短期風速預測方法,其特征在于,所述 步驟(1)具體為:以時間為橫軸、風速大小為縱軸的序列樣本,選取同一方向的時間風速序 列。3. 根據(jù)權利要求1所述的基于遲滯極速學習機的短期風速預測方法,其特征在于,所述 步驟(2)具體為:對短期風速數(shù)據(jù)進行歸一化處理,將歸一化后短期風速數(shù)據(jù)分為訓練樣本 和測試樣本,其中,80%的樣本作為訓練樣本,20%的樣本作為測試樣本。4. 根據(jù)權利要求1所述的基于遲滯極速學習機的短期風速預測方法,其特征在于,所述 步驟(3)具體包括: (31) 建立遲滯ELM模型; (32) 輸入訓練樣本得到建立遲滯ELM模型所需要的參數(shù); (33) 用訓練好的ELM模型對測試樣本進行測試,得到輸出結果。5. 根據(jù)權利要求4所述的基于遲滯極速學習機的短期風速預測方法,其特征在于,所述 步驟(31)中的遲滯ELM模型采用遲滯Sigmoid激勵函數(shù)。6. 根據(jù)權利要求4所述的基于遲滯極速學習機的短期風速預測方法,其特征在于,所述 步驟(32)中采用最小二乘法求得輸出權值,用梯度下降法求得遲滯參數(shù)。7. 根據(jù)權利要求3所述的基于遲滯極速學習機的短期風速預測方法,其特征在于,所述 步驟(4)具體為:對輸出結果進行反歸一化處理得到真實的預測結果。
【文檔編號】G06Q10/04GK106096770SQ201610402287
【公開日】2016年11月9日
【申請日】2016年6月7日
【發(fā)明人】余敖, 陳亮, 彭敬濤, 李佳
【申請人】東華大學