MA Model & Trend Estimation

김당찬·2022년 11월 14일
0

MA Model & Trend Estimation

Moving Average Model

시계열 모형에는 다양한 구조가 존재하는데, 여기서는 가장 기본적인 MA model(이동평균 모형)에 대해 다루어보도록 하자. MA는 Moving Average(이동평균)의 약자인데, 각 시점의 확률변수는 이전 시점들의 White Noise들로 구성된다. MA(q) 모델은 다음과 같이 주어진다.

Xt=atθ1at1θ2at2θqatq+μX_t = a_t-\theta_1 a_{t-1} -\theta_2a_{t-2}-\cdots-\theta_qa_{t-q} + \mu

여기서 q는 몇개 이전의 시점까지가 영향을 미칠 지 결정하는 모형의 차수이다. 가장 간단한 MA(1) 모형은 다음과 같이 나타난다.

Xt=atθat1+μX_t = a_t - \theta a_{t-1} + \mu

Stationarity

MA 모형이 정상성을 가지는지 확인해보면 다음과 같다. 우선 각 시점의 기댓값은 μ\mu로 일정하고 autocovariace function은 다음과 같이 주어진다.

γ(1)=Cov(atθat1,at+1θat)=θσa2γ(h)=0,    h=2,\gamma(1) = \text{Cov}(a_t-\theta a_{t-1}, a_{t+1}-\theta a_t) = -\theta\sigma_a^2\\ \gamma(h) = 0,\;\;h=2,\ldots

즉 위로부터 이동평균모형은 정상시계열임을 확인할 수 있다.

만일 MA(q)에서 q가 무한대로 발산하는 경우의 모형은 어떨지 살펴보자. 이 경우를 Infinite Moving Average Process라고 하는데, 다음과 같이 모형을 정의한다.

Xt=atθ1at1+μj=1θj<X_t = a_t - \theta_1a_{t-1}-\cdots +\mu \\ \sum_{j=1}^\infty|\theta_j|<\infty

이 경우 autocovariance function γ(h)\gamma(h) 는 다음과 같이 주어진다.

γ(h)=σa2j=0θjθjh\gamma(h)=\sigma_a^2\sum_{j=0}^\infty\theta_j\theta_{j-h}

Trend Estimation

시계열 모형은 일반적으로 trend component(mtm_t), seasonal component(sts_t), random noise component(yty_t) 로 구성된다. 즉,

Xt=mt+st+ytX_t = m_t + s_t + y_t

로 주어지는데, yty_t 부분은 대개 정상시계열 모형으로 주어진다(ex. Moving average Model). 여기서는 우선 계절성 변수가 없다고 가정하고(nonseasonal model), xt=mt+ytx_t = m_t + y_t 에서 trend component mtm_t를 추정하는 방법을 살펴보도록 하자.

Moving Average Filter

Nonseasonal Model xt=mt+ytx_t = m_t + y_t 에서 moving window length가 qq인 moving average filter는 다음과 같이 정의된다.

wt=12q+1qqXtjw_t = {1\over 2q+1}\sum_{-q}^q X_{t-j}

그러면

wt=12q+1j=qqmtj+12q+1j=qqytjw_t = {1\over 2q+1}\sum_{j=-q}^qm_{t-j} + {1\over 2q+1}\sum_{j=-q}^q y_{t-j}

로 주어진다. 이때 yty_t 부분은 정상성을 갖는 모형(일종의 random noise)이므로 두번째 항은 사실상 0이 된다. 따라서 우리는 wtw_tmtm_t에 대한 추정값 m^t=wt\hat m_t=w_t 로 사용할 수 있다.

Exponential Smoothing

Exponential smoothing은 다음과 같이 점화식의 형태로 주어진다.

{m^t=αXt+(1α)m^t1,    t=2,m^1=X1\begin{cases} \hat m_t = \alpha X_t + (1-\alpha)\hat m_{t-1},\;\; t=2,\cdots\\ \hat m_1 = X_1 \end{cases}

Smoothing Splines

일반적으로 smoothing spline에서는 3차 스플라인(cubic spline)을 사용하는데, 이는 이계도함수 ftf''_t 가 존재함을 의미한다. 다음의 regularized form을 최소화하는 함수 ftf_t를 사용한다.

t=1n[xtft]2+λ(ft)2dt\sum_{t=1}^n[x_t-f_t]^2 +\lambda\int(f_t'')^2dt

여기서 $\lambda >0 $ 는 degree of smoothness인데, 0에 가까워질수록 데이터를 더 strict하게 fitting한다.

Kernel Smoothing

kernel function K(z)K(z) 를 사용한 smoothing method를 kernel smoothing이라고 하는데, trend estimand는 다음과 같이 정의된다.

m^t=i=1nwi(t)xi\hat m_t = \sum_{i=1}^n w_i(t)x_i

여기서 각 Weight는 커널 함수로부터 다음과 같이 정의된다.

wi(t)=K(tib)jK(tjb)w_i(t) = \frac{K({t-i\over b})}{\sum_j K({t-j\over b})}

주로 커널 함수는 Gaussian RBF(K(z)=12πexp(z22)K(z)=\frac{1}{\sqrt{2\pi}}\exp(-{z^2\over 2}))가 사용되며 hyperparameter bb는 bandwidth로 최적값은 empirical하게 구해진다.

profile
블로그 이사했습니다 https://ddangchani.github.io

0개의 댓글