依人流變化替台北捷運站點做分類

捷運分時資料2

Shih-Wen WU
GeoPainter 劃地圖
Dec 15, 2018

--

西門站人流熱圖

回顧

上一篇和大家介紹政府公開資料的捷運分時資料,並將各站點周一到周日各小時的人流資訊透過熱圖(heatmap)來呈現,並拿旅次量前三名的台北車站、西門、市政府以及比較特別的動物園站來做說明。可以發現有些站點的人流模式相似、有些卻差距甚大。那麼有沒有方法可以透過這些人流變化的資料將站點做分類呢?這一篇將使用K-means Clustering來替全部108個站點的進、出站的人流資料做分類。

K-means Clustering

K-means Clustering (K平均演算法),是屬於非監督式機器學習的一種演算法。它可以替一組資料做快速分類(可以參考wiki這裡)。以我們的例子來說,可以替我們將108站的捷運的人流資料依照變化模式分成不同的類別。本篇將會以下面的流程來操作:

1. 將108個站點的進站人流分成4個類別(ex:進站分類0,1,2,3)

2. 將108個站點的出站人流分成4個類別(ex:出站分類0,1,2,3)

3. 依照各站的進、出站類別進行分類,產生最終的站點分類(ex: 0_0,1_2…),再給予新的代號(A,B,C)

分類結果

進站

由於台北捷運各站點人流的實際數值差距甚大(台北車站每日30多萬人 vs 動物園1.4萬人),所以進行K-means分析前先將全部人流資料進行標準化(min max normalization),故以下流量值為各站對各站最大值的比例,非實際數值。

先從進站來看,藍色實線是每個分類(cluster)內,站點的人流平均變化;淡灰色是該分類全部站點。

捷運站點的進站人流類型

如上圖所示,分類1(右上)平日尖峰出現在上班時刻,其他時段包含假日皆少於0.4;分類3(右下)則是相反的類型,平日高峰出現在下班時間,其他時間包含假日皆少於0.4。

分類0(左上)的平日尖峰出現在下班時間,同時上班時間也有超過0.5的水準(1.0 vs 0.5),假日的尖峰出現在下午時段,達0.7左右;分類2(左下)相較於分類0(左上),高峰較為平均的出現在上下班時間(1 vs 0.7),但是假日人潮相對較少,最高約0.5左右,但仍高於分類1(右上)和分類3(右下)。

進站的分類結果如下:

分類0:上下班尖峰+假日

0: 上下班尖峰+假日,包含西門、台北車站、忠孝新生、忠孝復興、忠孝敦化、國父紀念館、市政府、松山機場、劍南路、公館、台電大樓、中正紀念堂、中山、古亭、東門、大安森林公園、雙連、劍潭、士林及新北投共20站。

1: 上班尖峰 ,包含頂埔、永寧、土城、海山、亞東醫院、府中、新埔、江子翠、木柵、萬芳社區、萬芳醫院、辛亥、麟光、文德、內湖、大湖公園、葫洲、東湖、新店、新店區公所、七張、小碧潭、萬隆、南勢角、景安、永安市場、頂溪、台北橋、菜寮、三重、頭前莊、新莊、丹鳳、迴龍、三重國小、三和國中、徐匯中學、三民高中、蘆洲、明德、唭哩岸、北投、復興崗、竹圍及紅樹林等45站。

分類1:上班尖峰

2: 上下班尖峰 ,包含板橋、龍山寺、永春、後山埤、南港、南港展覽館、動物園、六張犁、科技大樓、大直、大坪林、景美、松山、大橋頭、輔大、圓山、芝山、石牌、奇岩、忠義、關渡、淡水共22個站。

3: 下班尖峰,包含善導寺、昆陽、中山國中、西湖、港墘、南港軟體園區、小南門、北門、南京復興、台北小巨蛋、南京三民、松江南京、行天宮、中山國小、民權西路、先嗇宮、象山、台北101/世貿、信義安和、大安、台大醫院等21個站點。

分類2:上下班尖峰(左);分類3:下班尖峰(右)

若將分類結果呈現於地圖上,可以發現進站人潮出現在平日上下班和假日(進站上下班+假日,分類0)的站點全部位於台北市且主要集中在台北市中心區,包含板南線西門站往市政府站的大部分站點;松山新店線從公館站到中山站大部分站點;淡水信義線在本類站點包含大安、東門、劍潭、士林及新北投;文湖線有劍南路及松山機場2站。

進站人潮出現在下班時刻(進站下班尖峰,分類3)的站點,如下圖右所示,主要出現在台北市區內、板南線以外的大部分站點,以及文湖線的港乾、溪湖及南港軟體園區3站;中和蘆洲線的先嗇宮站是本類別唯一出現在新北市的站點。

進站人潮出現在上班時刻(進站上班尖峰,分類1)的站點,如下圖中所示,主要分布在離市中心較遠的地區,淡水信義線出現在明德站以北;中和蘆洲線出現在台北橋站以西、頂溪站以南;板南線出現在江子翠以西;文湖線出現在麟光站以南以及文德站到東湖站等5站之間。

屬於上下班時段皆出現人潮的站點傾向於出現在前2類(上班尖峰及下班尖峰)的交界區域,如上圖左所示,大橋頭、龍山寺、科技大樓及六張犁屬於此類;或是出現於終點站,如淡水、松山、動物園;或是其他類型,如輔大站、板橋站、圓山站、大直站以及芝山站以北的5站,整體上來看較無明顯的脈絡。

