본문 바로가기
Kaggle, Dacon

[Kaggle] Ubiquant Market Prediction

by Yonghip 2022. 6. 19.

제출기한이 3주쯤 남았을 때 그래도 딥러닝 공부하면 캐글을 해봐야겠지?

하며 안일한 마음에 주식 예측(처럼 보였던...) Featured competition에 참가하였다.

 

 

Ubiquant Market Prediction | Kaggle

 

www.kaggle.com

 

하지만 단순한 주식 예측이 아니라 300개의 알 수 없는 특성들로 이후의 target을 예측하는 문제였다.

타겟값 역시 주식 가격의 상승 하락과 완전히 동일한 것처럼 보이진 않았다.(물론 큰 관계는 있겠지만)

 

추가적으로

time_id: 데이터가 수집된 날짜, 순서대로 이지만 사이의 간격은 다를 수 있다.

investment_id: 투자를 위한 ID code 종목명 정도로 보면 될듯하다. 모든 time_id에 존재하지 않는다(듬성듬성 나타날 수 있다는 뜻)

 

train.csv 컬럼 정보

 

평소대로 였다면 Base 모델을 만든 뒤 모델 튜닝보다는 EDA, 데이터 전처리, 증강을 통해 점수를 올리는 편인데

이번에는 컬럼에 대한 정보를 알 수 없었으며 시계열 데이터는 다뤄 본 적이 많지 않아 적절한 전처리 방법도 몰랐다.

 

결국 모델을 여러개 돌려보며 LB를 올리는 수밖에 없었는데 마지막 문제로

피어슨 계수를 사용하여 체점하는데 이를 지표로 사용한다는 걸 깨닫지 못하고 많은 시간을 날렸다.

Evaluation

이후 시험기간이 시작되어 모델 튜닝을 제대로 해보지도 못한 채 낮은 등수로 competition이 종료되었다.

 

정말로 무력함을 많이 느낀 대회였다. 평소 이러한 문제에 모델 튜닝보다 데이터 면에서 접근하기에 문제가 어려웠으며 모델 튜닝을 위하여 tensorflow를 최적화하는 방식 자체를 몰라 이를 추가적으로 학습할 시간이 부족했다. 

 

 

 

 

 

전체 코드는 아래와 같다.

 

ANN Baseline

Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources

www.kaggle.com

Pearson 계수를 손실, 평가지표로 사용하는 예시이다. 신선하지만 좋은 점수를 얻진 못했다.

 

 

Using pearsion_correlation as loss

Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources

www.kaggle.com

 

Competition 링크: https://www.kaggle.com/competitions/ubiquant-market-prediction