의사 결정 트리 (Decision Tree)를 활용한 주식 예측 방법

의사 결정 트리는 데이터 마이닝에서 일반적으로 사용되는 방법으로 입력 변수에 대하여 분류/예측하는 모델을 생성하는 것을 목표로 한다.

(위키백과에서 그림 발췌)

위 그림은 타이타닉 생존자에 대한 결정 트리를 나타낸 것이다. 의사 결정 트리는 화이트 박스(white box)로 분류 기준을 쉽게 파악할 수 있는 장점이 있다.

주식에 있어서는 비슷한 방법으로 활용 가능하다. 가령 다음날 주가를 예측한다면 주가에 영향을 줄만한 항목을 선정한다. 가령 종가, 거래량, 이동평균선 등 여러 가지 지표가 선정 가능할 것이다. 그리고 선정된 종목에 대해서 데이터를 모아야 한다. (아래는 예)

5000, 10000, 4500, 상승
5500, 3000, 4700, 하락,

위와 같이 수집된 데이터에 대해서 의사결정트리 방법을 적용하면 위에서 위 타이타닉 그림과 같은 트리 형태의 구조가 도출되는 것이다.

의사결정 트리가 학습하는 원리는 엔트로피(Entropy)와 분류 전후 엔트로피 차이에 따른 정보 획득량(Information gain)이 주로 사용된다. 엔트로피 식은 아래식과 같다. 직관적으로 학습하는 원리만을 설명하면 주어진 데이터를 분석하여 주가 상승에 가장 많은 영향을 미치는 속성이 루트(root)에 위치하게 된다. (마치 타이타닉 생존자 여부를 판단하는 데 있어 남자 여부가 가장 중요한 역할이며 루트에 위치한 것처럼)

E = - sum_{i=1}^{n} p_i log_2 p_i

참고로 자바 머신러닝 라이브러리인 웨카(Weka)에서 J48(C4.5 기반) 분류기를 사용하면 학습 결과뿐 아니라 관련 소스 코드까지 얻을 수 있어 관심있는 분은 시도해볼만 하다. 주가 관련 여러 가지 데이터들을 전부 입력하여 의사 결정 트리로 학습하면 최소한 어떤 데이터 속성이 가장 큰 영향을 미치는지 기계적으로 분석 가능하다.

참조

 

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중