出站

出站的部分,如下圖所示,分類1(右上)和分類2(左下)為相對的兩種類型,一個尖峰時間出現在下班時刻(分類1),一個在上班時刻,比較不一樣的是在假日的部分,高峰出現在下班時刻的分類1在假日的下午仍有一段高峰出現(約0.5),而高峰出現在上班時刻的分類2在假日只有在中午有稍微熱絡一些(約0.3)。

分類0(左上)和分類3(右下)在平日的上下班皆出現高峰,分類0最大值在下班時刻,上班時刻約為0.6、假日最高約0.5~0.6;分類3在平日的高峰更平均的分配在上下班時間,假日的部分最高超過0.6,比分類0更為熱絡。

捷運站點的出站人流類型

出站類型結果如下:

0:上下班尖峰, 包含頂埔、永寧、板橋、龍山寺、永春、後山埤、南港、木柵、六張犁、大直、文德、新店、七張、大坪林、景美、台電大樓、松山、大橋頭、三重、頭前莊、輔大、劍潭、芝山、明德、石牌、唭哩岸、北投、復興崗、紅樹林及淡水等30個點。

1: 下班尖峰,包含土城、海山、亞東醫院、府中、新埔、江子翠、萬芳社區、萬芳醫院、辛亥、麟光、內湖、大湖公園、葫洲、東湖、新店區公所、小碧潭、萬隆、南勢角、景安、永安市場、頂溪、台北橋、菜寮、新莊、丹鳳、迴龍、三重國小、三和國中、徐匯中學、三民高中、蘆洲及竹圍等32個站。

2: 上班尖峰 ,包含善導寺、國父紀念館、市政府、昆陽、南港展覽館、科技大樓、中山國中、西湖、港墘、南港軟體園區、中正紀念堂、小南門、北門、南京復興、台北小巨蛋、南京三民、松江南京、行天宮、中山國小、民權西路、先嗇宮、象山、台北101/世貿、信義安和、大安、台大醫院、雙連、奇岩、忠義及關渡共30個站點。

分類0:上下班尖峰(左);分類1:下班尖峰(中);分類2:上班尖峰(右)

3: 上下班尖峰+假日 ,包含西門、台北車站、忠孝新生、忠孝復興、忠孝敦化、動物園、松山機場、劍南路、公館、中山、古亭、東門、大安森林公園、圓山、士林、新北投等16個站。

分類3:上下班尖峰+假日

若將分類結果呈現於地圖上,可以發現出站人潮出現在平日上下班和假日(出站上下班+假日,分類3)的站點全部位於台北市。主要出現在市中心區域,市區北側的站點有圓山、士林、及新北投3站;文湖線有松山機場及劍南路2站;市區南側有公館站及動物園2站。

出站人潮出現在下班時刻(出站下班尖峰,分類1)的站點,如下圖右所示,主要出現在新北市,中和蘆洲線出現在台北橋站以西、頂溪站以南;板南線出現在江子翠站以南;松山新店線在萬隆站以南;文湖線出現在麟光站以南以及內湖到東湖之間的4站。

出站人潮出現在上班時刻(出站下班尖峰,分類2)的站點,如下圖中所示,主要集中出現在台北市區,北側有關渡、忠義及奇岩3站;文湖線有港乾、西湖、南港軟體園區及南港展覽館4站。先嗇宮站為本類唯一位在新北市的站點。

上下班時段皆出現出站人潮的站點(上班尖峰及下班尖峰,分類0)位置如上圖左所示,如同進站的上下班尖峰,傾向於分布在市中心以外的地區,此外單從捷運資料來看並無明顯脈絡可循。

彙整

最後將4種進站分類和4種出站分類兩兩結合後,產生的9種組合,再依人流出現時間分成居住、工作以及假日休閒3個面向,結果如下表:

9種捷運人流分類

將各分類站點呈現於地圖上:

關於"D類變形"

由"上下班尖峰"以及"上下班尖峰+假日"組合成的G類及H類的車站共有4站,分別為動物園、圓山、劍潭及台電大樓。先來看H類的台電大樓及劍潭2站,下面將人流變化以熱圖及折線圖2種方式來呈現(下圖左、中),並和D類的西門站(下圖右)做比較:

由左至右分別為台電大樓(H類)、劍潭(H類)以及西門(D類)

可以發現2站在假日的進出人流皆高於該分類平均水準,劍潭站甚至為最大值。若將該2站與屬於D類的站點做比較,可以發現其人流變化其實是相似的,熱門時段同樣出現在上下班時間,且假日也有一定的人流。

再來看G類的動物園及圓山:

同屬G類的動物園(左)以及圓山(右)

可以發現圓山站的模式與D類站點也是類似的;但是動物園卻整個長歪。

小結

本篇將各捷運站點的分時人流資料切成進、出站2類,並透過K-means Clustering將這2類資料各分成4個分類,最後再將各站點的進、出站分類兩兩組合後,共產生9種分類,而這9種分類可以進一步歸納為工作、居住以及假日休閒3種面相。

不過在觀察各分類站點的人流變化後發現,G類及H類站點中的台電大樓、劍潭以及圓山,其人流變化與D類其實是相似的,故將其歸納為D類的變形;而動物園則是在台北捷運108站中,真正與眾不同(歪掉)的類型。

操作過程可以參考我的Github

台北捷運9類站點分布圖

--

--