Project/2022 빅콘테스트 6

[2022 빅콘테스트] 앱 사용성 데이터를 통한 대출신청 예측분석 - 한계 및 보완

먼저 데이터 분석에 대해 무지했던 상태로 공모전에 뛰어든 나 자신을 칭찬하면서 또 반성한다. 베이스가 없었던 내게는 이번 경험을 통해 데이터 분석의 전체적인 흐름, 실전에 필요한 과정 등을 여과 없이 느껴볼 수 있는 기회였기 때문에 엄청난 성장을 거둘 수 있었다. 하지만 그저 흐름을 쫓아 배우기만 했을 뿐 팀을 위해 공헌한 것이 없는것 같았다. 데이터 분석의 기본부터 다시 차근차근 쌓아나아가고 싶은 마음이 들었다. 대출 신청 여부라는 것은 단순히 고객의 신용데이터만 가지고 예측하기에는 정보가 부족한 점이 없지않아 있었던 것 같다. 고객의 정량적 데이터 뿐만 아니라 매수심리와 같은 정성적 데이터, 주변 환경을 변수로서 다룰 수 있다면 더욱 좋은 결론을 낼 수 있었을 것 같다. 해결책으로는 user_spec..

[2022 빅콘테스트] 앱 사용성 데이터를 통한 대출신청 예측분석 - 고객 군집화

이번 공모전에서 내가 주도적으로 맡은 부분은 바로 고객 군집화 부분이다. 먼저 앱을 통하여 대출신청을 받으려는 사용자들을 군집별로 나누기 위해 먼저 log_data 테이블을 살펴보았다. log_data의 event 변수는 사용자들의 활동을 로그로 기록한 변수이며, 기록된 최종 활동이 고객의 특성을 예측하는 데에 사용될 수 있는 변수로 판단되어 이를 우선 Label encoding으로 변환하였다. event 변수의 데이터 고유값이 생각보다 다양하였기 때문에 직접 앱을 실행해서 어떤 화면이 어떤 event로 기록되는 지 살펴보았고, 다음과 같은 프로세스맵을 만들어낼 수 있었다. 빨간색 블럭으로 표시한 부분이 최종 행동일 것이라는 가설 하에 5개의 event를 제외한 나머지 event들은 삭제해 주었다. 또한..

[2022 빅콘테스트] 앱 사용성 데이터를 통한 대출신청 예측분석 - Modeling

모델에 넣고 성능을 확인하기 전, 상관계수를 분석하고 히트맵으로 시각화하는 과정을 통해 변수 간 상관관계를 분석하였다. 변수 간 상관관계가 높은 것이 있으면, PCA(차원축소)를 진행해 주어야 한다. 서로간의 상관관계가 높게 나온 변수들이 없으므로 PCA(차원축소)는 진행하지 않고 분석을 진행하였다. 모델 선택에 있어서 트리 기반 앙상블 모델인 XGBoost 모델과 LightGBM 모델을 놓고 고민하였다. 두 모델 모두 앙상블 학습으로 여러 개의 트리를 결합하여 분석하는 모델이다. 이전 개인회생여부와 개인회생납입여부의 결측치를 예측할 때 user_spec데이터를 train data로 사용하였을 경우 XGBoost 가 더 나은 성능을 보여준 바가 있다. 하지만 그때와는 달리 user_spec 과 loan_..

[2022 빅콘테스트] 앱 사용성 데이터를 통한 대출신청 예측분석 - 데이터 전처리 (2)

모델의 성능을 높이기 위해서 우리 팀은 외부 변수를 추가하기로 결정했다. 이 부분에서는 조금 더 많은 도메인 지식이 필요했다. 리서칭을 통해 은행대출과의 상관관계가 높은 수치나 데이터가 있는지 확인해 보았고, 유한수, 정재호, "주택시장에서의 매매가격지수와 소비심리지수의 관계", 부동산연구, vol.25, no.4, pp. 49-61, 한국부동산연구원, 2015 박연우, 방두완, "주택가격과 은행대출의 상관관계에 관한 연구", 금융연구, vol.26, no.1, pp. 107-141, 한국금융학회, 2012 위 두 논문을 통해 소비자 심리지수와 은행대출과의 상관관계가 높다는 배경적 이론지식을 확인하였다. 따라서 우리 팀은 소비자 물가지수를 파생변수로 추가하여 모델의 성능을 높이고자 하였다. a = {'2..

[2022 빅콘테스트] 앱 사용성 데이터를 통한 대출신청 예측분석 - 데이터 전처리 (1)

데이터 전처리 부분은 우리 팀에서 어느 정도 데이터 처리에 대한 지식이 있으신 인태 형님과 용훈 형님이 대부분 전담하게 되었다. 나는 선배들의 설명을 들으면서 흐름을 정리하고 파생변수 생성과 피쳐 선택에 도움을 줄 수 있는 도메인 지식을 수집하였다. 아래는 형님들께서 진행한 전처리 과정의 간략한 흐름이다. 먼저 user_spec 컬럼의 연속형 변수들의 이상치를 확인하였고, IQR 방식을 활용하여 이상치를 제거해 주었다. 결측치를 대치하거나 예측하는 과정에서 이상치의 존재는 불확실성을 더해주기 때문이다. def dr_outlier(df): quartile_1 = df.quantile(0.25) quartile_3 = df.quantile(0.75) IQR = quartile_3 - quartile_1 co..

[2022 빅콘테스트] 앱 사용성 데이터를 통한 대출신청 예측분석 - 문제 파악 및 데이터 살펴보기

2022 빅콘테스트 퓨처스부문에 참가하게 되었다. 데이터 분석에 대하여 아는 바가 거의 없었지만 맨땅에 헤딩하는 심정으로 참여하게 되었고, 감사하게도 같은 과 선배들이 팀원으로 받아들여주셨다. 대회 문제는 아래와 같다. 앱 사용성 데이터를 통한 대출신청 예측분석 가명화된 데이터를 기반으로 고객의 대출상품 신청여부 예측 (2022년 3~5월 데이터제공 / 2022년 6월 예측) 예측모델을 활용하여 탐색적 데이터 분석 수행 대출신청, 미신청 고객을 분류하여 고객의 특성 분석결과 도출 크게 두 가지의 문제로 나누어 볼 수 있는데, 하나는 고객의 대출상품의 신청여부를 예측하는 이진분류 문제, 다른 하나는 고객의 특성 분석결과를 도출하는 클러스터링 문제이다. 먼저 데이터테이블 정의서를 통하여 데이터를 탐색해보았다..