?

基于奇異譜分析和改進的BP 神經網絡交通流預測

2023-09-21 15:49胡茂政王文翠
智能計算機與應用 2023年9期
關鍵詞:譜分析交通流螢火蟲

胡茂政, 張 劍, 王文翠

(上海工程技術大學航空運輸學院, 上海 201620)

0 引 言

準確的交通流預測,可以幫助交通管理者做出合理的交通決策,并為旅行者提供更多信息,幫助旅行者們及時調整路線和改變旅行計劃,因此已成為智能交通系統的重要研究熱點。 此外,交通流預測對于保持交通流處于對稱狀態也大有裨益。 對稱交通流的形成可以加快交通流的效率,緩解干道的交通擁堵。 然而,受氣象條件、交通事故和道路養護施工的影響,交通流量呈現出高度的動態性、隨機性和混沌性。 使得交通流量預測成為一個具有挑戰性的問題

近年來,許多研究人員和學者研究了許多提高預測性能的方法。 主要的交通流預測方法大致可分為兩類:傳統統計學習方法和人工神經網絡方法或混合神經網絡方法。 傳統的統計學習方法,如卡爾曼濾波[1]、自回歸積分移動平均和貝葉斯方法等,這些方法過于簡單,無法反映短期交通流預測過程中涉及的非線性因素,導致預測準確性較低。 人工神經網絡[2]相比傳統統計學方法,雖然預測效果有所提升,但如果忽略交通流數據的時間特征,人為獲得特征會降低其信息的穩定性,還可能削弱模型的預期精度。

因此,為了探索精度和效率更高的預測方法,本文提出了一種SSA-IFA-BP 混合預測模型。 首先采用奇異譜分析法(SSA)對原始的交通流數據加以處理,去除噪聲序列,保留有用信息;使用自適應權重的方法進一步優化螢火蟲方法(FA),使其避免進入局部最優解;最后用改良的螢火蟲方法(IFA)進一步優化BP 神經網絡的加權和閾值,構建了SSA-IFA-BP混合預測模型,并使用該模型進行實驗驗證,實驗結果表明,SSA-IFA-BP 模型相比于其他預測模型在交通流預測方面具有更好的預測精度。

1 理論基礎

1.1 奇異譜分析

SSA 方法是一個基于相空間重建基本思想的全局分析方法,其中奇異值分解(SVD)可以識別原始信號分量(趨勢、周期和噪音)。 該算法包含了分解和重構兩個步驟。 分解過程中包含由一個嵌入操作和支持向量值組成。 而重構過程則包含分組和對角線的平均[3],具體步驟如下。

1.1.1 嵌入

在嵌入過程中,原始的一維序列P=[p1,p2,…,pN] 被轉化為一個多維的軌跡矩陣X=[X1,...Xi,…,Xk],其中Xi=(pi,pi+1,…,pi+L)T∈RL,L是嵌入的維數(2 ≤L≤N/2),K=N-L+1。 軌跡矩陣X的描述如下:

1.1.2 SVD

通過對協方差矩陣的特征值分析,可以得出L的降部特征值為λ1、λ2、…、λL,以及相應的特征矢量U1、U2、…、UL。 通過采用SVD 方法,將軌跡矩陣X變換為

式中:d=max{i}(λi >0) 表示軌跡矩陣X的秩,Xi=√λiUiVT表示初等矩陣,Ui和Vi分別表示協方差矩陣S=XXT的左特征向量和右特征向量?!苔?≥…≥√λi≥0 表示軌跡矩陣X的奇異譜,最大特征值對應于最大特征向量,代表跟蹤信號的趨勢。 較小特征值對應的特征向量通常被認為是噪聲。

1.1.3 分組

初等矩陣Xi(i=1,…,d)被分為m個不交叉子集I1、I2、…,Im,其中I={i1,…,ip}。 由此,公式(2)可以重寫為

對給定的Ii,Xi的貢獻率,可利用分解后特征值的百分比來計量。 在本文中, 得到貢獻率等于0.1%w的r個奇異值,在d個奇異值中選取對其進行重建。

1.1.4 對角線平均

每個矩陣中XIn(n=1,…,r) 的對角線平均轉化為一條邊長為n的時間序列。 設一個子矩陣XIn為L×K,是帶有元素xij的高維數矩陣如果L <K,則=xij;否則,=xji。 步驟3 中的子矩陣XIn通過式(4) 重構為相應的一維時間序列Rc=(rc1,rc2,…,rck,…,rcN)。

1.2 PSO 算法

