댓글분석 웹페이지 개발 프로젝트와는 달리, 주가예측 프로그램 개발 프로젝트의 경우 모델링에 대한 고민이 꾸준히 필요하기 때문에, 모델에 대한 변동이 발생할때마다 추가적인 게시글을 업로드 할 예정입니다.
 
1.  현재 문제점
LSTM 모델을 사용하기 때문에, 전날의 데이터가 영향을 크게 끼쳐서 실제 종가의 증감과 거의 무관하게 전날과 비슷한 값이 모델의 예측 결과값이 됨. (즉,  loss가 가장 작아지는 값이 전날의 값이라고 계산하는 것) 따라서 모델의 정확도는 높지만(loss=0.01미만,R^2=0.98이상), 실제 데이터로 예측 시 증가하다 감소하는 구간,  감소하다 증가하는 구간을 판별하지 못하는 크게 유의미하지 않은 모델이 된 것으로 판단됨. 이에 대해 고민이 필요함.


2.  해결 방안 및 추가 기능
1)기존의 input값(시가, 고가, 저가, MSCI, KOSPI,  KOSDAQ 등)들을 모두 Stationary하게 변환(‘오늘 값-전날 값’  으로, 변동 값을 볼 수 있도록) -> 평균, 분산, 공분산이 비교적 일정한 데이터로 전처리
2)기존에 학습시키던 예측 값을 ‘종가’값이 아닌 +(전날보다 증가), -(전날보다 감소)로 Binary 한 항목 값으로 변환해 학습시켜서, 더 유의미한 모델이 될 수 있도록 함. 이후 모델 평가시에도 +로 예측하여 +인 것, -로 예측하여 -인 것의 Accuracy 확인(지금의 loss보다 더 의미 있는 지표가 될 것)  결과는 +or-로 반환(추후 오를 확률/내릴 확률 계산하여 반환)
3)input종목에 대한 SNS언급량(네이버금융_종목토론방)을 가져와 긍정 부정을 판별하고, 결과에 대해 가중치를 두어 추후 모델의 output값과 더해 최종 예측 결과의 정확도를 높임.
4)기본 데이터의 기본 모델에 대한 정확도, 상관 계수 추세로 구분된 각 군집 데이터를 각 군집에 최적화된 모델에 넣은 정확도의 평균, 종가 추세로 구분된 각 군집의 데이터를 각 군집에 최적화된 모델에 넣은 정확도의 평균을 구해 비교 후 의사결정
추후)  노이즈 제거 관련 논의하기
 

3.  역할 분담(~9.26(일))
1)한 종목에 대해 SNS언급량 긁어와서 데이터를 쌓은 후,  긍정/부정 판별(네이버금융-종목토론방-글 댓글-최근1000개)
2) input값을 stationary하게,  output값을 binary하게 변환해서 학습시킨 후,  Accuracy/loss확인 및 개선시키기
3) 모델 개선에 도움이 될 만한 추가 외부변수를 생각하고, 해당 변수의 10년치 데이터 가져오기(약5개정도,재량적으로)

반응형

+ Recent posts