郝菊香
(西安交通工程學院 交通運輸學院,西安710000)
鐵路交通是國家交通運輸最為重要的方式之一,隨著我國城市化建設速度的提升,鐵路客流量迅速增加,客流過飽和現(xiàn)象時常發(fā)生,對客流調度和控制提出了巨大挑戰(zhàn)。鐵路客流的準確預測對制定科學客運計劃和控制策略,提高客流調度效率具有重要意義,可為鐵路運輸?shù)陌踩\營、效率提升、降低成本提供有效的數(shù)據(jù)參考[1-4]。為實現(xiàn)鐵路客流的準確預測,本文提出一種改進型客流預測模型,對粒子群的慣性權重調整策略進行了改進,提出一種自適應慣性權重調整策略,同時引入擾動補償因子,防止粒子群收斂至局部最優(yōu),將改進粒子群算法與BP 神經網絡相結合,對BP 神經網絡初始值和閾值進行優(yōu)化,提升模型預測準確性。
BP 神經網絡屬于一種多層前饋神經網,其網絡結構包含3 層,分別為輸入層、隱含層、輸出層。其中,每層網絡層中可包含若干個神經元,輸入層中的神經元個數(shù)決定了輸入向量的維數(shù),輸出層中的神經元個數(shù)決定了輸出向量的維數(shù),隱含層對BP神經網的結構起決定性作用。隱含層可選擇單層結構或多層結構,多數(shù)情況下選用單層結構即可保證回歸預測的準確度,選用單層隱含層的BP 神經網絡結構如圖1所示[5]。
圖1 BP 神經網絡結構Fig.1 Structure of BP neural network
圖1 中X1,X2,…,Xn表示輸入向量;Y1,Y2,…,Yn表示輸出向量;Wij表示輸入層神經元與隱含層神經元之間的連接權重系數(shù);Vjk表示輸出層神經元與隱含層神經元之間的權重系數(shù);θj,μk分別表示隱含層和輸出層中的網絡節(jié)點閾值。
在BP 網絡的運算過程中,存在兩個方面的信息傳播,一方面是輸入信息進行正向的傳播,另一方面是誤差信息進行反向的傳播。BP 網絡的主要運算流程為:輸入信息通過輸入層流入網絡,并沿著正向方向經過隱含層運算處理,最終通過輸出層實現(xiàn)網絡實際輸出;與此同時,將網絡的實際輸出與理想期望輸出進行差值計算,得到誤差值,判斷誤差值是否在允許范圍內。若誤差超出限制條件,則表示算法未收斂,則對網絡層中的連接權重系數(shù)進行反向調整,通過多次的反復迭代調整,直至算法收斂,誤差在可接受范圍內,實現(xiàn)算法的收斂,BP 神經網絡運算結束[6-7]。
粒子群算法的主要原理:模擬鳥群的覓食行為,從而搜尋出最優(yōu)解,也稱為鳥群覓食算法。粒子群算法的運算過程為:首先定義一個維度為D的搜索空間,構建一個粒子群,粒子群的粒子個數(shù)定義為m,且為粒子賦予一個隨機初始值;然后根據(jù)粒子種群中的群體極值和個體極值,對粒子的位置和速度進行調整;通過反復的迭代調整,最后收斂至最優(yōu)解。在粒子群迭代過程中,每次迭代的速度和位置更新公式的表達式為
典型BP 神經網的初始權重一般選取隨機數(shù),選擇隨機數(shù)作為初始值會造成算法收斂速度慢,并且容易導致算法收斂至局部極值,無法實現(xiàn)最優(yōu)解。為了解決該問題,可將粒子群運算出的最優(yōu)解作為BP 神經網絡的初始權重值,從而提高網絡的迭代收斂速度和保證最優(yōu)解。為了提高粒子群算法的性能,這里對粒子群的慣性權重和迭代更新策略進行一些改進設計。
粒子群算法的性能具有重要影響作用的參數(shù)包括慣性權重參數(shù)、加速系數(shù)。其中,慣性權重對粒子群算法的全局搜索和局部開發(fā)的能力具有均衡作用,目前對于慣性權重參數(shù)的調整策略研究,主要集中在對該參數(shù)進行動態(tài)調整,以自適應粒子群算法的非線性運動規(guī)則,其調整過程與算法迭代次數(shù)具有很強相關性。目前慣性權重參數(shù)調整存在一些不足:慣性權重參數(shù)僅隨著迭代次數(shù)的增加,進行非線性遞減,在迭代的初期階段慣性權重系數(shù)的值最大,在迭代最后階段慣性權重系數(shù)達到最小值,在迭代過程中慣性權重系數(shù)進行單方向的減小,無法表現(xiàn)出粒子的反復變動特性[9]。假如粒子在迭代的中期階段達到了最優(yōu)解范圍,但此時的慣性權重系數(shù)仍然處于較大值,未能達到預期的最小值,從而導致粒子偏離出最優(yōu)解的限制范圍,從而需要重新進行搜索,增加了粒子的搜索時間,從而降低了粒子的收斂速度。另外,在一個迭代周期中,由于粒子的慣性權重值與迭代次數(shù)的相關性,使得在一次迭代周期中粒子個體均具有一個相同值的慣性權重,降低了粒子的多樣性,使得算法無法快速搜尋到最優(yōu)解。
為了彌補慣性權重參數(shù)調整策略的不足,本文對粒子的慣性權重進行了改進,其表達式為
式中:wmax表示設定的慣性權重的上限值;wmin表示設定的慣性權重的下限值;f表示第i粒子的當前適應度值;表示種群粒子的平均適應度值;fg表示當前粒子的最優(yōu)適應度值[10-11]。
本文提出的改進型慣性權重方法主要利用了粒子適應度值和最優(yōu)適應度值的差值,根據(jù)差值進行非線性調整,解決了慣性權重僅隨迭代次數(shù)進行單向遞減的問題。另外,慣性權重可隨著適應度差值的變化進行增大或者減小,在適應度差值達到很小時,表示粒子處于了最優(yōu)解范圍內,此時將慣性權重調整至很小值,以提高粒子局部尋優(yōu)特性,實現(xiàn)快速準確的搜尋最優(yōu)范圍。同時,每個粒子均具有獨立的適應度值,從而可使得在一個迭代周期中粒子會根據(jù)各自的適應度值而具備不同的慣性權重,從而提升了粒子多樣性,有利于提高搜尋最優(yōu)解的效率。在粒子迭代后期,對于適應度值較大而未能進入最優(yōu)解范圍的粒子,改進型慣性權重方法通過賦予較大的慣性權重值,可增加這些粒子的全局搜索能力,使得未進入最優(yōu)范圍的粒子重新快速尋找最優(yōu)解,克服了傳統(tǒng)方法中迭代后期慣性權重較小的問題。
傳統(tǒng)粒子群算法容易發(fā)生收斂至局部最優(yōu)的現(xiàn)象,僅僅利用自適應慣性權重調整很難較好地解決該問題。針對傳統(tǒng)粒子群算法存在的不足,為進一步提升粒子群算法性能,在粒子群位置更新公式的基礎上,增減一個擾動補償因子,從而在粒子位置迭代更新的過程中,促使粒子能夠跳出局部最優(yōu),實現(xiàn)全局最優(yōu)搜索。引入擾動補償因子的位置更新公式為
式中:k代表當前所處的迭代次數(shù);maxg代表算法進行的最大迭代次數(shù)。
新的位置更新公式主要是在原有公式的基礎上增加了一個擾動項,促使粒子可以獲得更加廣泛的分布空間,使得粒子對全局空間的搜索更為充分。這里結合粒子迭代次數(shù)和適應度值對粒子更新進行影響,綜合二者的特性,從而使得粒子在每次迭代和適應度值變化時均能實現(xiàn)位置更新,提高了種群的多樣性,有利于對搜索空間的全面搜索,避免陷入局部最優(yōu),對粒子搜索效率和準確率具有明顯提升效果。
基于優(yōu)化粒子群算法的BP 預測模型的主要原理:首先利用改進型的粒子群算法,引入粒子擾動補償因子和自適應的慣性權重調整策略,實現(xiàn)快速準確尋優(yōu);然后,將粒子群所得最優(yōu)解作為BP 神經網絡的初始權值,從而提高BP 神經網絡的搜索收斂效率和準確性[12-13]。可將該預測方法分為6 個步驟,預測流程如圖2所示,步驟分別為:
圖2 預測流程Fig.2 Forecast flow chart
步驟1建立BP 網絡結構,根據(jù)輸入輸出的因素建立輸入輸出層;
步驟2建立改進型粒子群算法,確定粒子種群的規(guī)模、粒子迭代次數(shù)、學習因子參數(shù)、慣性權重參數(shù)的限制范圍、粒子的初始位置和速度等;
步驟3粒子適應度更新。利用神經網絡預測值與實際值的差值,獲取粒子適應度,并將當前適應度與粒子之前的最優(yōu)適應度比較,如果當前適應度比之前獲取的最優(yōu)適應度高,則對該粒子的極值進行更新,反之則保持粒子原有極值。完成適應度更新后,并對全局最優(yōu)值進行更新;
步驟4根據(jù)慣性權重公式和粒子速度、位置更新公式,對粒子速度和位置進行計算和更新,如果更新后的粒子速度和位置超出了上限值,則取上限值作為更新值;反之,若更新后的粒子速度和位置超出了下限值,則取下限值作為更新值;
步驟5對迭代后的結果進行判斷,若滿足終止條件,則將迭代結果作為最優(yōu)解,并跳轉至步驟6,否則為不滿足終止條件,跳轉至步驟5,繼續(xù)進行迭代;
步驟6完成粒子群迭代,將獲取的全局最優(yōu)解作為BP 神經網絡的初始權值,并對BP 神經網絡模型進行訓練,最終將訓練完成的模型用于客流量預測。
為對比測試本文預測模型性能,以某車站進出口客流量為研究對象,連續(xù)3 個月對進出口客流數(shù)量進行記錄,并將數(shù)據(jù)作為訓練集,并將第4 個月數(shù)據(jù)作為測試集。利用Matlab 軟件作為仿真平臺,將本文算法與GPSO-BP[14]、EDPSO-BP[15]算法進行對比測試,分別測試3 種算法的預測結果。主要初始參數(shù)設定為:粒子規(guī)模數(shù)量為68,最大迭代次數(shù)為600,慣性權值的變化范圍設定為[0.2,0.9],學習因子設定為2。為歸一化測試條件和提高預測準確度,在進行模型訓練前,對模型的輸入輸出變量進行歸一化預處理,預處理公式為
式中:xi表示歸一化處理前的原始數(shù)據(jù);xmax,xmin表示原始數(shù)據(jù)中的極大值和極小值;z為歸一化之后的數(shù)據(jù)結果;zmax,zmin表示歸一化后的數(shù)據(jù)極大值和極小值。
通過多次反復訓練與預測,3 種算法的平均預測誤差如表1所示。由統(tǒng)計結果可知,GPSO-BP 模型的預測誤差最大,主要是由于該模型的慣性權重值采用線性遞減策略,容易造成粒子迭代至局部最優(yōu),導致預測誤差增大;EDPSO-BP 模型選用了非線性遞減策略對慣性權重進行調整,對較低預測誤差起到了一定的作用;本文算法通過改進設計,引入自適應慣性權重調整策略和擾動補償因子,在3 種算法中其預測誤差最小,驗證了該算法的有效性。
表1 三種模型的平均預測誤差統(tǒng)計Tab.1 Average prediction error statistics of three models
鐵路客流量準確預測對鐵路運行管理與控制具有重要意義,本文提出了一種基于改進粒子群與神經網絡的鐵路客流預測模型。針對目前已有預測模型存在的問題,對慣性權重值調整策略進行優(yōu)化,并引入擾動補償因子,提升粒子群算法的迭代效率,提高粒子群多樣性。將改進粒子群算法對BP神經網絡的初始權值和閾值進行優(yōu)化,進一步提升模型魯棒性和預測精度,實驗結果表明,該改進型模型具有更高的預測精度。