新加坡地鐵故障頻發(fā) 數(shù)據(jù)分析找出肇事元兇

新加坡地鐵環(huán)線近幾個月來發(fā)生了一系列不明原因的故障,給上千名乘客造成了困擾和麻煩鹊碍。和我的大多數(shù)同事一樣僵缺,我每天早上都要搭乘環(huán)線去上班胡桃。前不久,當(dāng)我們組被任命調(diào)查故障原因時磕潮,我毫不猶豫地報名參與其中翠胰。

從地鐵運(yùn)營方SMRT和道路管理局之前的調(diào)查中容贝,我們已經(jīng)知道這些故障是由于會引發(fā)信號丟失的信號干擾所導(dǎo)致的。信號丟失會觸發(fā)列車的緊急制動安全系統(tǒng)從而致使列車不規(guī)律地停止行駛之景。但是這些發(fā)生自八月份的故障看起來都是隨機(jī)發(fā)生的斤富,這給調(diào)查組的原因排查帶來了不小的困難。

我們從SMRT獲得的數(shù)據(jù)可以提供如下信息:

·每一起故障的日期和時間

·每一起故障的發(fā)生地點

·故障列車的編號

·故障列車的行駛方向

我們從清理原始數(shù)據(jù)入手锻狗。我們使用的軟件是Jupyter Notebook茂缚,它是一款非常流行的用于編寫和歸檔Python代碼的工具。

—— 最基本的可視化 ——

從如下這些基本的分析處理中屋谭,我們無法確定故障的明確原因:

1.故障發(fā)生的時間遍及全天脚囊,并且早晚高峰的故障發(fā)生次數(shù)呈鏡像對稱。

2.故障發(fā)生在環(huán)線沿線多處地點桐磁,在西部發(fā)生的次數(shù)略多悔耘。

3.信號干擾影響到多列列車∥依蓿“PV**”代表列車編號衬以。

—— Marey圖:對時間、地點校摩、行駛方向的可視化 ——

分析處理的下一步是綜合考慮多個維度的信息看峻。我們受到Marey圖的啟發(fā),Marey圖是Edward Tufte在1983年經(jīng)典的“量化信息的可視化表達(dá)”一文中提出的衙吩。最近互妓,Marey圖被Mike Barry和Brian Card用于波士頓地鐵系統(tǒng)的可視化項目中:

在這幅圖中,縱軸代表時間——從上到下按照時間順序——橫軸代表地鐵沿線各個站點坤塞。其中對角線代表地鐵的行進(jìn)狀態(tài)冯勉。

我們先按照我們要研究的問題畫好坐標(biāo)軸:

在正常情況下,一列從港灣站行駛至多美歌站的列車將會按照下圖的路線運(yùn)行摹芙,每一趟單程僅需一小時灼狰。我們研究的目的是在該圖中用點而非直線來描繪故障的發(fā)生狀況。

—— 準(zhǔn)備用于可視化的數(shù)據(jù) ——

首先浮禾,我們把由三個字母代表的站名轉(zhuǎn)化為數(shù)字:

·濱海灣至寶門廊:0至1.5

·多美歌至港灣:2至29

如果故障發(fā)生在兩站之間交胚,我們將用0.5加上兩站中較小的數(shù)字來表示故障地點。舉例來說盈电,如果故障發(fā)生在港灣(29)和直落布蘭雅(28)蝴簇,那么故障發(fā)生地點為“28.5”。這使我們在橫軸上的標(biāo)注變得簡單明了挣轨。

基于處理之后的數(shù)據(jù)军熏,我們在圖中繪制出了所有緊急制動故障的散點圖。每一個點代表一起故障卷扮。然而荡澎,我們還是無法歸納出明確的故障發(fā)生原因均践。

接下來,我們加入列車行駛方向這一因素摩幔。我們用指左或指右的三角形符號來代表列車的行駛方向:

然而彤委,它看起來還是相當(dāng)隨機(jī)。但是當(dāng)我們放大至一些局部細(xì)節(jié)或衡,一些規(guī)律似乎浮出水面:

如果你仔細(xì)研究這幅圖焦影,你會發(fā)現(xiàn):列車故障是依序發(fā)生的。當(dāng)某一列車發(fā)生信號干擾封断,緊隨其后開往同一方向的列車將會很快也遭遇相同的干擾斯辰。

—— 信號干擾是如何發(fā)生的? ——

至此坡疼,我們?nèi)匀徊磺宄欠衲骋涣熊囀钦厥略獌幢蛏搿N覀兡軌虼_定的是在時間和地點的分布上一些規(guī)律有跡可循:故障是依次交替在相反方向上發(fā)生。會不會是一些無法在數(shù)據(jù)集中體現(xiàn)的原因?qū)е逻@些故障呢柄瑰?

這些假想的連接各點的虛線看起來與Marey圖中的直線很相似闸氮。那些沿相反方向行駛的列車會不會是造成信號干擾的原因呢?我們決定去測試一下“肇事列車”這一假設(shè)教沾。

我們已經(jīng)知道環(huán)線每兩站之間的時間間隔大約是2-4分鐘蒲跨。這意味著我們可以把四分鐘之內(nèi)發(fā)生的緊急制動故障歸為一組。

然后授翻,我們使用不相交的數(shù)據(jù)結(jié)構(gòu)將所有的故障事件對組合成較大的集合或悲。這使我們能夠?qū)⒖赡芘c同一列肇事列車掛鉤的故障進(jìn)行分組。

