Exponential smoothing
ˆXt+1=αXt+(1−α)ˆXt 식을 생각해 보겠습니다. (α는 smoothing 계수입니다)
ARIMA(0,1,1) = Xt=Xt−1+at−θat−1 는 정리하면 at=(1−θB)−1(Xt−Xt−1) 로 표현할 수 있습니다. 이를 다시 풀어쓰면 at=Xt−(1−θ)Xt−1−θ(1−θ)Xt−2−...가 되고 이를 다시 Xt에 대해 풀어쓰면 Xt=at+(1−θ)Xt−1+θ(1−θ)Xt−2+θ2(1−θ)Xt−3+...으로 표현할 수 있습니다.
이때, t+1 시점의 예측치는 어떻게 될까요? ˆXt+1=(1−θ)xt+θ(1−θ)xt−1+...가 됩니다. 이 식 안에서 (1−θ)xt−1+θ(1−θ)xt−2+...는 ˆXt 로 생각할 수 있어 ˆXt+1=(1−θ)xt+θˆXt 의 식이 유도됩니다. (1−θ)를 α로 생각할 수 있습니다) 즉, ARIMA(0,1,1) 모형이나 1차 difference를 하는 시계열에 대해서는 exponential smoothing 으로 쉽게 예측치를 추정할 수 있다는 것이고 α는 현재 관측치에 얼마만큼의 weight를 줄 것인지를 결정합니다.
그렇다면 α는 어떻게 찾을까요? 우리는 결국 예측치를 실제값과 가깝게 만들고 싶습니다. et=xt−ˆxt 를 최소화하는 방향으로 α를 찾을 수 있습니다. 또한, cross-validation이나 grid search를 이용해서도 찾을 수 있습니다.
Double exponential smoothing
조금 더 복잡한 시계열 데이터에 대해서는 어떻게 될까요? 위에서 살펴본 single exponential smoothing은 간단한 모델에 대해서 잘 동작하지만 추세를 따르는 데이터에 대해서는 잘 동작하지 않습니다. Double exponential smoothing은 β라는 추가 파라미터 γ 를 도입하여 모델링합니다.
단순한 a+bt를 따르는 시계열 데이터가 있다고 했을 때, double exponential smoothing은 ˆat=αxt+(1−α)(ˆat−1+ˆbt−1) 과 ˆbt=γ(ˆat−ˆat−1)+(1−γ)ˆbt−1 로 예측값을 추정합니다. 초기값은 다양하게 설정할 수 있지만 ˆx1=x1, ˆb1=x2−x1, ˆa0=0을 통해 점화식을 구성하여 ˆat,ˆbt를 구할 수 있습니다.
Centered moving average (CMA)
Seasonality를 가지면서 추세를 가진 시계열 데이터는 많이 등장합니다. 이때 사용할 수 있는 방법이 multiplicative seasonal 모형입니다. (Seasonality가 점점 커지는 것이 아니라면 additive 로 모델링이 가능하고 대부분의 소프트웨어에 구현되어 있습니다) 우리는 다음과 같은 수식으로 모델링합니다.
Xt=(a+bt)CtmodT+ϵ
T는 seasonality의 주기가 되고 위 식에서 알려지지 않은 파라미터 (우리가 구해야할 파라미터)는 a,b,c0,c1,...,cT−1이 있습니다. 그리고 주기를 구성하는 각 성분의 영향력을 고정시키기 위해 c0+c1+...+cT−1=T를 만족하는 제약 조건이 있습니다.
Centered moving average 방법에서는 먼저 사전 지식 등을 이용해서 주기 T를 파악합니다. 그 후 주기가 7이라면 CMAt=xt−3+xt−2+...+xt+37 으로 moving average 값을 계산합니다. 즉, 선형 추세가 있다고 가정하기 때문에 앞의 부분과 뒤의 부분을 평균하면 현재 시점의 예측치라 가정하는 것입니다. 이 때, CMAt는 a+bt를 근사하게 됩니다.
이를 일반화해서 표현하면 CMAt=1/T∑cycle(a+bt)ctmodT+ϵ과 같이 되고 이를 각 주기 별로 값을 구해 평균 내면 AVGt=1/k ∑k−1i=0(xt+ikCMAt)가 되고 c0+c1+...+cT−1=T 에 따라 ct=AVGt×T∑T−1kAVGk로 구할 수 있습니다. 이후, xt를 c0,...,cT−1로 나눈 것은 데이터의 seasonality 곱의 영향력이 사라졌다고 생각할 수 있습니다. (a+bt 로 가는 것이죠) 회귀를 하거나 double exponential smoothing 을 이용하면 a,b를 구할 수 있습니다.
Winter's method
Winter's method는 CMA 부분에서 설명한 시계열 데이터 패턴에 대한 triple exponential smoothing 입니다. 즉, 3개의 파라미터 α,β,γ를 통해 다음과 같이 추정합니다.
ˆat=αxt/ˆctmodT+(1−α)(ˆat−1+ˆbt−1)
ˆbt=β(ˆat−ˆat−1)+(1−β)ˆbt−1
ˆctmodT=γ(xt/ˆat)+(1−γ)ˆctmodT
Double exponential smoothing 처럼 초기값을 통해 점화식을 구성해서 ˆat, ˆbt, ˆct를 구할 수 있고 이를 이용해 미래 시점을 예측할 수 있습니다.
'Machine Learning Tasks > Time Series' 카테고리의 다른 글
Deep State Space Models for Time Series Forecasting (0) | 2021.03.18 |
---|---|
Multivariate Time Series (1) - 기본 확률 (0) | 2021.03.13 |
Nonstationary process, ARIMA, SARIMA (0) | 2021.03.11 |
Parameter Estimation, Model Redundancy, Prediction (0) | 2021.03.10 |
시계열 모델 building (0) | 2021.03.10 |