딥러닝과 금융이론 5. Keras LSTM 유형 정리 (5/5) : 시계열 데이터 예측 예시1. 단층-단방향 & many-to-one 유형 시계열 예측 예시 : 단방향-2층 & many-to-one 유형
from keras.models import Model # 학습 데이터를 생성한다. # Sine 함수에 노이즈를 섞은 데이터로 학습 데이터 100개를
생성한다 # 학습용 데이터와 시험용 데이터 # 2층-양방항 구조의 LSTM 모델을 생성한다.
#
학습 #
예측 # 예측 결과
시각화 plt.figure(figsize=(10,6)) 학습 진행 과정: Epoch 496/500 70/70 [==============================] - 0s 1ms/step - loss:
0.1044 학습 결과: 학습 결과를 이용하여 시험 데이터를 예측해 본 결과는 아래와 같다. 예측 구간의 원 시계열 (y_test)을 빨간색 곡선 (y_hat)으로 예측했다. 육안으로 봐도 그런대로 예측이 잘 된 것 같다. 예측 능력을 수치화해서 성능을 표시하려면 y_test와 y_hat으로 MSE (mean-square-err)나, (수정된) 결정계수 혹은 상관계수 등으로 표시해 볼 수 있다. 참고로 시험 데이터의 끝 부분에서 다음 시계열을 예측하고, 예측 값을 다시 시험 데이터에 추가하고, 또 다음 시계열을 예측해 보기를 반복하면, 과거의 주기적인 패턴을 검출하고, 노이즈를 제거하는지 확인해볼 수 있을 것이다. 여기까지 5편의 포스트를 통해 Keras LSTM의 여러 유형의 사용 방법을 정리해 봤다. 업데이트 (2020-10-31) : 예측값으로 그 다음값을 예측하는 코드는 https://blog.naver.com/chunjein/222131850058 참조. |