boostcampaitech6 / level2-3-cv-finalproject-cv-01

level2-3-cv-finalproject-cv-01 created by GitHub Classroom
0 stars 1 forks source link

[FEAT] HMM forecast #116

Closed 2018007956 closed 5 months ago

2018007956 commented 5 months ago

Background

To do

2018007956 commented 5 months ago

HMM은 시계열 데이터에 숨어 있는 상태의 변화를 모델링하며, 이러한 상태 변화가 관측 데이터에 어떻게 영향을 미치는지 분석하는 모델입니다. CNN이나 LSTM 처럼 명확한 label을 가지고 학습하는 것이 아닌, feature에서의 패턴을 찾아내어 결과를 도출하는 비지도학습 알고리즘이기 때문에, 종가를 레이블로 생각하는 것이 아닌 종가 데이터를 사용하여 현재 종가 대비 하루뒤~일주일 뒤의 종가 변화율이라는 피쳐를 정의하는 방식으로 구현하였습니다.

학습 알고리즘 설명

예측 알고리즘 설명

2018007956 commented 5 months ago

<message: Model is not converging 해결>

  1. 반복 횟수 n_iter, 허용 오차 tol 파라미터 조정
  2. 데이터 전처리
    • 모델이 수렴하지 못하는 경우, 데이터의 특성이나 스케일링 문제일 수 있음
    • 데이터 정규화를 하여 모델이 더 잘 학습할 수 있는 형태 만들기
    • 임의의 20개 종목에 대해 위 두 방법을 적용해봄
    • tol=0.01로 고정하고, n_components와 함께 n_iter를 조절했는데 not converge 메시지가 적게 뜨는 적절한 값을 찾지 못함
    • 정규화를 적용했을 땐 not converge 메시지 5개->0개로 줄어듦, 대신 약 0.3초 증가 16.87 -> 17.11