@@@ 인공지능/수학·통계를 몰라도 이해할 수 있는 쉬운 딥러닝

3 - 2. LSTM 활용하기(2)

HTG 2021. 8. 30. 02:58
728x90

3-2-1. [금융 AI] LSTM을 활용한 주가예측

데이터 살펴보기

2010.01.04 ~ 2020.08.10 까지 나스닥에서 거래된 애플의 주가가 기록.

총 6개의 피쳐/ open, high, low, close, adj close, volume

모든 0 ~ 1 사이로 노멀라이즈

윈도우 크기는 14로 세팅.

단, 거래량은 예측에 필요없을 것 같아 open, high, low, close, adj close 5개의 값만 활용.

결과적으로 총 6개의 피쳐를 입력받아 5개의 피쳐의 미래값을 예측하는 문제.

 

●어떤 인공지능 사용?

층수 종류 크기 활성화 함수
1층 LSTM 128, return_sequences = True -
2층 FNN 64 ReLu
3층 FNN 5 -

LSTM이 128로 증가, 2층의 크기가 64로 증가. 2층의 FNN에 렐루를 적용.

 

●딥러닝 코딩

- 인공신경망 컴파일

옵티마이저(optimizer) - Adam

메트릭(metrics) - accuracy

로스(loss) - mse

 

●인공지능 학습

- 인공신경망 학습

 

 

- 학습 결과 출력

그래프로 출력

 

 

●인공지능 학습 결과 확인

- 인공지능 성능 확인하기

저자의 경우 인공지능의 최종 성능은 MAE 0.31% 대략 99.7%이상의 성능을 보임.

콜백이 작용하여 89 에포크에서 중단.

나의 경우도 MAE 0.5% 대략 99.5%이상의 성능을 보임.

콜백은 빨리 되어 25 에포크에서 중단.

 

- 학습 기록 확인하기

빨간 선이 train, 파란 선이 test

저자의 경우 Loss 트레이닝 로스와 테스트 로스 둘다 처음 부터 차이가 큼. 

학습이 잘 안된 것으로 보임.

그 와중에 테스트 로스가 꾸준히 떨어지고 있음.

회귀 결과를 보니 학습이 생각보다 잘 된 것 같음. 점들이 직선을 따라 고르게 분포하고 있으며, 오차 또한 크게 두드러지지 않음.

등락의 폭을 조금 더 정확하게 예측할 수 있다면 로스 함수가 조금 더 낮게 나왔을 것 같음.

나의 경우도 로스는 차이가 많이 나지만 회귀 결과를 보면 어느 정도 잘 예측한 것을 보임.

하지만 저자의 경우 보다는 안 좋아 보임.

 

 

 

AI를 통한 주가 예측

AI를 활용한 주가예측 또한 항상 완전히 잘되는 것은 아님.

또한 AI자체가 편향될 수 있음. 우상향 데이터만 학습한 AI는 하락할 주식의 미래도 우상향으로 잘못 오인할 수 있음. 외삽의 한계.

 

AI가 등락의 폭을 비교적 정확하게 예측하지 못한 점이 아쉽다.

모델을 수정하여 AI의 정확도 높이기.