, ,
(1.山東科技大學 經濟與管理學院,山東 青島 266590;2.山東科技大學 數學與系統科學學院,山東 青島 266590)
隨著大數據技術的不斷發展,數據挖掘的形式在不斷變化,而數據預測也成為數據挖掘的一部分。常用的數據預測方法有很多,而時間序列模型因其對預測領域背景要求不高而被廣泛使用,除了常見的經濟問題預測以及醫療問題預測外,時間序列模型在交通預測方面應用也比較廣泛。
在交通預測方面,Liu等[1-2]采用時間序列模型、灰色模型和改進后的時間序列模型三種模型對機場客流量進行預測;Vasantha等[3]利用季節性自回歸差分移動平均模型(seasonal autoregressive differential moving average,SARIMA)對印度欽奈三條主干路車流量進行了預測;成誠等[4]考慮了節假日效應,利用多元季節性時間序列模型對交通樞紐客流量進行預測;蔡昌俊等[5-6]采用乘積自回歸差分移動平均模型(autoregressive differential moving average ARIMA)模型對北京市地鐵站進出站客流量進行了預測,馬佳羽等[7]采用傅里葉級數與ARIMA結合的方式對鐵路客流量進行預測;在數據處理方面,周輝宇[8]利用時間序列的關聯規則數據挖掘算法驗證預測結果,徐曉偉等[9]通過聚類出行數據更為詳細地分析了居民出行特征,閆偉等[10]利用模糊聚類的數據挖掘方式對交通流進行預測,取得較好的預測精度。
已有文獻主要集中于對原始數據預測模型的探索,并多采用組合多個預測方法或改進預測模型的方式進行交通預測,而對交通數據本身的特征提取或挖掘關注較少。同時,又由于數據聚類的某些方法能夠有效提高預測模型的預測精度,結合公交數據本身具有的有序性和周期性,選擇恰當的數據聚類算法提取和挖掘數據特征,而后再運用適當的時間序列模型進行預測,在一定程度上可以取得更好的預測效果。基于此,本文先利用Fisher有序聚類算法劃分公交客流量時段類型,并針對各時段類型數據運用時間序列模型進行公交客流量預測,對比分析不同模型預測效果的優劣,為城市公共交通系統的管理優化和線路調整提供指導。
Fisher有序聚類算法是用離差平方和來表示同類樣本之間的差異程度。通過簡便的計算和作圖,確定最優分類數,使同類樣本間的差異最小,各類別樣本間的差異最大,并用F檢驗法檢驗最優分類數的合理性[11]。Fisher聚類算法通常應用在公交客流分析中,通過對有序樣本的聚類分析,能夠有效地劃分公交客流量的相似時段,降低預測的復雜程度,減少預測的重復性。
設有序變量依次為x1,x2,…,xn,如果b(n,k)表示對樣本x1,x2,…,xn的最優k分割,則b(n,k)一定是在某一個截尾子段的最優k-1分割b(n,k-1)之后再添加一段形成的。這樣就可以從各個截尾子段的最優二分段出發,建立一種遞推公式,求出各種k值下的最優劃分,從而使得求最優劃分的精確解得以實現。
時間序列預測方法是通過時間序列的歷史數據揭示現象隨時間變化的規律,將這種規律延伸到未來,從而對該現象的未來做出預測。常用的時間序列模型有兩種,一種是自回歸移動平均模型(autoregressive and moving average,ARMA),一種是自回歸差分移動平均模型(ARIMA)[12]。當原始序列具有平穩性時,不存在差分階數,被認為是第一種模型,即自回歸移動平均模型(ARMA);當原始序列具有不平穩性時,需要進行差分處理,模型被認為是第二種模型,即自回歸差分移動平均模型(ARIMA)。特殊的,當某些原始序列具有季節性時,可以提出季節因子,構造季節性自回歸移動平均模型(SARMA)或者是季節性自回歸差分移動平均模型(SARIMA)。
公交客流量數據主要來源于乘客的刷卡數據,根據廣州市交通部門提供的公交IC卡數據繪制原始數據圖(如圖1),發現數據具有間斷點和異常點,這是由于公交IC卡數據在采集、傳輸和儲存的過程中,不可避免會出現一些錯誤。本文通過數據清洗和數據檢查等方式對異常數據進行處理,最終選擇了2014年10月11日至12月31日的數據進行分析,其中10月11日至12月26日的客流量數據為模型的實驗階段,12月27日至12月31日的客流量數據為模型驗證階段。

圖1 原始公交客流量數據序列Fig.1 Original bus traffic data sequence
為了更細致更直觀地展現公交客流量的變化特征,利用統計學中均值的思想,將原始數據整合為單日平均客流量數據(如圖2所示)。根據整合后的數據圖能夠發現各時刻客流量差異大小不一,乘客出行具有明顯的早晚高峰的特質,在早晚階段還具有一定的低峰現象。對不同時段的客流量進行預測能夠極大提高預測精度,但由于涉及的出行時刻較多,預測工作量較大。采用聚類算法劃分相似時段在一定程度上能夠減輕預測繁瑣性,也可以提高預測精度。