一組粒子被隨機建立,然后通過利用對該組粒子群中的個體極值和群體極值的確界,實現了某組粒子群的不斷更新,使其作為粒子群算法實現的基礎。 粒子速度的位置更新方法如下:

其中,vi,j(t+1)是粒子速度;xi,j(t+1)是粒子的位置;r1和r2為0~1 之間的兩個隨機數;c1和c2為學習因子;w是慣性權重,其公式如式(7) 所示:

式中:wmax和wmin為慣性權重最大值和最小值;t為當前迭代次數;tmax為設置的最大迭代次數值[4]。

1.3 GA 算法

遺傳算法是在1975 年由約翰.霍蘭德領他的研究生所創立,其主要思想依據是孟德爾的遺傳學理論和達爾文的進化論[5]。 算法分為3 個部分,其中包括選擇、交叉和變異。

(1)選擇算法的計算公式為:

其中,fi是第i條染色體的適應值;pi是第i條染色體被選擇的機率;N為樣本總數;m為染色體的總數。

(2)交叉算法的計算公式為:

其中,和分別為A染色體在t位的交叉和B染色體在t位的交叉,a是0~1 之間的隨機數。

(3)變異算法的計算公式為

其中,β是0~1 之間的隨機數;xk是經過變異后的基因;xmin和xmax分別為基因邊界的最小值和最大值。

1.4 螢火蟲算法

1.4.1 螢火蟲基本算法

螢火蟲算法(FA)是為了解決YANG 于2002 年發明的數值優化問題而設計的[6]。 這個算法從螢火蟲閃爍行為中得到啟發,是一種有效的、概念簡單且易于實現的元啟發式的算法。 因此,許多研究者對螢火蟲算法進行了研究,新的FA 變體被用來解決不同類別的優化問題,如連續、組合、約束、動態和噪聲優化等。 尋優的原理為不斷的去更正螢火蟲的位置,最終找到定義下位置最好的那只螢火蟲,尋優機制如下:

定義1螢火蟲相對熒光亮度為

其中,I0是螢火蟲當前location的亮度,光強吸收系數為γ,一般其取1;ri j則代表螢火蟲i與j中間的歐式距離[7],式(13):

其中,xi,k是xi在空間中的第k個分量;xj,k是螢火蟲xj在空間中的第k個分量;D是空間維數。

定義2螢火蟲之間的吸引度βij公式為式(14):

其中,β0為初始位置的吸引度。

定義3螢火蟲i因螢火蟲j的作用,位置發生改變,其位置公式為式(5):

式中:xi、xj是螢火蟲i、j的位置,α為步長因子,一般取0~1 之間的常數,t為迭代次數,εj是0~1 之間的隨機數。

1.4.2 改進的螢火蟲算法

螢火蟲算法雖然在尋優問題中有著優良的性能表現,但仍然存在著天然的弊端,即在迭代后期,極容易陷入局部極值或者局部最優解。 由公式(14)可知,由于兩個螢火蟲之間距離增大,兩者相對吸引力較小。 由此引發出一個問題,在極值點處,算法容易出現重復振蕩,而公式(15)中的隨機因子εj想要減小該振蕩的影響,需要進行多次迭代。 為了避免或減少以上現象的影響,提出慣性權重對公式(15)進行優化,優化后的位置更新公式為式(16):

式中:w為慣性權重,表示當前位置對于原來位置的更新情況,通常取0~1 之間的常數。

為了讓螢火蟲在局部尋優的過程中更具針對性,先對慣性權重進行優化調整,使得慣性權重擺脫改變的隨機性,能夠根據目標函數的改變進行改變,其計算方法為式(17):

迭代過程中的螢火蟲位置所改變的次數, 用o表示;λ(o) 反映慣性權重變化的平緩程度,值和其平緩程度呈反比,式(18)

式中:f(xi(o))是第i個螢火蟲在經過o次位置更新的位置目標函數值,f(xbest(o)) 表示第o次更新后,位置最好的螢火蟲的值。

1.5 BP 神經網絡模型建立

1.5.1 BP 神經網絡

通過對前饋網絡的優化升級,BP 神經網絡應運而生。 BP 神經網絡包含輸入、隱含和輸出3 個層級。 其中,輸入層節點數和輸出層節點數分別為輸入向量維數和輸出向量維數,并隨著研究問題及輸入的不同,而對其進行針對性的調整[8]。 BPNN 算法的實現步驟如下:

步驟1輸入X和輸出Y呈映射關系,同時確定輸入、輸出神經元的節點和隱含層的節點數量。

