網誌好讀版:https://ftt.tw/Zwypd
回顧
上一篇和大家介紹政府公開資料的捷運分時資料,
並將各站點周一到周日各小時的人流資訊透過熱圖(heatmap)來呈現,
並拿旅次輛前三名的台北車站、西門、市政府以及比較特別的動物園站來做說明。
可以發現有些站點的人流模式相似、有些卻差距甚大。
那麼有沒有方法可以透過這些人流變化的資料將站點做分類?
這一篇將使用K-means Clustering來替全部108個站點的進、出站的人流資料做分類。
https://imgur.com/2SQLXcd
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)
https://imgur.com/YZcf7XZ
分類結果
進站
由於台北捷運各站點人流的實際數值差距甚大(台北車站每日30多萬人 vs 動物園1.4萬人),
所以進行K-means分析前先將全部人流資料進行標準化(min max normalization),故
以下流量值為各站對各站最大值的比例,非實際數值。
先從進站來看,藍色實線是每個分類(cluster)內,站點的人流平均變化;淡灰色是該分
類全部站點。
https://imgur.com/rTfodlM
如上圖所示,分類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(右下)。
進站的分類結果如下:
https://imgur.com/3YdZZGa
https://imgur.com/byd4pfs
https://imgur.com/sRE24tu
https://imgur.com/X0QBDLn
0: 上下班尖峰+假日,包含西門、台北車站、忠孝新生、忠孝復興、忠孝敦化、
國父紀念館、市政府、松山機場、劍南路、公館、台電大樓、中正紀念堂、
中山、古亭、東門、大安森林公園、雙連、劍潭、士林及新北投共20站。
1: 上班尖峰 ,包含頂埔、永寧、土城、海山、亞東醫院、府中、新埔、
江子翠、木柵、萬芳社區、萬芳醫院、辛亥、麟光、文德、內湖、大湖公園、
葫洲、東湖、新店、新店區公所、七張、小碧潭、萬隆、南勢角、景安、
永安市場、頂溪、台北橋、菜寮、三重、頭前莊、新莊、丹鳳、迴龍、
三重國小、三和國中、徐匯中學、三民高中、蘆洲、明德、唭哩岸、
北投、復興崗、竹圍及紅樹林等45站。
2: 上下班尖峰 ,包含板橋、龍山寺、永春、後山埤、南港、南港展覽館、
動物園、六張犁、科技大樓、大直、大坪林、景美、松山、大橋頭、輔大、
圓山、芝山、石牌、奇岩、忠義、關渡、淡水共22個站。
3: 下班尖峰,包含善導寺、昆陽、中山國中、西湖、港墘、南港軟體園區、
小南門、北門、南京復興、台北小巨蛋、南京三民、松江南京、行天宮、
中山國小、民權西路、先嗇宮、象山、台北101/世貿、信義安和、大安、
台大醫院等21個站點。
若將分類結果呈現於地圖上,
可以發現進站人潮出現在平日上下班和假日(進站上下班+假日,分類0)
的站點全部位於台北市且主要集中在台北市中心區,
包含板南線西門站往市政府站的大部分站點;
松山新店線從公館站到中山站大部分站點;
淡水信義線在本類站點包含大安、東門、劍潭、士林及新北投;
文湖線有劍南路及松山機場2站。
https://imgur.com/WjcA4sn
進站人潮出現在下班時刻(進站下班尖峰,分類3)的站點,如下圖右所示,
主要出現在台北市區內、板南線以外的大部分站點,
以及文湖線的港乾、溪湖及南港軟體園區3站;
中和蘆洲線的先嗇宮站是本類別唯一出現在新北市的站點。
進站人潮出現在上班時刻(進站上班尖峰,分類1)的站點,如下圖中所示,
主要分布在離市中心較遠的地區,淡水信義線出現在明德站以北;
中和蘆洲線出現在台北橋站以西、頂溪站以南;
板南線出現在江子翠以西;
文湖線出現在麟光站以南以及文德站到東湖站等5站之間。
https://imgur.com/kiRInKR
https://imgur.com/v3ZMfvq
https://imgur.com/kLjtWET
屬於上下班時段皆出現人潮的站點傾向於出現在前2類(上班尖峰及下班尖峰)
的交界區域,如上圖左所示,大橋頭、龍山寺、科技大樓及六張犁屬於此類;
或是出現於終點站,如淡水、松山、動物園;
或是其他類型,
如輔大站、板橋站、圓山站、大直站以及芝山站以北的5站,整體上來看較無明顯的脈絡。
出站
出站的部分,如下圖所示,
分類1(右上)和分類2(左下)為相對的兩種類型,
一個尖峰時間出現在下班時刻(分類1),
一個在上班時刻,比較不一樣的是在假日的部分,
高峰出現在下班時刻的分類1在假日的下午仍有一段高峰出現(約0.5),
而高峰出現在上班時刻的分類2在假日只有在中午有稍微熱絡一些(約0.3)。
分類0(左上)和分類3(右下)在平日的上下班皆出現高峰,
分類0最大值在下班時刻,上班時刻約為0.6、假日最高約0.5~0.6;
分類3在平日的高峰更平均的分配在上下班時間,
假日的部分最高超過0.6,比分類0更為熱絡。
https://imgur.com/sD1wTvU
出站類型結果如下:
0:上下班尖峰, 包含頂埔、永寧、板橋、龍山寺、永春、後山埤、南港、木柵、
六張犁、大直、文德、新店、七張、大坪林、景美、台電大樓、松山、大橋頭、
三重、頭前莊、輔大、劍潭、芝山、明德、石牌、唭哩岸、北投、復興崗、
紅樹林及淡水等30個點。
1: 下班尖峰,包含土城、海山、亞東醫院、府中、新埔、江子翠、萬芳社區、
萬芳醫院、辛亥、麟光、內湖、大湖公園、葫洲、東湖、新店區公所、小碧潭、
萬隆、南勢角、景安、永安市場、頂溪、台北橋、菜寮、新莊、丹鳳、迴龍、
三重國小、三和國中、徐匯中學、三民高中、蘆洲及竹圍等32個站。
2: 上班尖峰 ,包含善導寺、國父紀念館、市政府、昆陽、南港展覽館、
科技大樓、中山國中、西湖、港墘、南港軟體園區、中正紀念堂、小南門、
北門、南京復興、台北小巨蛋、南京三民、松江南京、行天宮、中山國小、
民權西路、先嗇宮、象山、台北101/世貿、信義安和、大安、台大醫院、
雙連、奇岩、忠義及關渡共30個站點。
3: 上下班尖峰+假日 ,包含西門、台北車站、忠孝新生、忠孝復興、
忠孝敦化、動物園、松山機場、劍南路、公館、中山、古亭、東門、
大安森林公園、圓山、士林、新北投等16個站。
https://imgur.com/ufDzRvd
https://imgur.com/vHBj96q
https://imgur.com/2KPAGcY
https://imgur.com/dZ6Ld7l
若將分類結果呈現於地圖上,
可以發現出站人潮出現在平日上下班和假日(出站上下班+假日,分類3)
的站點全部位於台北市。
主要出現在市中心區域,市區北側的站點有圓山、士林、及新北投3站;
文湖線有松山機場及劍南路2站;市區南側有公館站及動物園2站。
https://imgur.com/C0TTDkj
出站人潮出現在下班時刻(出站下班尖峰,分類1)的站點,如下圖右所示,
主要出現在新北市,中和蘆洲線出現在台北橋站以西、頂溪站以南;
板南線出現在江子翠站以南;松山新店線在萬隆站以南;
文湖線出現在麟光站以南以及內湖到東湖之間的4站。
出站人潮出現在上班時刻(出站下班尖峰,分類2)的站點,如下圖中所示,
主要集中出現在台北市區,北側有關渡、忠義及奇岩3站;
文湖線有港乾、西湖、南港軟體園區及南港展覽館4站。
先嗇宮站為本類唯一位在新北市的站點。
https://imgur.com/FTzPuvh
https://imgur.com/Tcj6Cn6
https://imgur.com/Oj6DAPz
上下班時段皆出現出站人潮的站點(上班尖峰及下班尖峰,分類0)位置如上圖左所示,
如同進站的上下班尖峰,傾向於分布在市中心以外的地區,
此外單從捷運資料來看並無明顯脈絡可循。
彙整
最後將4種進站分類和4種出站分類兩兩結合後,產生的9種組合,
再依人流出現時間分成居住、工作以及假日休閒3個面向,結果如下表:
https://imgur.com/UZRJxsu
將各分類站點呈現於地圖上:
https://imgur.com/vMVaH1Z
https://imgur.com/TtlqPQx
https://imgur.com/DDB7gFW
https://imgur.com/huHFPvP
#將石牌站修正為明德站(感謝Tudo11927指正)
https://imgur.com/gHHKhrC
https://imgur.com/1RbnZFa
https://imgur.com/NbLHNy6
https://imgur.com/RdhWIjz
https://imgur.com/djq1LF0
關於"D類變形"
由"上下班尖峰"以及"上下班尖峰+假日"組合成的G類及H類的車站共有4站,
分別為動物園、圓山、劍潭及台電大樓。
先來看H類的台電大樓及劍潭2站,
下面將人流變化以熱圖及折線圖2種方式來呈現(下圖左、中),
並和D類的西門站(下圖右)做比較:
https://imgur.com/5zjHh9V
https://imgur.com/oNhcvW7
https://imgur.com/z0QRDfA
可以發現2站在假日的進出人流皆高於該分類平均水準,
劍潭站甚至為最大值。若將該2站與屬於D類的站點做比較,
可以發現其人流變化其實是相似的,熱門時段同樣出現在上下班時間,
且假日也有一定的人流。
再來看G類的動物園及圓山:
https://imgur.com/A1PQ22V
https://imgur.com/wz7Ypoc
可以發現圓山站的模式與D類站點也是類似的;但是動物園卻整個長歪。
小結
本篇將各捷運站點的分時人流資料切成進、出站2類,
並透過K-means Clustering將這2類資料各分成4個分類,
最後再將各站點的進、出站分類兩兩組合後,共產生9種分類,
而這9種分類可以進一步歸納為工作、居住以及假日休閒3種面相。
不過在觀察各分類站點的人流變化後發現,
G類及H類站點中的台電大樓、劍潭以及圓山,其人流變化與D類其實是相似的,
故將其歸納為D類的變形;而動物園則是在台北捷運108站中,
真正與眾不同(歪掉)的類型。
9種分類分布圖:
https://imgur.com/xI6rShR