이동평균법(EMA) 개념

2018. 12. 20. 15:47·Research/금융,블록체인
반응형

                                                                                                                                                         

                                                                                                                                                                                                                   

                                                                                                                                                         

                                                                                                                                                                                                              

                                                                                                                                                                                                              

이동평균법

In statistics, a moving average (rolling average or running average) is a calculation to analyze data points by creating series of averages of different subsets of the full data set. 

The EMA for a series Y may be calculated recursively:

{\displaystyle S_{t}={\begin{cases}Y_{1},&t=1\\\alpha \cdot Y_{t}+(1-\alpha )\cdot S_{t-1},&t>1\end{cases}}}
Where:
  • The coefficient α represents the degree of weighting decrease, a constant smoothing factor between 0 and 1. A higher α discounts older observations faster.
  • Yt is the value at a time period t.(시간 간격)
  • St is the value of the EMA at any time period t.(시간 간격내의 특정한 포인트)

 

평균 개념은 누구나 쉽게 인지하고 있다. 가령, 5명의 평균 나이를 계산하라고 하면 5명의 나이 합을 5로 나누어서 구한다. 이동평균이라는 것은 5명 대신 5일로 바뀌었을 뿐 산출하는 방법은 동일하다. 따라서 평균과 이동평균을 그냥 동일 개념으로 생각하고 넘어가기도 한다. 그럼 그냥 평균이라고 쓰면 되는데 왜 굳이 이동평균이라고 할까?

평균과 이동평균의 가장 큰 차이점은 시간이라는 개념이다. 사람들은 보통, 위험을 선호하는 경향이 았기 때문에, 기대값이 음수임에도 불구하고 로또를 구매한다. 

평균은 동일시점에서 산출되는 것이 흔한 반면, 이동평균은 동일 대상이지만 시점이 서로 상이해서 발생한다. 
어떤 시점에서의 특정 값을 추정하려고 할 때, 각 시점의 기대치를 단순 합해서 나누는 방법을 사용할 수도 있다. 혹은 가장 마지막 기대치를 통해 측정할 수도 있다. 가장 최근 기대치에 가장 많은 가중치를 주어서 측정할 수도 있다. 

평균은 동일 시점에서 발생하기 때문에 단순 평균이 많이 사용된다. 하지만 시간시점이 다를 경우 최근의 정보가 더 많은 영향력을 미칠 수 있기 때문에 최근에 단순 평균보다 최근 정보에 가중치를 더 주는 방법을 사용할 수도 있다. 그 결과 이동평균을 구하는 방법엔
단순이동평균(Simple Moving Average)
가중이동평균(Weighted Moving Average)
지수이동평균(Exponential Moving Average)
방법이 존재한다.
 
단순이동평균(Simple Moving Average)
일반적인 평균을 구하는 방법이다.
n1 , n2, n3 가 존재한다고 가정하면, (n1 + n2 + n3) / 3 이다.

가중이동평균(Weighted Moving Average)
n1 , n2, n3 가 존재한다고 가정하고 각각의 가중치를 w1, w2, w3라고 하면 
(w1n1 + w2n2 + w3*n3) / (w1 + w2 + w3) 이다.
일반적으로 최근일에 높은 가중치를 준다. 상황에 따라서 이벤특 발생한 특정일에 높은 가중치를 주어 사용할 수도 있다.

지수이동평균(Exponential Moving Average)
최근에 높은 가중치를 주지만, 오래된 과거도 비록 낮은 영향력이지만 가중치를 두여하도록 고려한 방법이다. 
EMV(t) = (1-w) * EMV(t-1) + w * Price(t)
오늘의 종가에 w의 가중치를 주고 (1-w)를 어제의 이동평균에 주는 방식이다.
EMV(t) = (1-w) * ((1-w) * EMV(t-2) + w * Price(t-1)) + w * Price(t)
  = (1-w)^2 * EMV(t-2) + (1-w )*w* Price(t-1)) + w * Price(t-1))
   ...
  = (1-w)^n * EMV(0) + (1-w)^(n-1)*w*Price(1) + ... + w * Price(t-1)
결국 과거의 값도 지속적으로 영향력이 잔존하게 된다.
w = 2 / (n+1)
지수이동평균 2일인 경우 w = 2/3가 된다.


Exponentially weighted (moving) average

Map

GD보다 빠른 optimization algorithms들을 이해하려면, 먼저 Exponentially weighted (moving) average를 사용할 수 있어야 한다.
 
 
먼저, 런던의 daily temerature 데이터로 시작해보자.
 
 
작년의 런던 날씨를 매일 기록한 것을 데이터로 플롯팅 한 것이다.
찍어본 데이터들은 noisy한 것을 볼 수 있다. 이 데이터들이 보이는 경향을 나타내기 위해 계산을 하고자 한다면, 

여기서 경향(trend)란, temperature의 local average 또는 moving average를 말한다. 

Reference

  • https://wikidocs.net/3395
반응형
저작자표시 비영리 변경금지 (새창열림)

'Research > 금융,블록체인' 카테고리의 다른 글

가상화폐의 본질  (0) 2018.12.20
51% 공격  (0) 2018.12.20
블록체인 개념  (0) 2018.12.17
'Research/금융,블록체인' 카테고리의 다른 글
  • 가상화폐의 본질
  • 51% 공격
  • 블록체인 개념
doh.k
doh.k
  • doh.k
    DOHk's DevLog
    doh.k
  • 전체
    오늘
    어제
    • 분류 전체보기
      • DailyLog
      • TIL
      • Project
        • Development
        • Artificial Intelligence
      • Development
        • Database
        • WEB
        • CSE
        • javascript
        • Algorithms
        • Linux
        • Network
        • Python
        • 라즈베리파이
        • Apple
      • Research
        • 논문
        • 금융,블록체인
        • Time-Series
        • 수학
        • 미적분학
        • 화학
      • Artificial Intelligence
        • Machine Learning
        • Deep Learning
        • TensorFlow
        • ReinforcementLearning
      • 기타
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Linux
    자료구조
    경사하강법
    데이터베이스
    라즈베리파이
    Machine Learning
    ssh
    아이패드
    머신러닝
    gradient descent
    네트워크
    Network
    데이터
    Python
    JavaScript
    pycharm
    파이썬
    gradient
    알고리즘
    자바스크립트
    리눅스
    Algorithms
    맥북
    가상화폐
    기계학습
    Spring
    스프링
    딥러닝
    Mac
    블록체인
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
doh.k
이동평균법(EMA) 개념
상단으로

티스토리툴바