步驟2以中間神經元(計為J) 為輸入的輸出(計為H),其計算公式為式(9):

式中:w為權值,b為閾值。

步驟3網絡輸出層計算公式為式(20):

步驟4實際數據與網絡經訓練后得到的輸出值之間誤差的計算公式為式(22):

步驟5在信息反向傳遞時,權值將按照誤差e做出調整。 計算公式為

式中:η為學習效率。

步驟6當誤差和設置值相比達到要求時,則終止迭代,否則轉向步驟2 繼續迭代。

1.5.2 螢火蟲算法優化的神經網絡

BPNN 由螢火蟲算法改進的實現方式,主要是通過使用螢火蟲算法的快速尋優能力,使得BPNN的權值和閾值都得以提高,從而提高BPNN 性能。具體實現步驟如下:

(1)建立BP 神經網絡,初始化參數,設置隱藏節點數和隱藏層數;

(2)初始化FA 算法的個體及參數;

(3)設置螢火蟲的種群數量和個體的適應度參數;

(4)更新每個螢火蟲個體的信息;

(5)判斷參數是否滿足終止條件,滿足條件轉去執行步驟(6),否則返回步驟(4);

(6)將算法輸出的最優權值和閾值代入到BPNN 進行訓練和測試,計算誤差;判斷迭代次數是否已達到限制條件,若達到迭代次數最大值,則終止迭代輸出補償結果,否則循環執行步驟(6);

(7)生成最佳的FA-BPNN 模型。

2 交通流預測模型的構建

首先,使用奇異譜分析對原始交通流進行分解重構,剔除噪聲干擾,利用處理后的數據作為IFABP 模型的輸入,構建SSA-IFA-BP 預測模型。 利用遺傳算法GA 和粒子群算法PSO 優化BPNN 的權值和閾值,使用原始數據作為模型的輸入,構建GABP 預測模型和PSO-BP 預測模型。 通過實驗對比,驗證SSA-IFA-BP 預測性能。 預測流程如圖1 所示:

圖1 SSA-IFA-BP 模型預測流程圖Fig. 1 Flow chart of each SSA-IFA-BP model prediction

3 評價指標

為驗證SSA-IFA-BPNN、 GA-BPNN、PSOBPNN 3 種預測方法的實際預測性能,本文采用兩種誤差評價指標,即均方根誤差(RMSE) 和平均百分比誤差(MAPE) 來反映模型預測性能[9]。

均方根誤差(RMSE) 能夠很好的反映預測數據偏離真實數據的程度,可以很好的反映預測的精確性。 平均百分比誤差(MAPE) 能夠整體的反映預測數據和真實數據的擬合程度,因此可以從整體上評價模型預測結果的離散性和精確性。 評價指標的公式如下:

式中:yi是在i時間點交通流預測值,yi0是該時間點交通流的現實數據,N表示數據的總個數,RMSE和MAPE值越小表示預測結果和原始數據的擬合性越好,預測的準確度越高。

4 仿真實驗及分析

4.1 實驗數據選取

交通流數據因受實際場景下各種復雜因素的影響(如路況、交通燈等),呈現出了不確定性和非線性,在對實際交通流數據進行分析時,采用matlab繪制時間序列曲線,可以看出其呈現出周期性的特征。 為了證明SSA-IFA-BP 預測模型在預測短時交通流數據性能的優越性,本文實驗選取了美國加利福尼亞州高速公路PeMS 系統2019 年10 月6 日到10 月10 日的工作日數據作為實驗數據。 該數據以5 min 作為采樣間隔時間,共計1 440 個交通流數據。 本文采用的預測模型輸入數據是預測時刻前兩個小時的交通流時間序列,輸出為下一時刻的交通流時間序列。 為了實現模型良好的擬合性,選取10 月6 號到10 月9 號的交通流數據作為測試集,共1 152個數據,建立了1 128 個輸入輸出集。 10 月10 號的交通流數據為測試集,共建立了288 個輸入與輸出集,時間序列曲線如圖2 所示。

圖2 五日交通流時間序列曲線Fig. 2 Time series curve of five-day traffic flow

4.2 奇異譜分析處理數據

