KT AIVLE/AI Track(교육)

[AI] KT AIVLE(KT 에이블스쿨) 3기 AI 개발자 트랙 6차 미니프로젝트(3-4일차) , 장애인 콜택시 대기시간 예측 -12주차-

머준 2023. 4. 24. 21:11

프로젝트 주제

장애인 이동권 개선을 위한 장애인 콜택시 대기시간 예측

 

1. 데이터 탐색

- 시계열 데이터를 가지고 분석하는 프로젝트임

- 장애인 콜택시 운행정보 데이터 셋 + 날씨 정보 데이터 셋

- 연도, 월, 일, 요일, 계절, 공휴일 컬럼을 추가적으로 만들어 줌

- workalendar 라이브러리를 사용해 공휴일을 알아낼 수 있었음 (대체공휴일은 직접 추가했음)

 

2. 데이터 분석

- 장애인 콜택시 운행정보 데이터 셋의 컬럼들을 연도,월,일,요일 별로 시각화하여 단변량 분석 및 시각화

- 범주형, 수치형 변수를 따로 나누어 통계량 및 시각화 함수 만들기

- 날씨 데이터는 실제 측정값 이지만, 다음 날에 대한 예보 데이터로 간주한다.

  -> a 날짜의 장애인 콜택시 운행정보 데이터 + (a+1) 날짜의 날씨 데이터로 다음날의 평균대기시간 예측

 

- 전체 상관계수 시각화

- 아래 사진과 같이 변수별 단변량 분석을 해보았을 때 낙타 쌍봉우리처럼 나타내지는 변수들이 존재했었음

->  쌍봉우리 모양의 그래프를 특정 구간별로 잘라서 분석을 진행 보았으나, Target 변수와 상관계수가 크게 높아지지 않았다. 쌍봉우리 모양의 그래프여서 특정 구간으로 나누어 분석을 했을 때의 결과는 목적에 따라 큰 의미는 찾을 수 있으나 데이터의 전체적인 의미를 나타내지 않음을 알 수 있었다. 즉, 위 사진처럼 쌍봉우리의 그래프를 두 구간으로 나누어 상관계수를 구하게 되면 2개의 상관계수가 나오게 되는데, 두 상관계수 또한 구간 별로 나누어 해석이 가능함을 알 수 있었다. 

 만약 어떠한 가설을 세워 특정 구간으로 나누어 분석 및 해석을 진행 했으면 모델 학습 또한 다른 모델 2개로 학습을 해야한다.

 

- Target 변수와 강한 관계의 변수, 중간(약한) 관계의 변수, 관계가 없는 변수끼리 나누어봄

 

 

3. 모델링

 3-1) 머신러닝

모델 MAE / MAPE
KNN MAE : 6.4524
MAPE : 0.1463
SVR MAE : 3.4053
MAPE : 0.0811
RandomForest MAE : 19.5987
MAPE : 0.4372

 

 3-2) 딥러닝

모델 MAE / MAPE
단순 Fully Connected Layer 층을 쌓은 모델1 MAE : 18.2473
MAPE : 0.4268
단순 Fully Connected Layer 더 깊은 층을 쌓은 모델2 MAE : 3.1609
MAPE : 0.0761

 

4. 결론

- 머신러닝 SVR 모델과 단순한 딥러닝 모델이 성능이 좋음을 알 수 있었다.

- 데이터 크기가 크지 않아 머신러닝 모델로도 충분한 성능이 나왔을 것으로 판단되어짐.

- 시계열 데이터의 분석 방법에 대해 알 수 있었다. (shift, rolling 함수 적용)