共享單車發展對捷運影響分析

近年來世界各國吹起共享單車風, 台灣以台北地區的 youbike 系統最為發達。 許多民眾也開始以 youbike 代步,不再騎自己的機車或開車。 同時因為 youbike 的方便甚至限時免費策略, 也分走了其它運輸系統的一部份乘客數。 本研究預計用台北地區 youbike 與捷運運量的開放資料, 分析二者在地區、時間上彼此消長的情形。

研究方法

希望能取得不同年份上 youbike 的各站點位置與使用人次, 分析 youbike 擴展據點與使用人次的成長關係, 及在 youbike 擴張範圍內,捷運、公車運量是否困此有變化。 更進一步,希望能取得 youbike 借還地資料, 計算 youbike 的使用距離,與捷運進出站距離的比較。

數據

youbike 可以在官網找到現有站點對應的地址, 而 各站點設置日期則在維基百科有記錄 , 同時有 每月租賃人次的統計計程車營運可以在政府的開放資料平台找到二年統計一次的資料

改變主題為 youbike 與捷運

最初因為聽說計程車因 youbike 生意變差, 想做計程車營運狀況與 youbike 站點設立的影響。 計程車依法規加裝的 新式計費表 , 在載客時會向車行回報起始、結束位置, 但該資料因為過於詳細隱私並無公開, 唯一找到的 上述統計資料 則只有精確到縣市內的計程車總量, 無法與 youbike 的分布相比。

最後由於計程車的精確空間資料難以取得, 改變主題為 youbike 的設站是否會影響捷運站的流量。 所搜集到的資料有 維基百科上各 youbike 站設站時間 , 與 2015 年到 2018 年間每日捷運的各站進出人數統計。

預期成果

不確定 youbike 對捷運的實際影響。可能因為捷運附近有了 youbike 站, 使住得較遠的人也能騎到捷運站從而提升捷運站人次。 或是在較近的路程時,因為有 youbike 就直接騎 youbike 不搭捷運, 造成捷運使用人次下降。 但捷運一般是較長程的通勤,應該不會被 youbike 取代, 故期望是看到 youbike 設站後,捷運運量也增加。

研究流程

整理 youbike 資料

youbike 站點設立日期沒有找到整理好的公開資料, 但維基百科上的 臺北市公共自行車租賃系統站點列表 條目裡有記錄現有的站點及其設立日期。 根據編輯記錄,每次編輯都是來自未登入的用戶的匿名編輯, 嘗試過在該條目討論頁上與該編輯者要求資料來源,但沒有得到回應。 只能直接相信其編輯結果,並以 javascript 將頁面中的表格整理為程式可讀取的格式, 產生站點名、設立日期、車位、位置描述的表格。

但上述資料只有對位置的模糊描述,沒有座標, 甚至連地址都不是。(youbike 站沒有門牌。) 於是再從 台北市 新北市 政府的開放資料找出 二地所有站點的座標與詳細資訊,並以站名作連結, 與上述維基百科中的設站日期關聯為一大表格。 (以 javascript 處理。)

最後得到現有所有站點的座標資料與設站日期, 以座標資料在 qgis 中展示如下圖:

youbike-date.png

整理捷運資料

台北捷運公司官方網站上有公告自 104 年開始的各站每日進出人數統計, 因為是每日每站,每日統計可能因為平日假日浮動較大, 所以我決定一個月統計一次,只計算月總人次。 另外在進站與出站上,二者對 youbike 設站的表現可能不同, 但我沒有肯定想法,於是就簡單的將二者相加, 作為該站的運量。 這部份因為資料有點多,我是用 Libre office 的巨集 將試算表統一匯出成 csv 檔,再用 sed awk 統計出每月總流量。

但之後檢查數據時發現,用月流量很明顯跟著大月小月 每月的天數不同而浮動,以天數來看就是 1/30 的波動。 於是為了消除這種浮動, 就決定將每月的資料除以該月份的天數, 得到稍微穩定的數據。 雖然還是很明顯在特定月份, 像冬天 11 月到 1 月可能因為較冷, 使民眾搭乘捷運的意願較高。

month-float-day.png

month-mean-day.png

但每月的日均流量還是有很大的波動,和以年為單位的周期性, 扣掉年為周期的波動後,不同年同一月也會有波動, 我認為可能來自於每月假日與平日天數不同所造成, 或是其它都市發展因素。

最後再找到 台北市資料開放平台上的捷運站點座標 , 以站名將座標和捷運站平均進出人次的資料關聯。

空間分析

估計會受 youbike 站影響的捷運站, 也就是在捷運站徒步範圍內有 youbike 站的捷運站。 因此我打算用基本的環域分析篩選出在捷運站附近的 youbike 站, 以行人徒步可接受的 500 公尺作半徑, 篩選出會可能對該捷運站人流造成影響的 youbike 站。

過程將上述的捷運站、youbike 站都匯入 qgis 中, 以所有捷運站作環域分析,得到捷運站周圍 500 公尺的範圍。 再將範圍與 youbike 的站點作交集, 濾出位在捷運站 500 公尺內的 youbike 站。

作圖比較

篩出的 youbike 設站時間從 2009 年到 2018 都有, 但捷運運量資料只有 2015 到 2018 年。 另一種情況是一個捷運站方圓 500 公尺內有多個 youbike 站, 我認為有一個站和二個站帶來的人流是差不多的, 都是 有車可以騎 的結果。

所以我決定只採用第一個在捷運站範圍設站的 youbike, 再來是只留下有捷運運量資料期間的資料。 另外就是 關渡站 比較特別,二次設站都是在有捷運運量資料期間, 所以也留下來分析。 總共原始有 70 個 youbike 站在捷運站附近, 過濾後含關渡剩下 9 個站。 因為作圖為曲線圖,需要人眼一一辨識每張圖, 如果畫個 30 張太多沒什麼意義,9 張圖已經很多了。

有了想分析的設站日期和捷運站月均日運量, 我用設站前後一個月共三個月的資料, 及前後一年同樣三個月份,共九個月份的資料作圖。 每個站一張圖,用不同顏色代表不同年份, 重疊在同樣月份上。 因為數據較複雜,有很多要客製化的地方, 我使用 javascript 函式庫 chart.js 作圖 , javascript 為完整的程式語言,chart.js 也是完整的函式庫, 能滿足客製化的需求。

{"關渡":[["2015-07-01T16:00:00.000Z","2015-08-01T16:00:00.000Z","2015-09-01T16:00:00.000Z","2016-07-01T16:00:00.000Z","2016-08-01T16:00:00.000Z","2016-09-01T16:00:00.000Z","2017-07-01T16:00:00.000Z","2017-08-01T16:00:00.000Z","2017-09-01T16:00:00.000Z","2015-11-01T16:00:00.000Z","2015-12-01T16:00:00.000Z","2016-01-01T16:00:00.000Z","2016-11-01T16:00:00.000Z","2016-12-01T16:00:00.000Z","2017-01-01T16:00:00.000Z","2017-11-01T16:00:00.000Z","2017-12-01T16:00:00.000Z","2018-01-01T16:00:00.000Z"],[22336.3225806452,20830.8709677419,25097.4666666667,21670.2258064516,21856.9677419355,24305.7,22260.3870967742,22233.0967741935,24396.5333333333,24549.6333333333,25446,22906.8387096774,25048.5,26407.2258064516,24239.9677419355,23563,25368.4838709677,23719]],"辛亥":[["2015-05-01T16:00:00.000Z","2015-06-01T16:00:00.000Z","2015-07-01T16:00:00.000Z","2016-05-01T16:00:00.000Z","2016-06-01T16:00:00.000Z","2016-07-01T16:00:00.000Z","2017-05-01T16:00:00.000Z","2017-06-01T16:00:00.000Z","2017-07-01T16:00:00.000Z"],[5874.38709677419,5763.4,5871.12903225806,5671.35483870968,5803.86666666667,5658.70967741936,5632.16129032258,5796.16666666667,5686]],"萬芳社區":[["2015-03-01T16:00:00.000Z","2015-04-01T16:00:00.000Z","2015-05-01T16:00:00.000Z","2016-03-01T16:00:00.000Z","2016-04-01T16:00:00.000Z","2016-05-01T16:00:00.000Z","2017-03-01T16:00:00.000Z","2017-04-01T16:00:00.000Z","2017-05-01T16:00:00.000Z"],[4209.61290322581,4320.23333333333,4213.48387096774,4280.74193548387,4310.6,4149.51612903226,4168.83870967742,4360.73333333333,4126.90322580645]],"忠義":[["2015-06-01T16:00:00.000Z","2015-07-01T16:00:00.000Z","2015-08-01T16:00:00.000Z","2016-06-01T16:00:00.000Z","2016-07-01T16:00:00.000Z","2016-08-01T16:00:00.000Z","2017-06-01T16:00:00.000Z","2017-07-01T16:00:00.000Z","2017-08-01T16:00:00.000Z"],[5191.96666666667,5126.45161290323,4768.45161290323,5182.63333333333,5025.96774193548,4986.45161290323,5185.26666666667,5217.12903225806,5244.67741935484]],"萬隆":[["2016-06-01T16:00:00.000Z","2016-07-01T16:00:00.000Z","2016-08-01T16:00:00.000Z","2017-06-01T16:00:00.000Z","2017-07-01T16:00:00.000Z","2017-08-01T16:00:00.000Z","2018-06-01T16:00:00.000Z","2018-07-01T16:00:00.000Z","2018-08-01T16:00:00.000Z"],[18045.3,17887.6129032258,17893.8709677419,17952.2,17898.1290322581,17679.064516129,17853.8666666667,18105.1935483871,17842.5161290323]],"中山":[["2016-06-01T16:00:00.000Z","2016-07-01T16:00:00.000Z","2016-08-01T16:00:00.000Z","2017-06-01T16:00:00.000Z","2017-07-01T16:00:00.000Z","2017-08-01T16:00:00.000Z","2018-06-01T16:00:00.000Z","2018-07-01T16:00:00.000Z","2018-08-01T16:00:00.000Z"],[73450.5333333333,74735.9032258065,75170.935483871,73447.8333333333,75673.5483870968,77326.1612903226,72763.0666666667,74052.064516129,73916.3870967742]],"頭前庄":[["2015-01-01T16:00:00.000Z","2015-02-01T16:00:00.000Z","2015-03-01T16:00:00.000Z","2016-01-01T16:00:00.000Z","2016-02-01T16:00:00.000Z","2016-03-01T16:00:00.000Z","2017-01-01T16:00:00.000Z","2017-02-01T16:00:00.000Z","2017-03-01T16:00:00.000Z"],[9519.58064516129,9804.25,9432.61290322581,9402.48387096774,9114.93103448276,9255.06451612903,9182.77419354839,9629.07142857143,8762.41935483871]],"輔大":[["2015-06-01T16:00:00.000Z","2015-07-01T16:00:00.000Z","2015-08-01T16:00:00.000Z","2016-06-01T16:00:00.000Z","2016-07-01T16:00:00.000Z","2016-08-01T16:00:00.000Z","2017-06-01T16:00:00.000Z","2017-07-01T16:00:00.000Z","2017-08-01T16:00:00.000Z"],[22807.4333333333,20497.6129032258,17829.7096774194,21714.9666666667,19498.7419354839,18371.3225806452,21676.2,19801.4516129032,19027.4516129032]],"紅樹林":[["2016-05-01T16:00:00.000Z","2016-06-01T16:00:00.000Z","2016-07-01T16:00:00.000Z","2017-05-01T16:00:00.000Z","2017-06-01T16:00:00.000Z","2017-07-01T16:00:00.000Z","2018-05-01T16:00:00.000Z","2018-06-01T16:00:00.000Z","2018-07-01T16:00:00.000Z"],[12781.2580645161,12926.3333333333,12898.6451612903,12944.9032258065,13113.4333333333,12966.2903225806,13616.5161290323,14072.9,13767.935483871]]}

