[개인] 지하철 승하차수 예측 대시보드 - 개요
프로젝트 개요
1. 프로젝트 주제
서울시 지하철 역별 승·하차 인원을 예측하고 이를 시각화한 자동화 대시보드 구축 프로젝트
2. 데이터 선정 이유
매일 자동 갱신되는 대시보드를 만들기 위해 주기적으로 업데이트되는 데이터가 필요함
- 지하철 승·하차 데이터: 서울시 오픈 API 제공
- 날씨 데이터: 기상청 오픈 API 제공 (기온, 습도, 풍속, 강수량)
두 데이터 모두 매일 업데이트되므로, 실시간성 있는 예측 모델과 대시보드 구현에 적합하다고 판단
3. 구현 방법
- 데이터 수집: 오픈 API로 매일 역별 지하철 승·하차 및 날씨 데이터 수집
- 자동화: AWS(Lambda, EC2, RDS, CloudWatch)를 활용해 로컬이 아닌 클라우드 환경에서 데이터 수집·적재 자동화
- 저장: PostgreSQL(RDS)에 데이터 적재
- 모델링: LightGBM, XGBoost를 이용한 승·하차 인원 예측
- 시각화: Tableau로 예측 결과와 과거 실제값 비교 대시보드 제작
4. 진행 기간
총 6주
- 주제 선정 및 데이터 전처리: 1주
- AWS 환경 구축 및 데이터 자동화: 2주
- 모델링 및 예측 자동화: 2주
- AWS 오류 수정: 0.5주
- Tableau 대시보드 제작 및 디자인: 0.5주
5. 기여도
100% (기획, 개발, 배포, 시각화 전 과정 단독 수행)
6. 사용 기술 및 도구
- 언어: Python
- 환경: AWS(Lambda, EC2, RDS, CloudWatch), Docker, Git Bash
- 데이터베이스: PostgreSQL
- 시각화 도구: Tableau
7. 주요 특징
- LightGBM & XGBoost 기반 예측 모델
- 날씨·공휴일 요인을 반영한 시계열 예측
- Ensemble(평균) 예측값 제공
- 역별·호선별 승·하차 인원 표시
- 상위 10% 역 추출
- 최근 5일 예측값 vs 실제값 비교 및 오차(MAE, RMSE) 산출
- 해당 예측일 날씨 정보 제공