모두를 위한 딥러닝

[DL] 모두를 위한 딥러닝 12-6 RNN (stock)

승무_ 2022. 4. 25. 18:42

시간에 따라 변하는 데이터를 Time series data라고 한다.

 

시간에 따른 주가 데이터를 가지고 있는 데이터 셋을 이용하여 주가 예측을 수행해보자.

Many to one 구조를 사용할 것이다.

일주일 간의 데이터를 넣고 그 다음날의 주가를 예측하는 구조이다.

 

Input길이는 5, seqence길이는 7, Output길이는 1임을 알 수 있다.

전체 데이터의 값의 분포가 들쑥날쑥하게 되어 있으므로 MinMaxScaler를 이용하여 조정해준다.

 

Y의 값은 Close값만 이용할 것이다. 

데이터 중 70%를 학습에 사용할 것이다.

우리는 RNN과 FC레이어를 연결해 사용할 것이다.

output의 마지막 값(다음 날의 주가)을 FC레이어와 연결시켜 준다.

 

출력값이 하나이므로 sequence_loss가 아닌 제곱 오차를 쓴다.

학습된 결과는 다음과 같다.

학습된 데이터와 굉장히 유사하다.

 

(하지만 자세히 살펴보면 예측값이 바로 이전의 값을 흉내낸다고 느껴진다... ,

이 모델이 주가를 정확히 예측하는 모델이라고 생각하기엔 무리가 있다.)