1. 문제 정의 

1.1 프로젝트 배경

2학기부터 모든 수업이 대면으로 전환되면서 원치 않게 통학을 시작하게 되었습니다. 오랜 시간 기숙사 생활을 하다 코로나 기간에 맞추어 자취를 시작하게 된터라 먼거리를 통학하는 것이 아직 익숙하지는 않은 편입니다. 그간 친구를 통해서만 전해 듣던 통학의 매운 맛을 직접 맛보게 되니 전국의 모든 통학러들과 직장인들이 새삼 대단하다 느껴졌습니다.

통학을 시작한지 2달이 되어가고 있는 시점에서 이제는 그만 하고 싶은 마음이 밀려오고 있습니다. 매일 아침 만원인 지하철 안에서 1시간을 보내다 보면 종종 현타가 오고 하루가 금방 피로해지곤 합니다. 사실 통학 자체가 어렵고 힘든 것은 아닙니다. 이동하는 시간과 거리 보다는 이동할 때의 상황이 문제라고 보입니다. 널널하게 앉아서 가게 되면 그리 힘들다고 느껴지지 않는데 같은 거리를 사람들 사이에 끼어 타게 되면 체감되는 시간도 길어지고 피로도도 급격히 증가합니다.

통학을 아예 안 하는 것은 현실적으로 불가능합니다. 학교를 다녀야 하는 입장에서 통학은 불가피한 상황이고 다만 가능한 편하게 통학할 수 있는 방법을 고려해볼 수는 있을 것입니다. 지하철을 이용해 통학을 하기 때문에 지하철이 혼잡하지 않은 시간대에 맞추어 이동하면 될 것 같다는 생각이 들었고 이러한 이유로 다음과 같은 프로젝트 아닌 프로젝트를 진행하게 되었습니다. 

1.2 문제 정의

문제를 정의하기 전 다음과 같은 질문을 해볼 수 있습니다. 가능한 혼잡하지 않은 시간대에 지하철을 이용할 수 있을까? 이 질문에 대해 상식적인 선에서 우리는 출퇴근 시간을 피하라는 답변을 할 수 있을 것입니다. 누구나 예상할 수 있는 해결책입니다. 하지만 이는 우리의 경험에서 비롯된 직관적인 답변에 불과합니다. 사실일 가능성이 매우 높지만 정확한 검증이 필요합니다.

그리고 단순히 피해야 하는 시간대를 알아내는 것에 그치는 것이 아닌 가장 혼잡하지 않은 시간대까지 알아내는 것이 필요합니다. 또한, 우리는 이동 가능한 시간대에 제약이 있습니다. 가령, 그 제약에는 이동이 불가능한 수업 시간대가 있을 것입니다. 따라서, 최적의 통학 시간대를 파악하여 스케줄을 관리하는 것이 목표가 되며 이를 위해 해결해야 하는 문제는 지하철이 가장 여유로운 시간대가 언제인지 파악하는 것입니다. 이때, '최적의 통학 시간대'에서의 '최적'의 의미는 제약조건 하에서 혼잡도가 최저인 경우라고 정의할 수 있을 것입니다.

- 목표 : 가장 최적화된 지하철 통학 스케줄 관리

- 문제 : 지하철이 가장 여유로운 시간대 파악 (혼잡도가 최저인 경우)

- 분석 지표 : 혼잡도

1.3 제약 조건 확인

시간 제약 조건 : 현재 수업이 있는 화, 수, 목을 포함해 주 4일~5일 학교로 통학하고 있습니다. 주말에는 수업이 없지만 종종 스터디를 위해 학교에 가고 있습니다. 화요일은 오후 4시 ~ 6시, 수요일은 오후 3시 ~ 6시, 목요일은 오전 9시 ~ 오후 6시 수업이 있으며 나머지 요일은 자율적으로 시간 활용이 가능합니다.

경로 제약 조건 : 학교에 가기 위해서는 2가지 방법(지하철만 이용 시)이 있습니다. 방법 1은 이대역에서 시청역까지 2호선, 시청역에서 회기역까지 1호선을 이용하는 것입니다. 방법 2는 이대역에서 왕십리역까지 1호선, 왕십리역에서 회기역까지 경의중앙선을 이용하는 것입니다. 둘 다 네이버 지도 기준 소요되는 시간은 약 55분으로 동일합니다. 그래서 두 가지 경우의 수를 고려할 수 있지만 이번 분석에서는 방법1의 경우만 고려하겠습니다. 왜냐하면 경의중앙선은 배차간격이 길고 불규칙하다는 변수가 있기 때문에 최적의 통학 스케줄에는 적절하지 않기 때문입니다. 

1.4 데이터 수집

문제에 적합한 데이터를 수집하는 것은 데이터 분석에 있어 매우 중요한 과정입니다. ('적합하다'는 것은 여러 의미가 있을 것입니다. 이에 대해서는 나중에 시간 내어 다루어 보도록 하겠습니다.) 수집된 데이터에 따라 엉뚱한 결과가 나오기도 하고 결과가 달라질 수도 있기 때문입니다. 원하는 정보를 얻기 위해서는 문제를 표현할 수 있는 내용을 담은 데이터가 필요하며 이 과정에서 수 개의 데이터를 수집하여 이를 통합하는 과정이 요구되기도 합니다.

하지만 정말 운이 좋게도 이번 분석에 필요한 데이터를 단번에 구할 수 있었습니다. 서울교통공사에서 제공하는 '지하철 혼잡도 정보'인데 정확히 제가 원하는 분석 지표를 포함한 데이터입니다. 만약 이 데이터가 없었더라면 '시간대별 지하철 이용객' 이나 '호선별 지하철 수용량' 등의 데이터를 구해 분석 지표를 집계하여 새로운 데이터를 만들어야 했을 것입니다. 물론, 수집해야 할 데이터 수가 많아짐에 따라 필요한 데이터를 구하지 못하는 경우도 발생했을 것입니다. 여하튼, 필요한 데이터를 수집했으니 데이터에 대한 설명을 확인해보겠습니다.

데이터 설명 : 서울교통공사 1-8호선 30분 단위 평균 혼잡도로 30분간 지나는 열차들의 평균 혼잡도(정원대비 승차인원으로, 승차인과 좌석수가 일치할 경우를 혼잡도 34%로 산정) 입니다.(단위: %). 서울교통공사 혼잡도 데이터는 조사일자(평일, 토요일, 일요일), 호선, 역번호, 역명, 상하선구분, 30분단위 별 혼잡도 데이터로 구성되어 있습니다. (2년 단위 업데이트 자료 입니다.)

혼잡도 추가 설명 : 지하철 1칸의 정원은 160명으로 이를 기준 삼아 혼잡도(%)를 산정하게 됩니다. 즉, 지하철 1칸에 160명이 차게 되면 혼잡도 100%입니다. 한편, 지하철 1칸에는 7인용 좌석 6개, 노약자석 3인용 4개가 있어 총 54개의 좌석이 있습니다. 따라서, 모든 좌석에 한 사람씩 앉아 54명이 찼을 경우 34%의 혼잡도가 나오게 됩니다.

+ Recent posts