Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

94 Commits

Folders and files

Repository files navigation

10th-toy-team2

KHUDA 10기 토이 프로젝트 2팀 저장소입니다.

프로젝트 주제

WalkFit — 개인 맞춤형 도보 ETA 예측

기존 지도 서비스(네이버·카카오·티맵)는 도보 소요시간을 산출할 때 모든 사용자를 시속 4km 정속 보행자로 취급하며, 경사도와 신호대기 시간을 반영하지 않는다. 본 프로젝트는 이 세 가지 요인을 실측 데이터 기반으로 보정한 개인 맞춤형 도보 ETA 모델을 구축한다.

ETA = Σ(구간거리 ÷ (v_user × k_slope(경사도))) + Σ(신호대기시간)
기호 의미 산출 방식
v_user 개인별 평지 기준 보행속도 회귀 잔차 기반 추정
k_slope 경사도에 따른 속도 배율 다항회귀 (경사도, 경사도²)
신호대기시간 횡단보도 평균 대기시간 이론공식(E(Wait)=R²/2C) + 실측 검증·보정

차별점

  • 팀원 7명의 실측 보행 데이터로 경사도-속도 관계식을 직접 추정 (기존 연구·서비스는 정속 가정 또는 추측 계수 사용)
  • 전체 통합회귀(pooled) → 계층적 축소추정(Shrinkage) 구조로 확장하여, 개인 데이터가 쌓일수록 전체 평균에서 개인 고유 반응 곡선으로 자동 수렴하는 개인화 구조 구현
  • 신호대기 이론공식(균등 도착 가정)의 타당성을 실측으로 직접 검증
  • 검증용 실측 경로에서 기존 방식(정속 4km/h) 대비 예측 오차 개선폭을 정량 제시

핵심 가설

"도보 시간을 결정하는 것은 거리만이 아니라, 지형(경사)과 사람(개인속도)과 신호 체계(대기시간)이며, 이 세 요인은 실측 데이터로부터 직접 추정 가능하다."

데이터셋

전량 자체 수집 데이터이며, 용도별로 4종으로 구성된다.

구분 내용 수집 방법 용도
학습용 보행 데이터 경사도가 다른 5개 구간(평지/완만·급경사 오르막·내리막)을 팀원 7명이 반복 보행 Open GPX Tracker (1초 간격 GPS 로깅) k_slope, v_user 회귀
신호대기 관찰 데이터 횡단보도 3개 이상 지점에서 도착·출발 시각 15회 이상 기록 현장 관찰 (스톱워치) 신호대기 이론공식 검증·보정
경사도 데이터 보행 구간 좌표별 고도 국토지리정보원 정밀 DEM (rasterio 매핑) 구간별 경사도(%) 산출
검증용 경로 데이터 학습에 사용하지 않은 실제 경로 8~10개의 실측 소요시간 팀원 실보행 측정 최종 모델 성능 평가 (기존 방식과 비교)

데이터 처리 참고사항

  • GPS 앱의 고도값(<ele>)은 기기·앱에 따라 신뢰도가 낮음을 실측으로 확인(동일 구간 반복 시 물리적으로 불가능한 경사도 산출) → 좌표만 GPX에서 취득하고, 고도는 별도로 정밀 DEM에서 매핑
  • 보행 경로는 30~50m 단위로 구간화하여 관측치 수를 확보 (구간 수 × 반복 횟수 대비 다수의 조각 단위 관측치 생성)
  • 개인별 속도는 speed_ratio = 구간속도 ÷ 개인 평지속도로 정규화하여 경사 효과와 개인차를 분리

모델

1. 경사도-속도 회귀 (k_slope)

speed_ratio = β0 + β1·경사도 + β2·경사도²
  • 선형/다항(2차) 모델을 비교하여 채택. 2차항은 급경사 내리막에서의 비선형 감속(관절 부담) 포착 목적
  • 회귀계수의 통계적 유의성(p-value), R², 잔차 플롯으로 모델 타당성 확인

2. 개인 속도 추정 (v_user)

  • 1차: 회귀 잔차의 개인별 평균으로 추정 (전체 데이터를 활용해 표본 안정성 확보)
  • 확장: 계층적 축소추정(Shrinkage, w_i = n_i/(n_i+k))을 적용해 개인 데이터량에 따라 전체 평균과 개인 고유값 사이에서 자동 보간
  • 검증을 위해 팀원 중 일부는 측정 횟수를 의도적으로 늘려 불균형 데이터 구도를 형성, shrinkage 수렴 양상을 시각화

3. 신호대기 모델

  • 이론공식(교통공학 균등도착 가정): E(Wait) = R²/(2C)
  • 실측 검증 회귀: 실측 대기시간 = α + β × 이론예측값
  • 확장: 지점별 랜덤효과를 반영한 shrinkage 구조로 경사도 모델과 방법론적 일관성 확보

4. 최종 ETA 산출 및 평가

  • 검증용 경로를 구간 단위로 분할 → 구간별 v_user × k_slope로 속도 산출 → 구간시간 합산 + 신호대기시간
  • 평가지표: MAE, MAPE, 대응표본 t-검정(정속 모델 대비 개선의 통계적 유의성)
  • 요인별 기여도 분해(Ablation): 개인속도/경사도/신호대기 각 요소의 오차 개선 기여도 분리 제시

파이프라인 요약

[보행 GPS 로그] ─┬─→ [좌표 추출] ─→ [DEM 고도 매핑] ─→ [구간별 경사도]
                 └─→ [구간별 속도]                           │
                                    └──────────┬──────────────┘
                                               ▼
                                    [경사도-속도 회귀 (k_slope)]
                                               │
                                    [잔차 기반 v_user 추정 (+ Shrinkage)]
                                               │
                        [신호대기 이론값 검증 회귀] ──┐
                                               ▼        ▼
                                    [최종 ETA 계산 함수]
                                               │
                                    [검증 경로 실측 대비 평가]

폴더 구조

.
├── data/           # 데이터셋
│   ├── raw/        # 원본 GPX, 신호대기 관찰 기록, DEM 원본
│   └── processed/  # 구간화·정제된 학습/검증용 테이블
├── models/         # 회귀 계수(k_slope, v_user), 학습된 모델 산출물
├── notebooks/      # 회귀 분석, 검증, 시각화 노트북
├── src/            # GPX 파싱, DEM 매핑, ETA 계산 등 소스 코드
└── docs/           # 기획서, 발표자료 등

팀원

이름 역할
최용환 팀장
홍민기 데이터 수집·전처리
박준서 모델링
권동하 모델링
김재형 데이터 수집·전처리
최희수 모델링
윤예진 데이터 수집·전처리

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages