비트코인 가격 예측 : 데이스쿨 구독자 전용 AI 해커톤

알고리즘 | 정형 | 시계열 | 예측 | RMSE

  • moneyIcon 상금 : 인증서 + 데이스쿨
  • 171명 마감

 

[Private 3위, Public 1위] DLinear (+ NLinear) 기반의 장기 시계열 예측

2024.06.04 15:22 814 조회 language

안녕하세요. 저는 장기 시계열 예측을 연구하고 있는 Reign입니다.
저는 이번 문제를, 높은 예측 정확도를 달성하는 것과 더불어, 제가 그동안 접해온 논문들에서 다룬 모델들을 직접 활용해보는 기회로 삼았습니다.
이에 저는 트랜스포머 등 장기 시계열 예측 모델들을 실험하는 데 이용한 코드를 사용했고, 이는 제 깃허브에 올려두었습니다. 
https://github.com/Reign2121/Bitcoin_Price_Forecasting
*아래 실험에 쓰인 모델의 코드 참조
!!정확한 코드 재현을 위해서는 위 레포지터리 속 모든 폴더, 파일들을 워킹 디렉토리에 넣어두어야 합니다!!

제가 최종적으로 사용한 모델, 매커니즘은 아래와 같습니다.
1. 여러 모델을 실험한 결과, valid+submission score가 가장 높은 D-Linear를 기본 모델로 설정함
     - 오차가 축적되는 것을 피하기 위해 1512 시점의 예측 값을 한번에 산출하도록 하였음
     - D-Linear의 Decomposition 매커니즘과 이동평균화 된 추세의 모습을 고려하여 1612시점을 한번에 예측하고 100시점을 뒤로 shift함(1612 - 100)
     - 인풋의 마지막 값과 예측 값 첫 값의 차이가 큰 것을 발견하여 이를 보정하고자 Prophet의 예측값으로 72시점(3일)을 구성함 (미미하지만 약간의 점수 향상이 관측됨)

2. Public 시점 이후의 D-Linear 예측 값에 N-Linear와의 앙상블을 수행함
     - N-Linear는 예측 시점의 값으로 인풋 시점의 값을 빼줌(-)으로써 일종의 정규화 효과를 내어 scale/분포 변화에 덜 민감하게 만듦
     - 높은 Public score와 무관하게, Private 시점의 변화할 추세를 감안하여 예측값의 scale을 보정하기 위함

D-Linear, N-Linear에 대한 자세한 정보는 아래 제 논문 리뷰를 참고해주시길 바랍니다.
https://seollane22.tistory.com/23

코드