본문 바로가기

Statistics

Time Series Analysis 4 - Single Exponential Smoothing

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


Exponential Smoothing(ES)는 미래의 값을 예측하기 위해 과거의 데이터로 갈수록 가중치를 지수적으로 줄여 할당한다.

이 smoothing 체계는 를 에 설정하는것으로 시작한다. 여기서 는 Smoothed 된 관찰치 혹은 EWMA(Exponentially Weighted Moving Average)를 나타낸다. 그리고 는 본래의 관찰치를 나타낸다. 밑수는 시기(time periods)를 나타낸다. (1,2,3,...n). 예를 3번째 시기는, 



로 나타낼 수 있다. 은 없다. 그 이유는 Smooth된 시계열은 두번째 관찰치가 Smooth 된 것으로 시작하기 때문이다. (자기자신을 Smoothing 해도 똑같으니까..)

3=αy

어느 t 시기동안, smooth된 값는 다음을 계산함으로 얻어진다. 


St=αyt1+(1α)St10<α1t3.


이것은 ES의 기본방정식이다. 그리고 상수 또는 파라미터 (0에서 1 사이)는 Smoothing 상수라고 부른다.

위식에 대한 설명을 정리해보면 a를 통해 내삽에 쓰일 값들(,) 현재 smoothing할 값에 가까운 정도를 반영하여, 에 얼마 현재의 smoothing 된 값 는 현재의 관찰치 와 이전의 smoothing된 값 사이의 보간법 혹은 내삽법이다. 쉽게말해 이둘을 반영해 조정하여 삽입한 값이라 이거다. (참고 : http://blog.daum.net/_blog/BlogTypeView.do?blogid=0QDNy&articleno=2)

주의할것은, ES에 대한 다른 접근이 있다. 이 방법은  기본방정식에서 을 인 현재의 관찰치로 대체하는 방법이다.  Roberts (1959)에 의해 도입된 이 식은 EWMA control charts 파트에서 자세히 설명하겠다. 여기있는 공식은 Hunter(1986)의 공식을 썼다.


1. Setting the first EWMA


첫 예측(forecasting)은 매우 중요하다. 초기의 EWMA 는 이후에 계속 이어질 EWMA들을 계산하는데 있어 매우 중요한 역할을 한다.  를 에 설정하는 것은 초기화의 한 방법이다. 또 다른 방법은 과정의 목표값에 를 설정하는 것이다.

다르게 말하면, 의 값이 더 잘을수록 초기 EWMA의 선택이 더 중요해지는 것이다. 이 설정을 결정하기 전에, (소프트웨어로 이용이 가능하다는 가정하에) 사용자가 몇가지 방법들을 시도해 보는것이 현명할 것이다.


2. Why is it called 'Exponential'?


을 변경하는 것으로 의해 기본식을 확장해보자.  기본식은 다음과 같이 변경될 것이다.



을 변경하고 다음은 계속 이렇게 (혹은 그냥 )에 도착할때까지 변경을 하는것에 의해 확장된 식은 다음과 같이 표현될 수 있다.


예를 들어 Smoothing 한 값 에 대한 확장된 식은 다음과 같다.



밑에 식은 exponential behavior를 나타낸 것이다. 가중치 는 기하학적으로 감소하고 가중치들의 합은 밑에서 보는바와 같이 등비급수(geometric series)의 성질을 이용하여 1이다


예를 들어 α = 0.3 으로 지정해보자, 가중치들 가 시간이 흐름에 따라 기하급수적으로 줄어드는것을 보자.




3. What is the "best" value for α?



그렇다면 어떻게 가중치 파라미터를 고를까? 더 오래된 값들이 smoothing되는 속도가 α값에 대한 함수이다.

α가 1에 가깝다면, smoothing(or, dampening)은 빨라질 것이고, α가 0에 가깝다면 smoothing의 속도는 줄어들것이다. 밑의 표가 이를 보여준다.




우리는 가장 적은 MSE를 나타내는 값에 대한 α를 최적의 값으로 선택한다.

예를 들어, 시간에 따라 얻은 12개의 관찰치로 구성된 데이터가 있다고 가정하자.



Sum of sqared errors(SSE) = 208.94이고 Mean of the sqaured errors(MSE)는 SSE/11=19 이다.


를 0.5로 하여 MSE를 다시 계산하였더니 16.29 가 나왔다. 따라서 이 상황에서는 =0.5로 하는 것이 더 낫다. 더 좋은 성능을 낼 수 있을까? 우리는 검증된 방식인 시행착오법(trial and error method)를 사용할 수 있다. 이 방식은  0.1 에서 0.9 사이의 의 범위로 시행하는 반복적인 과정이다. 초기값을 결정하고 다음에  와  사이의 값을 찾는 것이다. (마치 Gradient Descent/Ascent 방식과 같음). 우리는 이를 이 방법을 소수점 3자리 까지 최적의 값을 찾기위해 더 시행할 수 있다.


그러나  이러한 방법보다 더 좋은 Marquardt procedure 같은 방법들이 있다. 잠깐 Marquardt procedure에 대해 설명하면, 이것은 비선형 최적화기법으로 sum of squares of residuals (SSE와 같음) 을 최소화 하는 방법이다. 다시말해 비선형 최소자승법이라고 한다. 일반적으로 잘 설계된 통계프로그램에서는 MSE를 최소화하는 값을 찾을 수 있다. 

(참고 :http://darkpgmr.tistory.com/142)