結果分析

所有 9 張曲線圖中,整體沒有很明顯的趨勢。 其中有 4 張是設站後下個月份和前後一年比較, 使用人次有上升,但也有 3 張是有下降。 有 3 張是設站月份和隔年同一月份相比有上升, 其它是沒有明顯趨勢。 整體而言看不出 youbike 設站後捷運站運量有上升或下降趨勢, 也許可以結論為 youbike 設站與捷運站運量無明顯相關。

我認為看不出 youbike 對捷運流量影響, 是因為影響捷運流量的因素太多了, 而 youbike 的影響沒有大到和其它波動混合後仍看得出趨勢。 像是一開始作圖就發現捷運流量 很明顯在大月就會多、小月就會少。 雖然後來除去每月天數的影響, 但仍沒有消除的是每月工作日與休息日日數不同的差異。 幾張曲線圖可以看到 3 年的曲線好像有同一趨勢變化, 但又不像與 youbike 設站有關。 可能單就 youbike 造成的影響相對很小, 也就無法從波動中看出。

後續方向

捷運相關研究可能有一些繼定方法,能分析出隱藏在波動下的趨勢。 但我沒有先讀過相關研究,也沒有交通工程的背景知識, 造成做不出有意義的結果。 如果真的要做,就是要先讀過相關論文免得做白工。

後續如果要作 youbike 對捷運影響的調查, 就知道不能單純從捷運站總運量來看,因為影響總運量的變數太多, 而 youbike 影響的量並不是很大。 應該要先確定 youbike 的使用人次和捷運站的流量 是否在同一數量級,能否有可比性。

如果要看出單純因為 youbike 變化的量, 可能需要使用 youbike 的悠遊卡記錄中查出 由捷運出站後租借 youbike, 或還 youbike 後轉乘捷運的人數。