역세권 데이터 기반 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개의 독립 변수를 전부 사용한 경우 모델:
    • = 0.89, Adjusted R² = 0.74
  • 변수 정리 후 16개의 독립 변수를 사용한 경우 모델:
    • = 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을 활용한 서비스로 가치를 창출하고 유저 데이터 분석에 관심이 있습니다.