圖2 單日平均客流量數據圖Fig.2 Data graph of daily bus passenger flow sequence
2.1.1 定義類的直徑
設時段點為i,i=1,2,…,n,公交客流區間劃分時段表示為Gij={i,i+1,…,j},i≤j,其均值向量元素值
(1)

(2)
D(i,j)表示公交客流量不同時間段i,i+1,…,j內部變量之間的差異,值越小表示不同時段內公交客流量之間差異越小;反之,則表示不同時段內客流量差異越大,即公交出行的時間段越分散。根據公式(1)和(2)計算得到的相似時段類直徑如表1所示。

表1 相似時段類直徑Tab.1 Similar hour diameter
2.1.2 定義損失函數
用b(n,k)表示將n個樣本分為k類的某一種分法,即將不同公交客流量劃分為k類:
G1={i1,i1+1,…,i2-1},
G2={i2,i2+1,…,i3-1} ,
…
Gk={ik,ik+1,…,n}。
(3)
定義上述分類法的損失函數為
(4)


(5)

(6)
將表1中的直徑數據代入上述公式,求得最小的損失函數如表2所示。以表2中第三行第二列數據2.70(4)為例,其意義為:有5個樣本需劃分為3種類型,存在{1},{2},{3,4,5}、{1},{2,3},{4,5}、{1,2},{3},{4,5}、{1},{2,3,4},{5}、{1,2},{3,4},{5}、{1,2,3},{4},{5}共6種劃分情況,計算6種情況下的損失函數為分別為11.77、2.70、2,70、4.99、4.99、4.99,取損失函數最小的劃分情況(即第二、第三種情況),最小值在j=4時取得,記為2.70(4)。

表2 損失函數e[b(n,k)]Tab.2 The value of loss function e[b(n,k)]

圖3 損失函數變化曲線圖Fig.3 Variation curve of loss function

k4567β2.3352.1081.7271.793
2.1.3 確定最優分類數k
由于Fisher聚類算法本身并未給出合適的劃分類數k,目前常用的k值確定方法是曲線法和β檢驗法,本研究采用兩種方法結合的方式確定k值[13]。
1) 曲線法。通過繪制最小誤差函數e隨劃分類數k變化的曲線,取該曲線拐彎處或開始變平處對應的劃分類數k作為最適宜的分類數,根據圖3確定分類數為6或者7較為合適。
2)β檢驗法。通過計算β值確定分類數,當β值較大時,說明劃分為k+1類比k類要好;β值接近于1時,則可以認為該劃分數類k為最優分類數。通過計算得到的不同k值對應的β值如表4所示。當k=6時對應的β值最小且接近于1,因此,確定分類數為6。
(7)
在損失函數e和β值都變小的情況下,綜合兩種方法的分類結果,最終確定最優分類數k=6。
2.1.4 最優分類的確定
將樣本劃成k類,首先確定jk使得e[b(n,k)]達到極小值,即滿足
e[b(n,k)]=e[b(jk-1,k-1)]+D(jk,n)。
(8)
得到第k類Gk={ik,ik+1,…,n}。進而找到jk-1,使其滿足
e[b(jk-1,k-1)]=e[b(jk-1-1,k-2)]+D(jk-1,k-1)。
(9)
得到第k-1類Gk-1={ik-1,ik-1+1,…,ik-1}。依次可得到所有類,最終得到最優分類集合b(n,k)={G1,G2,…,Gk}。
根據表2結果,將公交客流量時刻劃分為6時、7時至8時、9時至16時、17時至18時、19時、20時至21時共6種時段類型。聚類算法的意義在于降低相似時段公交客流量的差異性,認為劃分時段內的公交客流量是相等的,因此,初始不平穩的公交客流量圖轉為劃分后的流量圖(如圖4),根據圖4所示的數據流量進行預測。

圖4 劃分后的公交客流量時序圖Fig.4 Time series of bus traffic flow after it is divided
2.2.1 自回歸差分移動平均模型(ARIMA)
自回歸移動平均模型(ARMA)模型的基本思想是:將預測對象隨時間推移形成的序列視為一個隨機序列,用數學模型來近似描述[14],該模型描述的序列為平穩序列。根據公交客流量原始數據圖得知,該序列不具有平穩性,通過一階差分后該序列具有平穩性,因此,差分階數d=1。假設隨機變數yt是在時間t的一個觀測值,則yt所構成的數列就成為隨機序列,一般標準的ARIMA(p,1,q)模型可以記為yt~ARIMA(p,1,q),定義為
φp(B)Wt=θq(B)at。
(10)
式中:φp(B)=1-φ1B-…φpBp,Wt=(1-B)yt,θq(B)=1-θ1B-θ2B2-…-θqBq,at為白噪音,p、q為非負整數,B為后移分算子,即Byt=yt-1,φ1,φ2,…,φp為自回歸參數,θ1,θ2,…,θq為移動平均參數。