我們把這一算法運(yùn)用在數(shù)據(jù)集上藏姐,如下是我們找出的一些歸類的集群及相應(yīng)結(jié)果:

這一結(jié)果表明:在數(shù)據(jù)集中包括的259起故障中隆箩,189起——或73%的故障——可以用“肇事列車”這一假設(shè)來解釋。這讓我們覺得我們的分析方向是正確的羔杨。

我們根據(jù)聚類結(jié)果對故障點進(jìn)行著色。同一顏色的三角形來自同一集群杨蛋。

—— 有多少列肇事列車兜材? ——

從前文可知,環(huán)線每一單程大約耗時一小時逞力。我們按照正常運(yùn)行的列車Marey圖中的直線來擬合故障散點圖曙寡。從下圖可以清晰地看出只有一列肇事列車。

我們還可以得出:那列未知的肇事列車自身并沒有出現(xiàn)任何信號故障寇荧,因為它并沒有出現(xiàn)在我們的散點圖中举庶。

—— 找出肇事列車 ——

日落之后,我們前往金泉地鐵車輛段試圖找出肇事列車揩抡。由于SMRT需要更多時間來導(dǎo)出當(dāng)日數(shù)據(jù)户侥,我們無法查看列車日志的詳細(xì)記錄镀琉。所以我們決定用老式的方法,通過審查故障發(fā)生時到達(dá)和離開各車站的列車的錄像記錄蕊唐。終于在凌晨三點鐘屋摔,團(tuán)隊發(fā)現(xiàn)了頭號嫌疑犯:PV46,一列從2015年起投入運(yùn)行的列車替梨。

—— 驗證假設(shè) ——

11月6日(周日)钓试,道路管理局和SMRT在非高峰期時段進(jìn)行測試來判定PV46是否是故障的源頭。測試結(jié)果表明我們是正確的——PV46確實引起了鄰近車輛的信號丟失從而觸發(fā)了那些車輛的緊急制動系統(tǒng)副瀑。在PV46運(yùn)行之前弓熏,并沒有相關(guān)故障發(fā)生。

11月7日(周一)糠睡,我們團(tuán)隊分析處理了PV46的所有關(guān)于地點的記錄數(shù)據(jù)硝烂,發(fā)現(xiàn)從八月至十一月的95%的故障可以用我們的假設(shè)來解釋。剩下的一些案例可能是由于在正常狀況下偶發(fā)的信號丟失導(dǎo)致铜幽。

這一規(guī)律在某些日子特別明顯滞谢,例如9月1日。從下圖可以清晰地看出故障均發(fā)生在PV46運(yùn)行的時間區(qū)間內(nèi)除抛。

—— 總結(jié) ——

當(dāng)我們剛開始調(diào)查故障原因時狮杨,我的同事和我都希望能找到使跨機(jī)構(gòu)調(diào)查組感興趣的原因,這包括道路管理局到忽,SMRT和國防科技局橄教。由SMRT和道路管理局提供的清晰明了的故障日志給我們的調(diào)查鋪平了道路,因為我們不需要在分析數(shù)據(jù)之前花費(fèi)時間和精力來清理原始數(shù)據(jù)喘漏。我們也對道路管理局和國防科技局的后續(xù)調(diào)查表示滿意护蝶,他們證實了故障確實是來自PV46的硬件問題。

從數(shù)據(jù)科學(xué)的角度來看翩迈,我們非常幸運(yùn)持灰,因為故障發(fā)生的時間和地點很接近。這使我們能夠在很短的時間內(nèi)確定問題和罪魁禍?zhǔn)赘核恰H绻@些故障更加孤立堤魁,其中的規(guī)律和關(guān)聯(lián)就不那么明顯了,我們將需要更多的時間和數(shù)據(jù)來解決這個謎題返十。

*本文用到的Python源代碼請點擊閱讀原文獲取妥泉。全文翻譯自新加坡GovTech發(fā)布在Medium上的官方博客How the Circle Line rogue train was caught with data.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市洞坑,隨后出現(xiàn)的幾起案子盲链,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刽沾,死亡現(xiàn)場離奇詭異本慕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)悠轩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進(jìn)店門间狂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人火架,你說我怎么就攤上這事鉴象。” “怎么了何鸡?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵纺弊,是天一觀的道長。 經(jīng)常有香客問我骡男,道長淆游,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任隔盛,我火速辦了婚禮犹菱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吮炕。我一直安慰自己腊脱,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布龙亲。 她就那樣靜靜地躺著陕凹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鳄炉。 梳的紋絲不亂的頭發(fā)上杜耙,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機(jī)與錄音拂盯,去河邊找鬼佑女。 笑死,一個胖子當(dāng)著我的面吹牛磕仅,可吹牛的內(nèi)容都是我干的珊豹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼榕订,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蜕便?” 一聲冷哼從身側(cè)響起劫恒,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后两嘴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丛楚,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年憔辫,在試婚紗的時候發(fā)現(xiàn)自己被綠了趣些。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡贰您,死狀恐怖坏平,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锦亦,我是刑警寧澤舶替,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站杠园,受9級特大地震影響顾瞪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜抛蚁,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一陈醒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瞧甩,春花似錦钉跷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吼虎,卻和暖如春犬钢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背思灰。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工玷犹, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人洒疚。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓歹颓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親油湖。 傳聞我的和親對象是個殘疾皇子巍扛,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容