문과생도 따라해볼 수 있는 예측 모델 개발
안녕하십니까, 송호연입니다.
예측 시스템하면 왠지 엄청난 기술 같아서 시작하기 조차 두려워하고 부담스러워하시는 분들이 많으세요-
그래서, 정말로 간단한 지표 예측 시스템을 단 30분만에 만들어볼 수 있는 가이드를 작성해보았습니다.
오늘 만들어볼 시스템은 바로 KOSPI의 지표를 예측하는 모델을 만들어보는 것입니다.
한국의 경제 트렌드를 압축적으로 말해주는 지표이기도 하고,
앞으로 KOSPI의 트렌드에 대해서는 많은 분들이 관심이 있으실 거 같아서 KOSPI 예측을 주제로 잡았습니다.
또 하나, 이번 가이드에는 프로그래밍 언어가 하나도 없습니다.
문과생도 해볼 수 있는 예측모델 개발이라는 점에 의미가 있을듯합니다 ^^
1. Azure ML 스튜디오에 접속합니다.
2. [Sign up here] 버튼을 눌르면 가입 플랜을 선택하는 화면이 나옵니다.
3가지 플랜 중에서, 무료인 Free Workspace 플랜을 선택합니다.
3. hotmail.com 계정으로 로그인하세요! 없으시면 hotmail 계정 하나 만들어주세요 ^^
4. AzureML(애져엠엘) 스튜디오 로그인을 완료했습니다.
새로운 머신러닝 실험을 만들기 위해 왼쪽 하단의 [NEW] 버튼을 눌러보겠습니다.
5. EXPERIMENT 메뉴에서 맨 아래로 내려보면 시계열 예측(Time Series Forecasting) 항목이 있습니다.
EXPERIMENT 메뉴에서 맨 아래로 내려서 Time Series Forecasting 항목을 선택합니다.
[OPEN IN STUDIO] 버튼을 클릭해서 시계열 예측 모델을 생성해보겠습니다.
6. 시계열 예측 실험(EXPERIMENT)이 생성되었습니다.
그래프가 복잡하게 생겼지만 걱정마세요- 설명해드릴게요!
7. 좌측 메뉴에서 [Data Input and Output] 메뉴를 선택합니다.
8. [Data Input and Output] 메뉴 안에 있는 [Enter Data Manually] 항목을 선택한후 가운데로 드래그해줍니다.
9. 드래그를 하면 [Enter Data Manually] 항목이 생성됩니다. 생성된 [Enter Data Manually] 를 선택한 후 우측의 [Data] 영역을 선택합니다.
10. 그리고 제가 준비해드린 이 파일의 내용을 메모장으로 열어서 복사해 넣습니다.
참고로 KOSPI 데이터는 아래 사이트에서 조회하실 수 있습니다.
https://global.krx.co.kr/contents/GLB/05/0501/0501010000/GLB0501010000.jsp
제가 다운받은 KOSPI 데이터는 2016년 2월 17일 부터 2017년 2월 17일까지의 KOSPI 지수입니다.
11. 기존 다이어그램에 있었던 [Time Series Dataset]을 선택한 후 오른쪽 마우스 클릭을 합니다.
12. [Delete] 메뉴를 선택합니다.
13. [Enter Data Manually]의 아래 동그라미와 [Edit Metadata] 위의 동그라미를 드래그하여 서로 연결해줍니다. 이 때 우리가 입력한 KOSPI 지수가 데이터로 입력됩니다.
14. 그러면 [RUN] 버튼을 눌러서 예측 모델을 실행시켜보겠습니다.
15. 이런, 이렇게 에러가 날 것입니다. 두번째 아이템인 [Edit Metadata]를 클릭합니다.
16. 오른쪽 메뉴에서 [Launch column selector] 를 클릭합니다.
17. 기존 데이터의 컬럼명이었던 "N1725"가 있네요. 이 컬럼명 오른쪽에 X 버튼을 눌러서 지워줍니다.
18. 그리고 우리가 입력한 KOSPI 데이터의 컬럼명인 "KOSPI"를 선택합니다.
그럼 이렇게 짠- 입력되었습니다.
19. 그럼 한가지 수정을 더 하겠습니다. 3번째 아이템인 [Split Data]를 선택합니다.
그리고 오른쪽의 [Relational expression] 항목을
\"time" <= 150
으로 수정합니다.
20. 다시 [RUN]을 눌러서 예측 모델을 돌려봅시다.
21. 모든 네모상자에 V 체크표시가 되었다면, 실행이 완료된 것입니다. 실행 결과를 보기 위해선 맨 밑에 있는 [Add Rows] 아이템 하단의 동그라미를 선택한 후 오른쪽 마우스 클릭을 합니다.
22. 오른쪽 마우스 버튼으로 뜬 메뉴에서 [Visualize] 메뉴를 선택합니다.
23. 짠~! 이렇게 5가지 예측 모델로 예측값을 연산해 본 결과값들을 비교해보았습니다.
수고하셨습니다!
이렇게 하면 KOSPI 예측모델의 성능평가 결과를 한 눈에 볼 수 있습니다.
여기서 가장 중요한 지표는 RMSE(Root Mean Squared Error)로 우리가 중학교 때 배웠던 표준편차와 비슷한 개념입니다. RMSE가 작을 수록 예측모델의 성능이 좋다고 볼 수 있습니다.
저희가 이번 실험에서 만들어본 실험은 총 5가지의 예측모델의 성능을 평가한 것입니다.
1) seasonal arima
2) non-seasonal arima
3) average seasonal arima & ets
4) seasonal ets
5) non-seasonal ets
(각각 예측 모델에 대한 설명을 하기엔 글이 너무 어려워질 것 같아서 생략합니다 ^^
궁금하신 분들은 구글링해보세요!)
결과적으로, 2번, non-seasonal arima 예측모델이 성능이 가장 좋았다는 것을 확인할 수 있습니다.
다음 가이드에선 예측모델로 미래의 KOSPI 지표를 뽑아보고 95% 신뢰도 오차범위를 포함한
예측 지표 트렌드를 그래프로 만들어보도록 하겠습니다.