• 沒有找到結果。

k-NN 之公車到站時間預測模式構建

第三章 公車到站時間預測模式

3.2 k-NN 之公車到站時間預測模式構建

本研究利用 k-NN 方法建立 找與即時樣本相類似的歷史交通狀況

到站時間,利用即時的交通資訊比對歷史交通資訊 時間下擁有類似的交通資訊

時間。

進行 k-NN 預測前需先建立歷史資料庫 為第一階段建立資料庫的流程圖

詳細步驟說明如下:

 步驟 1:蒐集交通資料 取得市區公車的

 步驟 2:資料過濾 過濾不合理的資料

之公車到站時間預測模式構建

方法建立公車到站時間預測模式,希望可以利用該方法尋 找與即時樣本相類似的歷史交通狀況。假設在相同的交通趨勢變化下會有相同的

利用即時的交通資訊比對歷史交通資訊的方法,能夠辨識出哪 時間下擁有類似的交通資訊,並由該歷史時間所對應的到站時間預測目前的

預測前需先建立歷史資料庫,以提供演算法的資料比對過程 為第一階段建立資料庫的流程圖:

: 蒐集交通資料

市區公車的即時資料。

過濾不合理的資料,以避免異常的歷史資料造成預測的誤差 圖 2 第一階建立資料庫流程圖

希望可以利用該方法尋 假設在相同的交通趨勢變化下會有相同的

能夠辨識出哪些歷史 時間預測目前的到站

以提供演算法的資料比對過程,圖 2

以避免異常的歷史資料造成預測的誤差。

 步驟 3:將路線依站牌分段:

以站牌為切割點,將路線分為數個路段。

 步驟 4:劃分資料庫時段

時段內的資料要能代表當時的交通狀況,以交通狀況改變幅度不大的時 段為資料畫分的範圍。

 步驟 5:計算路段平均速度

 步驟 5.1:搜尋時段內的速度資料

依劃分的時段,依序搜尋非進離站範圍的路段速度資料。

 步驟 5.2:加總平均速度資料

將搜尋出來的速度資料加總平均,得到路段平均速度。

 步驟 5.3:輸出路段平均速度資料

輸出每時段每路段的路段平均速度資料。

 步驟 6:計算路段平均速度

 步驟 6.1:計算每車次的路段旅行時間

將每車次依進離站資訊計算路段旅行時間,亦即相鄰兩站的進站時 間差為路段的旅行時間。

 步驟 6.2:加總平均時段內的每車旅行時間

依照劃分時段,將時段內的每車旅行時間加總平均,得到每時段的 路段旅行時間。

 步驟 6.3:輸出路段旅行時間資料

輸出每時段每路段的路段旅行時間。

 步驟 7:儲存至歷史資料庫

計算出來的路段平均速度及路段旅行時間,依資料格式儲存至資料庫。

第二階段為依照上述 k-NN 的演算法構建市區公車的到站時間預測模式。當 有一筆即時資料輸入時,從歷史資料庫中先搜尋出符合時間窗限制的歷史資料,

再比對即時與歷史資料,得出各筆歷史資料與即時資料的距離量度,從各距離量 度中尋找與即時資料最鄰近的 k 筆歷史資料,並將此 k 筆資料的路段旅行時間作 加總平均,再依延遲加總的機制算出目標的總旅行時間,即為所得之預測結果。

圖 3 為本研究構建的 k-NN 預測流程圖:

訂定時間窗範圍,搜尋預測時間前後時間段內的資料。利用 k-NN 法的 歷史資料庫通常都很龐大,若是每次計算過程都要比對全部的歷史資料,則 需要花費許多的運算時間;因為每日同時段的交通狀況相似,故本研究訂定 搜尋時間窗範圍,只搜尋預測時間前後時間段內的資料。

假設歷史旅行時間為#"$%&,dm為日期,tn為時間,l 為路段。搜尋|t-tn|<tw 的歷史資料,tw 為時間窗範圍。

 步驟 3:比對即時資料與歷史資料

利用距離量度比對即時與歷史資料,以得到各筆歷史資料與即時資料的 差異程度。其距離公式為

'(#$%&  )!  #$%&

"



(8)

 步驟 4:選取 k 筆歷史資料

依照距離量度的大小排序,選取 k 筆最小距離的歷史資料。假設 M={h1,h2,h3,…,hk}為 k 筆距離最小的歷史資料集合,h1為距離最小的歷史資 料。

 步驟 5:延遲加總路段旅行時間

因為到站時間預測為預測未來的到站時間,車輛在行進的時候時間隨之 改變,所儲存的路段旅行時間亦因為時段不同,若是從頭到尾只用同一時段 的資料,則無法準確反映車輛所遭遇的交通狀況。因此本研究採用延遲加總 方法,從車輛所在位置,依序加總路段旅行時間,檢察是否有超過資料庫的 記錄時段,調整所參考的歷史路段旅行時間。

 步驟 5.1:在 t 時間預測車輛至目標站牌的總旅行時間,Tt為 0,路段 l 為 車輛目前的所在路段。

 步驟 5.2:將 k 筆歷史資料中的路段 l 的旅行時間加總平均,得路段 l 之 歷史旅行時間預測值,ttl

" 

*  -. +", (9)

 步驟 5.3:若由於 k 筆歷史資料之路段 l 的旅行時間皆為空值,而無法得 到路段 l 的平旅行時間,則利用歷史資料的路段平均速度與路段長度算 出路段 l 的歷史旅行時間。

 步驟 5.4:累加總旅行時間,則 Tt+="

 步驟 5.5:若預測路段已到達目標站牌,則停止延遲加總計算;反之,則 繼續下一路段的計算。

 步驟 5.6:檢查總旅行時間是否超過歷史資料庫的記錄時段,若是超過時

段長度,則搜尋

相關文件