역세권 데이터 기반 7호선 급행열차 최적 정차역 선정 시스템 개발

Sep 20, 2024 · 3 min read
projects

문제 정의

  • 먼저 좋은 급행 정차역이 무엇인지 정의함. 편익 기준

사람이 많이 이용하고, 주변에 중요한 시설이 많은 역일수록 급행이 서야 하지 않을까?

데이터 수집

  • Q. 1000m 반경으로 최종 결정한 근거가 뭔지?
    • 그 당시에는 200m나 500m 기반으로 했을때는, 값이 거의 0이 많이 나왔음. 그래서 수집이 의미없다고 판단해서 반경을 그냥 늘린거였음. 많은 고민 안하고… (이 부분 어떻게 답변 전략 생각해야 할 지 고민 필요)

전처리 및 EDA

  • 데이터 단위 맞추기 위한 Standard Scaling
    • ex. 경찰서 수 = 3, 병원 수 = 15, 인구 = 50000 처럼 변수마다 숫자의 크기가 완전히 다름. 그대로 모델에 넣으면 인구처럼 숫자가 큰 변수가 지나치게 큰 영향을 줄 수 있어서, Standard Scaling 표준화를 진행함.
    • 즉, 각 변수의 평균을 0 근처로 만들고, 서로 비슷한 크기의 척도로 변경

다중공선성 해결

  • 처음 독립 변수는 24개.

아파트 수가 많은 지역 - 총 인구도 많을 가능성이 높음 - 주택 수도 많음 - 편의점이나 음식점 수도 많을 수 있음

  • VIF (Variation Inflation Factor) 계산
    • 총 인구: 138, 주택/단독 주택/아파트/연립주택/다세대 주택: inf
  • 비슷한 변수들을 PCA 압축
    • 음식점/카페/편의점 - 상업 시설로 압축
  • 상관계수가 지나치게 높은 변수 제거
    • 0.7 이상인 변수 제거

회귀분석을 통해 실제 승하차 인원과 관계있는 변수 찾기

  • 처음 24개의 독립 변수를 전부 사용한 경우 모델:
    • R² = 0.89, Adjusted R² = 0.74
  • 변수 정리 후 16개의 독립 변수를 사용한 경우 모델:
    • R² = 0.80, Adjusted R² = 0.70
불필요하고 겹치는 변수를 많이 제거하면서도 대부분의 설명력을 유지함.

회귀분석 결과, p-value 이용해 의미 있는 변수 선정

  • p-value < 0.05 이하인 유의미한 변수 선정
  • 최종, 에스컬레이터, 경찰서, 도서관, 은행, 병원, 상업시설(PCA) 선정

어떤 특성을 가진 역이 중요한지는 어느 정도 알았다.. 하지만 모든 역을 그냥 중요도 순으로 1, 2, 3등으로 줄 세우면 문제가 있음. 예를 들어, 강남권의 대형 상업역, 중간 규모 생활권 역, 비교적 작은 지역 역은 역할 자체가 서로 다름. 그래서 비슷한 특징을 가진 역끼리 그룹을 만들어보자.

계층적 클러스터링 진행

  • 선택 이유 : 표본 수가 약 200개 이하인 데이터에 적합하고, 미리 클러스터 개수를 정확하게 지정하지 않아도 분석할 수 있다는 점.
  • 앞에서 선정한 역새권 특성들이 비슷한 역끼리 군집화됨.
    • 군집 1. 상대적으로 중요한 역.
    • 군집 2. 중간 정도 역.
    • 군집 3. 상대적으로 중요도가 낮은 역.

각 군집에 가중치를 줌

중요한 군집에 속한 역은 최대한 정차시키고, 덜 중요한 군집은 상대적으로 덜 정차시키자.

이 가중치는 어느 기준으로 어떻게 이 값이 나온거지?
  • 군집 별 가중치:
    • 군집 1. 0.649.
    • 군집 2. 0.232.
    • 군집 3. 0.119.

급행 정차역 선정을 최적화 문제로 바꿈

가중치 높은 역을 다 세우자! 라고 하면 급행 열차가 아님. 하지만 모든 역에 서면 일반 열차와 똑같음. 따라서 아래와 같은 제약 조건을 넣어줌.

일반 열차의 운행 시간은 약 84.5분(5070초)이고, 급행은 이를 약 35% 단축한 53분(3180초) 수준으로 설정.

운행 시간은 53분을 넘지 않음녀서, 최대한 중요한 역에 많이 정차하라.

슬라이딩 윈도우 기반 최적화 알고리즘

  • 각 역의 정차 여부를 0/1로 정의함.
    • 1: 급행 열차 정차
    • 0: 통과
  • 운행시간 53분 이내라는 제약조건 설정
  • 각 후보 조합에 대해 역 중요도 가중치 X 승하차 인원을 기준으로 점수 계산
  • 시간 제약을 만족하는 조합 중 목적함수 값이 가장 높은 정차역 조합을 선택함.

최종 결과

  • 급행 정차역: 17개 역
  • 기존 일반 열차: 5070초 (약 84.5분)
  • 급행 열차: 3180초 (약 53분)
  • 운행 시간 약 37% 감소
운행 시간 제약을 만족하면서 주요 수요역을 최대한 포함하도록 최적 정차역을 선정함.
In Hyuk
Authors
Data Analyst
데이터와 AI를 통해 가치를 만드는 것을 좋아합니다.
LLM을 활용한 서비스로 가치를 창출하고 유저 데이터 분석에 관심이 있습니다.