據(jù)統(tǒng)計,全世界有數(shù)億人乘坐公交車進行日常通勤,世界上一半以上的交通都涉及公交,與地鐵等出行方式不同,雖然公交運輸公司有提供公交線路的發(fā)車時間表,但是公交車的運行時間會受限于實時的路況、路面上的交通指示燈等。這對于依靠公交車通勤的人來說,不確定的等待時間無疑會影響乘車的心情。
近日,谷歌地圖的附加功能做到了!在之前應用的基礎上引入了公交車的實時交通延誤,預測了全球數(shù)百個城市的公交車延誤情況,從亞特蘭大到薩格勒布,從伊斯坦布爾到馬尼拉等等,這提高了六千多萬人的通勤時間準確性。
在了解原理前,隨文摘菌看下這款附加功能的演示吧!
印度首發(fā)!公交延遲實時了解
該系統(tǒng)于三周前首次在印度推出,由機器學習模型驅(qū)動,該模型將實時汽車交通預測與公交線路和站點數(shù)據(jù)相結合,以更好地預測公交車行程需要多長時間。以下的動圖很好地演示了谷歌地圖中的這項附加功能:
動圖中展示了從當前位置到arsd(印度地名)的實時公交狀況,與以往的搜索結果不同的是,在首頁中,添加了紅色字體的延遲時間。
點開之后可以看到公交線路情況,紅色的部分表示有延遲,藍色部分表示正常通行,后續(xù)其他演示功能,詳見下方鏈接:
https://india.googleblog.com/2019/06/stay-informed-about-local-bus-and-long.html
數(shù)據(jù)從哪來?沒有公交實時數(shù)據(jù)也可以!
在沒有來自公交機構實時預測數(shù)據(jù)的許多城市中,開發(fā)者借鑒了用戶采用的一種巧妙的解決方法——使用谷歌地圖的行車路線,考慮到公交運輸?shù)奶厥庑裕杭铀?,減速和轉(zhuǎn)彎需要更長時間; 有時候甚至還有特殊的道路特權,比如公共汽車專用車道,所以此方法只適合粗略估計。另外研究者還結合了之前項目的數(shù)據(jù)庫和來自用戶提供的數(shù)據(jù)來擴充訓練語料庫,使得模型能夠擴充到多個城市更加細粒度的公交線路。
如何建立模型?
為了構建開發(fā)模型,在參照公交機構發(fā)布的信息基礎上,開發(fā)人員結合了一段時間內(nèi)從公交車位置序列中提取的數(shù)據(jù),同時也有考慮到公交線路上其他車輛的行進速度。
整個模型分為一系列時間軸單元 - 途經(jīng)的街道路線和??空?- 每個單元對應一條公交車的時間線,獨立地預測一段延遲,最后的輸出是每個單元預測的邏輯求和。其次考慮到一些特殊情況,如:站點之間不頻繁的通信、公交車車速較快、較短的街道路線和停靠點等,所以相鄰站點之間的預測通常要跨越多個時間單元,以便綜合考慮到各方面的因素,下面的圖片很好地詮釋了建立模型的過程:
(a)圖中藍色的圖標表示站點,公交車在此開始啟動,在(b)圖中將藍色的站點抽象成Stop unit的時間單元,包括發(fā)車時間表Time、位置信息Location、站點周圍的狀況Stop features以及向前行進Feed-forward等一系列特征;
(a)圖中的紅色、黃色和綠色的線路表示公交車的行進路線,同理每個路線抽象建模成Road Unit,除了一些共有的Time、Lacation、Feed-forward特征外,還加入了路況信息Road features、以及路線上的其他車輛的速度預測Car forecast等信息。
模型包含了上下文場景的預測信息,最終的結果是這些時間單元的邏輯求和。這種時間序列的建模結構非常適合neural sequence model(神經(jīng)網(wǎng)絡中的序列模型),最近成功應用于語音處理、機器翻譯等。一般情況下使用標簽數(shù)據(jù)(X,Y)(輸入數(shù)據(jù)為X,輸出數(shù)據(jù)為Y)的監(jiān)督學習任務都需要使用序列模型,如在NLP領域內(nèi)大放光彩的RNN模型,也是序列模型的應用。
考慮到汽車速度的影響
舉例說明Car forecast對Road unit時間單元的影響,我們以周三下午乘坐Sydney(悉尼)的巴士為例。 公交車的實際運行狀況(藍色的線路)比公交運輸機構公布的時間表(黑色的線路)滯后幾分鐘,從下圖可以看到, 紅色的線路也就是汽車的運動狀態(tài)確確實實地影響了公交車的前行。
例如,明顯看到圖中紅色標記在2000米處的斷層和斜率的變化,這預示著汽車2000米處的減速,這一減速也同樣體現(xiàn)在了藍色的公交線路上,同樣地,800米處的暫停,公交的停滯時間要比汽車長很多。
上文已經(jīng)舉例說明了汽車車速對公交車行進途中造成的影響,那么,如何將Car Speed(汽車速度)轉(zhuǎn)換為公交速度呢?
在下圖的左側(cè)部分,模型對公交車行駛速度和汽車速度之間的預測比率進行了顏色編碼。 較慢的紅色部分,對應于停靠點附近的公共汽車減速。 至于速度較快的綠色部分,我們從右圖StreetView中看到了一個只有公交車的轉(zhuǎn)彎車道。(附:這條路線在澳大利亞,右轉(zhuǎn)彎比左轉(zhuǎn)慢,其他模型可能會欠缺這些細節(jié)方面的考量)
捕捉不同地區(qū)線路的差異
不同城市、社區(qū)和街道都有其獨特性,那么模型如何捕捉這些差異呢?
為了使模型捕捉到更加細節(jié)的信息,開發(fā)者讓模型學習不同大小區(qū)域的表示層次結構,以及每個時間軸單元的地理位置(道路或站點的精確位置),這些位置的表達,通過在時間軸單元中嵌入不同大小區(qū)域的位置表示,最終邏輯求和得到。
剛開始模型的訓練,對特殊情況下的細粒度位置進行強化學習(對模型預測結果進行反饋評估),調(diào)整模型參數(shù),使得模型能夠更好地學習特征,并使用結果進行特征選擇。 這樣就可以確保考慮到百米內(nèi)的更加全面的道路信息。
位置和時間相結合:適應不同城市的“節(jié)奏”
除了考慮到不同位置線路的獨特性外,每個城市都有其不同的節(jié)奏,對于節(jié)奏較慢的小鎮(zhèn),下午6:30到下午6:45可能是偏安靜的黃昏與日落,對于其他的城市可能是下班高峰期或用餐時間,因此需要在模型中嵌入時間表示。
在模型中嵌入當?shù)貢r間和星期幾這些時間表示,同時結合地理位置,可以捕捉到各城市高峰時段的公交線路,這是之前模型的又一個擴充。
這種擴充使得數(shù)據(jù)變成四維(星期幾,幾時,城市名稱,站點),四維的數(shù)據(jù)很難可視化,為了更直觀地解釋,利用下圖藝術家Will Cassella設計的圖片,來講解四維中的其中三維數(shù)據(jù):
晝夜更替,這種循環(huán)往復,使得模型的時間表示為一個類似鐘表的“Loop”結構,但是細心地讀者可能會發(fā)現(xiàn)這種鐘表的盤面形成了很多的“褶皺”,這也是時間模型設計的精髓。這種“褶皺”結構可以在神經(jīng)網(wǎng)絡訓練過程中,讓神經(jīng)元區(qū)分“半夜”“深夜”這樣的概念。除此外,鐘表盤面上16到21的刻度上有很大的“彎曲”,而2到5的刻度則表現(xiàn)的很“平坦”,這也體現(xiàn)著不同時段公交的擁堵情況,16到21的刻度代表著下午4點到晚上9點,而2到5的刻度則表示半夜或者是下午的時間。
這種時間結構的設計,使得汽車速度是常量時,設計的模型也能感知到公交車的高峰擁堵情況,以New Jersey乘坐10km的公交巴士為例,模型呈現(xiàn)的效果如下圖,從圖中可以看到周一到周日每天特定時刻的公交運行時長,耗時較多的時刻集中在一天的7點到8點,也就是早高峰,同時17點到18點的Bus travel time也稍有上浮。
模型效果:讓數(shù)據(jù)“開口”證明
在訓練好模型后,模型對Sydney(悉尼)的公交擁堵情況進行了實時的預測:
圖中藍色的線路是真實的公交行進狀況,綠色的線路是預測后的公交運動路線,可以看到真實情況下,公交在800米處有大約半分鐘(30s)左右的停車,預測模型有感知到差不多10s的停車,這有些許的誤差,統(tǒng)計完后,整個模型的預測結果與真實的效果只差1.5分鐘,這已經(jīng)非常貼近真實值了。
預測不同城市的高峰時段
除了對Sydney(悉尼)的預測外,模型也對全世界各大城市的交通擁堵狀況做了統(tǒng)計。
下圖是對Chicago最擁堵的公交線路和經(jīng)停站的統(tǒng)計:
-
谷歌
+關注
關注
27文章
6169瀏覽量
105439 -
機器學習
+關注
關注
66文章
8420瀏覽量
132687
原文標題:機器學習實時預測公交延遲!谷歌地圖附加功能上線全球
文章出處:【微信號:BigDataDigest,微信公眾號:大數(shù)據(jù)文摘】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論