본문 바로가기

Statistics

Time Series Analysis 2- Single/Centered Moving Average and Double Moving Averages for a Linear Trend Process

원문 : http://www.itl.nist.gov/div898/handbook/pmc/section4/pmc422.htm


1. Single Moving Average


과거 데이터를 요약하는 다른 방법은, 다음과 같이 과거 데이터에 대한 연속적인 작은 집합들의 평균으로 계산하는 방법이다.


임의로 선택한 12개의 납품업체들의 비용크기인 9 ,8 ,9 ,12 ,9 ,12 ,11 ,7 ,13  ,9 ,11 ,10 인 한 데이터집합을 기억해보자.

작은 집합의 사이즈를 나타내는 M을 3으로 설정하자(마치 SGD 에서 Mini-batch 방식을 하는것과 같은 방식). 그러면 처음 3개 숫자의 평균은 (9+8+9) / 3 = 8.667 이 된다.


이것을 우리는 Smoothing 이라고 한다. (즉 평균의 어떤 형태) 이 smoothing process는 1기(period)가 진행될때마다 실행되고 다음 3개 숫자의 평균을 계산한다. 그리고 처음숫자를 버리고 다음 4번째수를 집어 넣는다. 그렇게 되면 2,3,4 가 다음기의 집합이 될것이고 이 집합의 평균을 구한다. 이 방식을 집합의 원소개수가 3이 안될 때까지 반복한다. 그리고 계산한 숫자는 3번째 자리수에 집어 넣는다 밑의 표를 보면 이해가 될 것이다. 


다음 표는 이 과정을 요약하였다. 이러한 smoothing process를 우리는 Moving Averaging(MA) 이라고 말한다. MA에 대한 일반적 표현은 다음과 같다.



MSE =2.42이다 전에 보았던 Simple averaging 기법의 MSE=3 보다 더 좋은 성능을 내었다.


2. Centered Moving Average


위에서 Smoothing의 집합 크기를 M=3 으로 정하고 계산한 평균값을 3번째 기(Period)에 놓았다. 하지만 3번째 period 보다는 2번째 period에 놓는게 더 말이 되지 않을까? 이런 생각에서 나온것이 Centered Moving Average이다. 방법은 간단하다 Smoothing 방식으로 계산한 평균을 3번째가 아닌 2번째 period에 놓는것이다. 이것은 홀수개의 M (period)가 있는 집합에서 잘 작동한다. 그러나 반대로 짝수개의 M이 있는 데이터에서는 그렇지 않다. 예를 들어보자 만약 M=4일때 우리는 첫 MA를 어디에다 두어야 하는가? 정확히는 2.5, 3.5, ...일 것이다. 그러나 이러한 시기는 데이터에 존재하지 않는다. 따라서 이러한 문제점을 해결하기 위해 이 계산된 MA 값을 M=2로 다시한면 Smoothing 시킨다. Smoothing 된 값에 다시한번 Smoothing을 하는 것이다.

다음표는 M=4일때의 결과를 보여준다.



최종 결과표이다.



3.  Double Moving Averages for a Linear Trend Process


불행히도, 모든 데이터의 평균(Simple mean)나 가장 최근 M기의 MA(single / centered MA) 이 두 방법 모두 다음기에 대한 예측으로 사용할 때, 유의한(Significant) 트렌드를 다루지 못한다. 

이러한 트렌드를 잘 다루는 변화된 MA 처리과정이 있다. 이것을 Double Moving Averages for a Linear Trend Process 라고 부른다. 이것은 본래의 MA로 부터 또 한번 MA를 구하는 것이다. Single 그리고 Double MA가 가능하자마자, 컴퓨터의 루틴에서 기울기와 절편을 계산한 후 다음 또는 더 미래의 Period를 예측하기 위해 이 평균을 사용한다.