Last Comment 1. Boosted Trees, SVM 모델에대한이해 2. 다른역들과차별되는패턴을지닌역의유무 3. Flow 에서 Data 가부족하다면어썸션을통해구할수있는지
1-1) What is Boosted Trees? Boosted Trees 학습법은몇몇입력변수를바탕으로목표변수의값을예측하는모델을생성하는것을목표로한다. 좌측그림은그러한예측모델의한예로타이타닉호탑승객의생존여부를나타내는결정트리이다. 각내부노드들은하나의입력변수 자녀노드들로이어지는가지들은입력변수의가능한값에대응 잎노드는각입력변수들이루트노드로부터잎노드로이어지는경로에해당되는값들을가질때의목표변수값에해당 잎아래의숫자는각각생존확률과탑승객이그잎에해당될확률
1-1) What is Boosted Trees? 좌측그림은날씨, 지하철데이터를입력했을때의 Boosted Tree 의예시이다. Total 은사람수그룹을 5 명단위로끊었을때클래스를의미한다.(ex. Total 3 =1~15) 잎의점수합이최소가되는모델을찾는다. Model : K 개의 Tree 를갖는다고가정할때다음과같은식을갖는다. f_k 는각각의잎에서의점수를의미한다. 잎의점수는발생확률이적을수록높다. 따라서 y_i 가가장적은값을갖도록하는모델을찾는다. Regression tree Ensemble 을기초로한모델을만든다. ( 다른줄기의같은잎의점수합을구한다.)
1-1) What is Boosted Trees? Objective : l : Training loss, Omega : Tree 의 Complexity 부터 Additive Training 을통해최적화된 Objective 를구해서 f_k 값을찾는다. Square loss 를고려하면다음을구할수있다.
1-1) What is Boosted Trees? 잎의 f 를 weight 에 mapping 하고 w 를 weight, q 를잎의구조라고하면다음과같은식을구할수있다. 잎안에들어가는 Target 의집합을 I 라고정의하고, 라하자. 이때, 앞에서구한 Objective 식에대입하고정리해보면 Gain 을구할수있다. 이식을통해최적화된줄기를찾게된다. Training loss 와 regularization 사이에 trade off 가발생한다.
1-1) What is Boosted Trees? 2 호선승차인원의 Boosted Trees 2 호선하차인원의 Boosted Trees
1-2) What is SVM? SVM 구현과정 1) 주어진학습용데이터를다음과같이정의한다. 2) 데이터집합을분리하는것을초평면이라하며 을만족하는점 X 의집합으로표현한다. 3) Support Vector(X+,X-) 를정의한다. 4) 초평면의마진을최대로하는모델을찾는다.
1-2) What is SVM? H3 은두클래스의점들을제대로분류하고있지않고있는모델이다. H1 과 H2 는두클래스의점들을제대로분류하는데, H2 가 H1 보다더큰마진을갖고분류하는것을확인할수있다. H2 가최적화된모델임을알수있다.
1-3) Why Boosted Trees? Boosted Trees method 는다른데이터마이닝기법과비교했을때다음과같은장점을가진다. 결과를해석하고이해하기쉽다. 자료를가공할필요가거의없다. 수치자료와범주자료모두에적용할수있다. 안정적이다. 대규모의데이터셋에서도잘동작한다.
2) 차별되는패턴을지닌역 다른역들과차별되는패턴을지닌역선택 강남역 - 가장이용객이많음 사당역 - 시외버스 ( 수도권 ) 가많이들어오고, 2/4 호선환승역 종합운동장역 야구장이있음 고속터미널역 - 시외버스 ( 전국 ) 가많음 명동역 - 관광객이많음 기간선택 1 월과 7 월이다른기간에비해특이패턴을뚜렷하게보였다.
사람수 2-1) 전체역평균 학생들이학교에다니는시기 (3~6 월, 9~12 월 ) 이다른시기보다이용자수가많다. 직장인들의출, 퇴근과학생들의등, 하교에이용자수가많다. 대별 4 3 2 1 5 1 15 2 25
사람수 사람수 2-2) 강남역 15 1 5 2 호선강남역 1 월승 / 하차인원 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 모든지하철역중가장이용객이많다. 다른역들에비해출근에하차인원이승차인원보다많다. 15 2 호선강남역 7 월승 / 하차인원 1 5 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차
사람수 사람수 사람수 사람수 2-2) 강남역모델결과비교 2 호선강남역 1 월승 / 하차인원 Model 강남역 1 월승 / 하차인원 15 15 1 1 5 5 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 승차 하차 15 2 호선강남역 7 월승 / 하차인원 15 Model 강남역 7 월승 / 하차인원 1 1 5 5 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 승차 하차
사람수 사람수 2-3) 사당역 4 2 4 호선사당역 1 월승 / 하차인원 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 시외버스 ( 수도권 ) 가많이들어오고, 2/4 호선환승역이다. 다른역들에비해출근에승차인원이승차인원보다많다. 4 4 호선사당역 7 월승 / 하차인원 2 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차
사람수 사람수 사람수 사람수 2-3) 사당역모델결과비교 4 호선사당역 1 월승 / 하차인원 Model 사당역 1 월승 / 하차인원 4 4 2 2 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 승차 하차 4 호선사당역 7 월승 / 하차인원 Model 사당역 7 월승 / 하차인원 4 4 2 2 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 승차 하차
사람수 사람수 2-4) 종합운동장역 15 1 5 3 2 호선종합운동장역 1 월승 / 하차인원 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 2 호선종합운동장역 7 월승 / 하차인원 역근처에야구장이있다. 야구경기가있는시기에승, 하차인원이 2 배가까이증가한다. 야구경기시작에는하차인원이, 경기종료에는승차인원이많다. 2 1 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차
사람수 사람수 사람수 사람수 2-4) 종합운동장역모델결과비교 2 호선종합운동장역 1 월승 / 하차인원 Model 종합운동장역 1 월승 / 하차인원 15 15 1 1 5 5 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 승차 하차 2 호선종합운동장역 7 월승 / 하차인원 Model 종합운동장역 7 월승 / 하차인원 3 3 2 2 1 1 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 승차 하차
사람수 사람수 2-5) 고속터미널역 6 4 2 3 호선고속터미널역 1 월승 / 하차인원 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 시외버스 ( 전국 ) 가많다. 대부분의역이출, 퇴근에승차인원이많은반면, 저녁 (18 시 ) 까지승객이계속증가한다. 3 호선고속터미널역 7 월승 / 하차인원 6 4 2 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차
사람수 사람수 사람수 사람수 2-5) 고속터미널역모델결과비교 3 호선고속터미널역 1 월승 / 하차인원 Model 고속터미널역 1 월승 / 하차인원 6 6 4 4 2 2 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 승차 하차 3 호선고속터미널역 7 월승 / 하차인원 Model 고속터미널역 7 월승 / 하차인원 6 6 4 4 2 2 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 승차 하차
사람수 사람수 2-6) 명동역 6 4 2 4 호선명동역 1 월승 / 하차인원 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 관광객이많다. 출, 퇴근외에오후에도승, 하차인원이많다. 승차 하차 4 호선명동역 7 월승 / 하차인원 6 4 2 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차
사람수 사람수 사람수 사람수 2-6) 명동역모델결과비교 4 호선명동역 1 월승 / 하차인원 Model 명동역 1 월승 / 하차인원 6 6 4 4 2 2 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 승차 하차 4 호선명동역 7 월승 / 하차인원 Model 명동역 7 월승 / 하차인원 6 6 4 4 2 2 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 2 21 22 23 승차 하차 승차 하차
3-1) 가설설정 1~4 호선데이터의경우당역별승, 하차인원을제공하고있음 지하철이표대로운행될때, 환승인원을고려하지않고승, 하차인원을대입해서계산하면지하철한량에타고있는승객수를예측가능 1~4 호선은 1 량편성이고, 승객이균일하게탑승한다고가정 승객이승차한역에서하차하지않는다고가정
3-2) 가설의문제점 1~4 호선데이터의경우당역별승, 하차인원을제공하고있음 지하철이표대로운행될때, 환승인원을고려하지않고승, 하차인원을대입해서계산하면지하철한량에타고있는승객수를예측가능 환승인원이많은역의경우하루평균 33 명정도환승하기에고려하지않을수없음 1~4 호선은 1 량편성이고, 승객이균일하게탑승한다고가정 대부분의열차에탑승한승객은양끝에상대적으로적은수의승객이탑승하고, 빠른환승과약냉방칸을고려하면지하철량별로큰차이를보임 5~8 호선데이터의경우당역별승, 하차인원의합을제공하고있음 승, 하차인원의차이가크기때문에유의미한결과를얻기힘듦
스마트빅데이터분석 : 서울시지하철승객예측 26-11862 정준 212-11413 장영균
Motivation 오늘비가많이오는데지하철타지말고버스나택시탈까?
Motivation (2) 일기예보처럼대중교통정보에대한예보는없을까?
왜날씨와지하철인가 날씨 : 매일영향을받는것 비가오니차가막히겠다 주말에가족과놀러나가려고했는데너무덥고습해서집에있었다 우천예보로오늘행사가취소되었습니다
왜날씨와지하철인가 대중교통이용률에영향을주는것 스포츠, 공연등의이벤트 노선의변동혹은신설 도로교통량 날씨
프로젝트의목적 Machine Learning: 날씨와지하철의승객수와의관계모델학습 어떤요소가승객수에영향을미치는가 기상요소 : 기온, 습도, 체감온도, 강수량등 기상외의요소 : 요일, 대 Application: 날씨를기반으로현재또는앞으로의승객수를예측하여사용자에게제공 iphone application 의형태
관련연구 (1) 강우와서울시대중교통승차인원과의분석 ( 이광섭외, 214 한국철도학회춘계학술대회논문집 ) 강우량과대중교통승차인원간의상관관계를분석 날씨정보 기상청승차인원 스마트카드데이터 ( 서울시공개 ) 이용 강수일에따라연령별, 노선별, 요일별, 지역별이용감소율분석 강우일에이용량평균 1% 감소
관련연구 (2) 기상조건이대중교통수요에미치는영향에관한연구 ( 최상기외, Journal of the Korean Society of Civil Engineers, 213) 기상조건에따른대중교통수요를통계적으로분석 당강수량, 강설량, 불쾌지수, 체감온도의 4 가지기상조건 기상청버스수요 서울시교통정보센터지하철수요 서울메트로, 서울도시철도공사 버스가지하철보다영향을크게받음, 주말이평일보다영향을크게받음강우와체감온도에서상관관계발견
관련연구 (3) Bus arrival time prediction at bus stop with multiple routes (B Yu 외, Transportation Research Part C: Emerging, 211) Bus arrival time 을 SVM, artificial neural network (ANN), k nearest neighbours algorithm (k-nn), linear regression (LR) 을이용해서예측했다. 이연구를통해 SVM 이 vehicle 의 travel time 을예측하는데효용성이높음을밝혔다.
관련연구 (4) Development of a real-time bus arrival prediction system for Indian traffic conditions (R.P.S. Padmanaban 외, IET Intelligent Transport Systems, 21) accuracy of Bus Traveler Information Systems (BTIS) 은 input data, speed of data transfer, data quality control and performance of the prediction schem 에의해정확도가결정된다. 이에 heterogeneous traffic condition 에따른 bus travel time delay 가얼마나발생하는지 ANN 과 SVM 을이용해서분석하였다.
데이터정보 지하철, 날씨데이터출처 : 서울열린데이터광장 (213) http://data.seoul.go.kr/ 1~4 호선역별, 대별, 일승하차인원 Data size : 13,54kb / Cardinality : 86876 5~8 호선역별, 대별, 일승하차인원 Data size: 64,49kb / Cardinality : 13388 날씨데이터 Data size: 1,934kb / Cardinality : 972
지하철 Data 1~4 호선 Data 5~8 호선 Data 날짜월요일호선역명구분 ~1 1~2 2~3 3~4 4~5 5~6 6~7 7~8 CHK_DAT E MONTH DAY_WK LINE_NM STN_NM SH_GBN FROMT O1 213-1- 1 1 공 1호선 ::. 213-1- 2 1 수 1호선 ::. 213-1- 3 1 목 1호선 ::. 213-1- 4 1 금 1호선 ::. 동대문 (155) 동대문 (155) 동대문 (155) 동대문 (155) FROM1T FROM2T FROM3T FROM4T FROM5T FROM6T FROM7T O2 O3 O4 O5 O6 O7 O8 승차 3 13 117 14 166 승차 26 7 167 253 566 하차 146 1 64 223 42 하차 28 52 267 431 역코드역명일자승차합계승차 5 시승차 6 시승차 7 시승차 8 시승차 9 시 STATION STAT_NA ME 2511 방화 2512 개화산 INCOME_ DATE 213-12- 31 ::. 213-12- 31 ::. 213-12- 2513 김포공항 (5) 31 ::. 2514 송정 2515 마곡 213-12- 31 ::. 213-12- 31 ::. ON_TOT ON_5 ON_6 ON_7 ON_8 ON_9 8626 165 431 128 164 556 7133 143 286 966 855 364 123 26 64 213 221 194 12627 156 368 1237 1512 712 1223 13 39 185 158 49
날씨 Data 관측분야 지상 지점번호지점일시기온 ( ) 강수량 (mm) 풍향 (deg 풍속 (m/s 습도 (%) ) ) 전운량 (1/1) 일사 (MJ/ m²) 일조 (hr) 조회기간 임의기간 ( 시별 ): 213-1-1 시 ~ 213-1-31 23 시 관측지점서울 (18) 18 서울 213-1- 1-8.3 5. 3.6 56 3 출력기후요소 기온, 강수량, 풍속, 습도, 일사, 일조, 운량, 적설, 신적설, 풍향 18 서울 213-1- 1 1-8.5 5. 4 57
Flow 의계산 알고자하는것 : 각지하철구간을이용하는승객의수 서울시에서수집가능한데이터 교통카드별승하차정보 ( 승차위치및, 하차위치및 ) 계산해내야할정보 각역에서지하철에승하차하는승객의수 역별지하철표및승하차인원수로부터계산할수있다. 환승역에서갈아타는승객의 ( 환승방향별 ) 수 각승객의경로를예상하여계산할수있다.
Flow 의계산 예시 서울대입구역출발, 시계방향운행하는 2 호선열차이용객수 최초의승객은 앞의열차와의간격동안쌓인승차승객의수가추가됨 각역마다하차인원및승차인원계산가능 -> 각구간별승객수계산가능
Flow 의계산 예시 : 문제점 서울대입구역출발, 시계방향운행하는 2 호선열차이용객수 최초의승객은 앞의열차와의간격동안쌓인승차승객의수가추가됨 각역마다하차인원및승차인원계산가능 -> 각구간별승객수계산가능 승, 하차인원이내선순환방향, 외선순환방향중어느것을탈지알수없다. 환승역의경우해다역의승하차인원과는무관하게환승인원에해당하는승차인원과하차인원이발생한다.
Flow 의계산 예시 : 문제점 역 1 승차 1 하차 1 역 2 승차 1 하차 1 역 3 승차 1 하차 1 역 4 승차 1 하차 1
Flow 의계산 예시 : 문제점 역 1 승차 1 하차 1 역 2 승차 1 하차 1 역 3 승차 1 하차 1 역 4 승차 1 하차 1
Flow 의계산 예시 : 문제점 역 1-1 승차 1 하차 1 역 1-2 승차 1 하차 1 역 2-4 승차 1 하차 1 역 2-5 승차 1 하차 1 환승역승차 1 하차 1 역 2-1 승차 1 하차 1 역 2-2 승차 1 하차 1 역 1-4 승차 1 하차 1 역 1-5 승차 1 하차 1
Flow 의계산 - 한계점 알고자하는것 : 각지하철구간을이용하는승객의수 서울시에서수집가능한데이터 <- Flow 계산에필요한정보 교통카드별승하차정보 ( 승차위치및, 하차위치및 ) 계산해내야할정보 각역에서지하철에승하차하는승객의수 역별지하철표및승하차인원수로부터계산할수있다. 환승역에서갈아타는승객의 ( 환승방향별 ) 수 각승객의경로를예상하여계산할수있다. 현재공개되어있는데이터 각역별, 대별개찰구통과인원총합 -> 이동방향별인원을계산할수없다.
Machine Learning Data 학습 - 지하철승객수 ( 구간 ) - 평일 / 주말여부, 대 - 기온, 습도, 체감온도, 풍속, 강수량등 1. Multiclass SVM 2. Boosted Trees
Machine Learning Data Input - 평일 / 주말여부, 대 - 기온, 습도, 체감온도, 풍속, 강수량등 Output - 지하철승객수 ( 구간 ) 1. Multiclass SVM 2. Boosted Trees
Application Flow User App Client Server KMA Server ( 기상청 ) App Start Select UI Request Forecasts (Open API) Response Weather Data Button Action Send Weather Data Calculate Show Data Res. Subway Data
Calculate GraphLab Boosted Trees Server - Machine Learning 수행 - 학습된모델이용예측수행 날씨예보정보전송 호선별지하철이용객예측정보 Client App Model 학습 현재날씨, 단기예보정보요청 성분별날씨정보 DB with Big Data - 1 년간의대별, 호선별지하철이용객수 - 1 년간의날씨정보 KMA Server - 기상청 Open API
SW 구현 (1) 홈화면 - 앱실행시나오는화면 - 기상청에서날씨정보를받아표시 - 하단의두버튼을통해다음화면으로넘어감
SW 구현 (2) - 실황 - 메인화면에서 [ 현재지하철 ] 버튼클릭시나오는화면 - 서버에날씨정보를보내계산된예상승객수를표시 - 예상승객수가평균해당요일과대비어느수준인지표시 - 하단의버튼을통해 1~8 호선정보선택가능 - 중간의버튼을통해비교대상선택가능 -(1) 해당월평일 / 주말승객수대비 -(2) 해당월의평균승객수대비 -(3) 해당주간의평균승객수대비
SW 구현 (3) - 내일 - 메인화면에서 [ 내일지하철 ] 버튼클릭시나오는화면 - 기상청에서제공하는다음날의날씨 (3 단위 ) 를제공 - 해당날씨및대마다호선별예상승객수를평균과대비하여표시 - 상단버튼을통해 1~8 호선선택가능
성능측정 (1) 인구수 label 변화시킬때
Percentage 성능측정 (2) 인구수 label 16 일때 호선별정확도 1.% 9.% 91.2% 85.8% 95.2% 8.% 7.% 74.7% 73.8% 73.4% 69.8% 6.% 5.% 51.4% 4.% 3.% 2.% 1.%.% 1 호선 2 호선 3 호선 4 호선 5 호선 6 호선 7 호선 8 호선 Line number
Originality 기존의지하철 application 에서제공하는단순한지하철승하차정보외에지하철을이용하고있는승객의수를알려줌으로서이용자가더편리하게지하철을이용할수있도록돕는다. 지하철을이용하는사용자가지하철정보와내일의날씨정보까지한꺼번에알수있는장점이있다.
한계 정확도의문제 연휴 / 징검다리연휴 / 이벤트등큰영향을주는일시적사건들의고려 부분적노선이아닌호선별분석의효용성