表5 ARIMA模型預測結果對比Tab.5 Comparison of ARIMA model prediction results
運用Eviews軟件對公交客流量進行預測,具體步驟如下:首先,構造原始序列的變化圖像;其次,根據圖像的變化趨勢,對序列進行平穩化處理;再次,通過判斷序列自相關系數和偏自相關系數以及模型的特點來確定階數p,q,從而得到ARIMA(p,d,q),值得注意的是,在模型識別的過程中可能會存在不同階數的模型,一般的,采用AIC最小準則來選擇模型階數;最后,運用最小二乘法對其進行參數估計,為確保所選模型符合實際要求,需要進行模型檢驗,一方面檢驗參數的估計值是否具有顯著性,另一方面檢驗模型殘差是否為白噪聲,檢驗后本文確定的模型為ARIMA(2,1,2)。模型預測結果對比如表5所示。
2.2.2 季節性自回歸差分移動平均模型(SARIMA)
當時間序列數據既存在趨勢性又存在周期性時,可通過逐期差分使序列趨于平穩化。因此,選擇季節性自回歸差分移動平均模型,即SARIMA(p,d,q)(P,D,Q)S形式進行預測,其中D表示季節差分的階數,P、Q分別表示季節性的自回歸和移動平均階數,S表示季節周期[15]。模型公式如下:
(11)

表6 SARIMA模型預測結果對比Tab.6 Comparison of SARIMA model prediction results
其中:φp(B)、ΦP(B)分別表示非季節與季節自回歸多項式;θq(B)、ΘQ(B)則表示非季節與季節移動平均系數多項式,yt為t時刻的觀測值,at為白噪聲。季節性自回歸差分移動平均模型的實證步驟與自回歸差分移動平均模型的方法相類似,只是增加了季節性(周期性)因子以及差分階數,在經過行圖形的繪制、平穩化處理、模型識別、模型檢驗4個過程后,通過Eviews確定最終的預測模型為SARIMA(1,1,1)(1,1,1)7,模型預測結果對比如表6所示。
為了判斷時間序列模型的預測效果,選用平均絕對誤差(mean absolute error,MAE)和平均絕對百分比誤差(mean absolute percent error,MAPE)來量化預測結果的好壞,誤差計算公式如下:
(12)
(13)


表7 預測模型誤差結果Tab.7 Predictive model error results %
本研究運用平均絕對誤差(MAE)和平均絕對百分比誤差(MAPE)對上述兩個模型的預測效果進行對比(如表7所示)能夠發現:在方法的選擇上,季節性自回歸差分移動平均模型的預測效果最好,季節性自回歸差分移動平均模型比自回歸差分移動平均模型的平均絕對誤差(MAE)降低了4%左右,平均絕對相對誤差降低了1%左右,這是由于本文所選擇的數據具有明顯的周期性。因而,運用季節性自回歸差分移動平均模型提取周期因子,進而對原始序列進行預測更為合適。
目前,運用時間序列模型對原始交通客流量數據進行預測較為常見,為了驗證Fisher聚類算法的有效性,本研究又分別利用兩種時間序列模型對未聚類的客流量數據進行預測,數據選擇仍為10月11日至12月31日6時至21時的公交客流量數據,其模型的預測結果如表8所示。

表8 聚類算法前后對比誤差結果Tab.8 Results of comparison error before and after clustering algorithm %
結果表明:對原始序列進行聚類劃分能夠有效提高預測精度。從平均絕對誤差(MAE)的結果來看,進行聚類劃分后,每種預測模型的誤差結果大約能降低4%左右;從平均絕對百分比誤差(MAPE)的結果來看,每個預測模型的精度能提高3%至6%不等,說明對原始序列進行數據處理,能夠有效提高預測精度。
為提高交通客流量的預測效果,對初始數據進行處理和分析顯得尤為重要。本研究從原始數據著手,利用Fisher聚類算法,將具有周期差異的時間序列數據進行聚類劃分,降低了原始數據的波動性以及預測的復雜性。在預測模型的方法選擇上,通過比較平均絕對誤差和平均絕對相對誤差的大小,發現季節性自回歸差分移動平均模型(SARIMA)的預測效果最好。對于具有周期波動性的數據序列,選擇含有周期因子的季節性自回歸差分移動平均模型進行預測,預測精度較高;當原始序列的周期性不顯著時,運用自回歸差分移動平均模型進行預測也能夠達到很好的預測效果,這為以后運用時間序列模型進行預測提供簡便的選擇方法;在數據處理上,利用Fisher聚類算法能夠有效劃分數據時段類型,對聚類后的數據進行預測能夠有效提高預測精度。