在處理非線性時間序列數據中,奇異譜分析是目前較好的方法之一。 由于交通流數據呈現出非線性和不確定性的特點,因此在交通流數據的預測中,數據的特點不僅決定其預測的復雜性,同時交通流數據中的大量噪聲序列,對于預測結果的準確性也構成了極大考驗,而SSA 的出現,極大的解決了這一難題。 SSA 的基本原理為對原始數據進行分解、重構,將原始數據分解成不同成分的時間序列,剔除噪聲序列,將其中貢獻度大的時間序列進行重構。本文設置SSA 的窗口長度為L=8,將原始交通流數據利用奇異譜分析分解成8 特征分量(圖3),從各特征分量的方差貢獻率看,IMF1 和IMF2 的貢獻率達到百分之98.67%。 所以,將兩個子序列進行重構,得到新的交通流數據時間序列,即趨勢序列,剔除剩下的分量所形成的噪聲序列(圖4)。 顯然,趨勢序列和原始交通流相比,在保留原始交通流數據變化趨勢的同時,數據更加的平滑,更有利于模型的訓練和預測(圖5)。

圖3 奇異譜分析分解的特征分量Fig. 3 Eigen components of the decomposition of the singular spectral analysis

圖4 不同特征分量的方差貢獻Fig. 4 Variance contribution of the different eigen components

圖5 原始數據和處理后的數據對比圖Fig. 5 Comparison chart of raw data and processed data

4.3 仿真及分析

為了驗證本文SSA-IFA-BP 模型在短時交通流預測方面性能的優越性,使用未經優化的BP 神經網絡模型、原始數據未經SSA 處理作為模型輸入的PSO-BP 模型、原始數據未經SSA 處理作為模型輸入的GA-BP 模型的預測結果,與本文提出的SSA-IFA-BP 模型的預測結果和實際數據對比結果如圖6 所示。

圖6 不同預測模型預測結果和實際數據對比圖Fig. 6 Comparison diagram of the prediction results and the actual data between the different prediction models

根據圖6 的預測結果對比圖可以看出,4 種預測模型對于交通流都可以進行良好的預測,但從各種模型的預測結果和原始數據的對比來看,各模型在預測性能上存在一定的差異。 從圖中可以發現,BP 神經網絡的模型曲線與原始交通流數據曲線比差別很大,該模型的檢測結果在幾種檢測模式中屬于較差的;PSO-BP 模型和GA-BP 模型,較BP 神經網絡而言,兩種模型的預測曲線和原始交通流數據曲線有明顯的提升,說明經過粒子群算法和遺傳算法優化后的BP 神經網絡預測性能有所提高。 同時可以看出,GA-BP 模型相較PSO-BP 模型,其預測結果曲線和原始數據曲線的擬合更好,即GA-BP的預測效果更好。 SSA-IFA-BP 和其他幾組預測模型相比,預測結果曲線和原始交通流數據曲線的擬合效果最好,對于交通流的預測效果是最好的。

由表1 可知,從誤差的角度去評價各個模型的預測性能,BP 神經網絡的預測誤差,不管是RMSE還是MAPE都是最高的(分別為30.72 和7.9%),這說明BP 神經網絡的交通流預測效果不佳;PSO-BP模型和GA-BP 模型在預測的效果上較BP 神經網絡兩項誤差均有所減少,預測效果提升明顯;本文所建立的SSA-IFA-BP 的預測誤差在所有模型中最低,RMSE和MAPE分別低至22.64 和5.8,說明其預測性能在本文選取的預測模型里最好,也進一步證明了SSA-IFA-BP 模型在交通流預測方面預測效果的優越性。

表1 不同模型預測結果的誤差對比Tab. 1 Error comparison of the prediction results of the different models

5 結束語

本文提出了一種基于奇異譜分析重構分解降噪,將螢火蟲算法和BP 神經網絡相結合的SSAIFA-BP 短時交通流預測方法。 首先使用奇異譜分析,對原始的交通流數據進行分解重構,提出對影響預測結果的噪聲序列,保留趨勢序列;針對螢火蟲算法容易陷入局部最優的缺陷,提供了一個自適應權重的解決方案,對螢火蟲算法進行了性能改善,并使用經過改良的螢火蟲算法對BP 神經網絡的權閾值進行了調整,提升其性能,并建立SSA-IFA-BP 預測模型。 通過與未經優化的BP 模型、GA-BP 模型以及PSO-BP 模型對于交通流數據的預測仿真對比,證明了本文提出的SSA-IFA-BP 模型對短時交通流預測性能的優越性。

猜你喜歡
譜分析交通流螢火蟲
納譜分析技術(蘇州)有限公司
螢火蟲
螢火蟲
Cr12MoV冷作模具鋼滲鉻層界面能譜分析
Rotenberg模型中一類遷移算子的譜分析
交通流隨機行為的研究進展
沉香GC-MS指紋圖譜分析
路內停車對交通流延誤影響的定量分析
抱抱就不哭了
夏天的螢火蟲
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合