본문 바로가기

Machine Learning Tasks/Time Series

Partial Correlation

반응형

AR, ARMA 모델의 autocorrelation function은 래그에 따라 비슷한 exponential 모양을 가지기 때문에 autocorrelation function 만으로 어떤 모델을 사용할지 결정하기가 쉽지 않습니다. 이를 위해 시계열 분석에서는 partial correlation function 또한 고려하게 됩니다.

교회의 수와 범죄의 수는 놀랍게도 양의 상관관계를 가지고 있습니다. (거의 대부분의 나라에서 통계적으로 검증되었다고 합니다.) 이것은 인구가 많아지기 때문에 교회의 수가 많아지고 범죄의 수가 많아지기 때문인데, 인구라는 외부 변수를 제거하고 상관관계를 생각하여야 합니다. 

Partial correlation $(\rho_{X,Y} = Corr(X,Y))$ 에서 우리는 인구라는 변수 $Z$의 영향을 제외하고 $X,Y$의 선형관계 (correlation) 을 보고 싶은 것입니다. Notation 상으로 $\rho_{X,Y|Z} = Corr(X,Y|Z)$ 으로 표기합니다. 어떻게 계산할까요?

먼저 각 $X,Y$에서 $Z$에 대한 선형적인 정보를 최대한 제거하고 나머지 에러를 구합니다. 즉, $X=\alpha Z + err_X$, $Y=\beta Z + err_Y$ 에서 회귀 분석을 통해 $\alpha, \beta$ 를 찾아내고 얻은 나머지 에러, $err_X, err_Y$를 통해 correlation 을 계산합니다. 결과적으로 $X,Y$에서 $Z$의 영향력을 제거한 이후에 correlation을 다음과 같이 계산하게 됩니다.

$\rho_{X,Y|Z} = \frac{\rho_{XY} - \rho_X \rho_Y}{\sqrt{1-\rho_{XZ}^2}\sqrt{1-\rho_{YZ}^2}}$

만약, $\rho_{XZ}=1$ 이라면 $X,Z$가 선형적으로 일치하므로 $\rho_{X,Y|Z}$을 계산하는 것은 수학적으로 불가능하고 의미도 없습니다. 

Applying to time series

시계열 분석에서의 partial correlation은 $Corr(X_t, X_{t-h} | X_{t-h+1}, X_{t-h+2}, ... , X_{t-1})$ 로 $X_t, X_{t-h}$ 사이에 있는 관측치의 영향을 제거하고 $X_t, X_{t-h}$의 순수한 둘만의 관계를 표현합니다. 이를 $\phi_{hh}$ 라 표기합니다.

위에서 계산한 방식으로 $Corr(X_t, X_{t-h} | X_{t-h+1}, X_{t-h+2}, ... , X_{t-1})$ 또한 똑같이 계산할 수 있습니다. $\rho_{X,Y|Z}$가 $X,Y$를 $Z$에 대해 회귀 분석하여 최대한 설명한 이후의 남은 나머지 값으로 correlation을 계산했듯이 다음과 같이 비슷하게 진행할 수 있습니다.

$Corr[X_t - (\alpha_1 X_{t-1} + \alpha_2 X_{t-2} + ... + \alpha_{h-1} X_{t-h+1})$,

$X_{t-h} - (\beta_1 X_{t-1} + \beta_2 X_{t-2} + ... + \beta_{h-1} X_{t-h+1})]$

$\alpha_1, ..., \beta_1, ...$ 도 회귀 분석으로 계산하여 얻습니다.

EXAMPLE

$\phi_{22} = Corr(X_t, X_{t-2} | X_{t-1})$ 을 생각해 보겠습니다. 이는 $Corr(X_t-\alpha X_{t-1}, X_{t-2}-\beta X_{t-1})$ 로 표현할 수 있는데, 회귀 분석을 통한 얻은 계수의 의미를 생각해보면 $\alpha=Corr(X_t, X_{t-1})$, $\beta=Corr(X_{t-2}, X_{t-1})$ 이 됩니다. 

왜 이렇게 되는지 $Y$를 $X$에 대해 회귀하는 예에 대하여 생각해 보겠습니다. $Y$를 $X$에 대해 회귀한다는 것은 $E[(Y-\alpha X)^2]$를 최소화하는 $\alpha$를 찾는 과정입니다. $E[(Y-\alpha X)^2]$를 풀어쓰면 $E[Y^2 - \alpha XY + \alpha^2 X^2]$가 되고 이를 $\alpha$에 대해 미분하고 0이 되는 지점을 찾으면 $\alpha$를 구할 수 있습니다.

$\alpha = \frac{E[XY]}{E[X^2]} = \frac{Cov(X,Y)}{\sqrt{Var(X)}\sqrt{Var(Y)}} = Corr(X,Y)$

이때, $X,Y$의 평균이 0이고 stationary 해서 분산이 같다고 가정하였습니다. 따라서 $\alpha=Corr(X_t, X_{t-1})$, $\beta=Corr(X_{t-2}, X_{t-1})$ 를 얻을 수 있습니다.

Case of AR

AR(1)부터 살펴보겠습니다. $X_t$ = $\phi X_{t-1} + a_t$에서 $\phi_{11}$ = $Corr(X_t, X_{t-1})$ = $\rho (1)$ = $\phi$가 됩니다. $\phi_{22}$ = $Corr(X_t, X_{t-2} | X_{t-1})$ 은 어떻게 될까요? $Corr(X_t - \alpha X_{t-1}, X_{t-2} - \beta X_{t-1})$ 에서 $\alpha$ = $Corr(X_t, X_{t-1})$ = $\phi$,  $\beta$ = $Corr(X_{t-1}, X_{t-2})$ = $\phi$ 가 되므로 $Corr(X_t - \alpha X_{t-1}, X_{t-2} - \beta X_{t-1})$ = $Corr(a_t, a_{t-1})=0$ 으로 귀결됩니다. 즉, 두 칸 떨어진 시계열 데이터 점들의 순전한 관계는 없다고 생각할 수 있는 것이죠.

$\phi_{33}$ = $Corr(X_t, X_{t-3} | X_{t-1}, X_{t-2})$도 마찬가지로 $Corr(X_t - \alpha_1 X_{t-1} - \alpha_2 X_{t-2}, X_{t-3} - \beta_1 X_{t-1} - \beta_2 X_{t-2})$ 가 되고 이것은 $Corr(a_t, a_{t-2}) = 0$이 됩니다. 마찬가지의 로직을 계속 적용하면 $\phi_{44} = \phi_{55} = ... = 0$ 이 됩니다.

AR(2)에 대해서도 적용해 보면 $\phi_{11}$ = $\frac{\phi_1}{1-\phi2}$ 가 되고 $\phi_{33}$ = $\phi_{44} = ... = 0$ 이 되게 됩니다. 이를 확장하면 AR(p)에 대해서 $\phi_{pp}$까지는 값을 가지고 p+1 이상의 값부터는 0이 되는 것을 알 수 있습니다.

In general

일반적으로 Partial Autocorrelation function (PACF)는 다음과 같이 풀어쓸 수 있습니다.

$\rho_1 = \phi_{h1} + \phi_{h2}\rho_1 + ... + \phi_{hh}\rho_{h-1}$

$\rho_2 = \phi_{h1}\rho_1 + \phi_{h2} + ... + \phi_{hh}\rho_{h-2}$

$\rho_h = \phi_{h1}\rho_{h-1} + \phi_{h2}\rho_{h-2} + ... + \phi_{hh}$

위의 수식들에 대해 행렬로 나타내어 $y=Ax$의 방정식을 풀면 $\phi_{hh}$를 구할 수 있습니다. 이를 AR(2)에 대해 적용해보면 $\rho_1$ = $\rho_0\phi_{21} + \rho_1\phi_{22}$, $\rho_2$ = $\rho_1\phi_{21} + \rho_0\phi_{22}$ 를 통해 $\phi_{22}$ 를 구할 수 있습니다.

 

Behavior of ACF and PACF

시계열 분석에서는 먼저 주어진 데이터에 대해 로그, 루트 등을 취한 이후에 ACF, PACF를 구한 이후에 stationary 여부를 판단하고 그래프의 모양을 분석하여 모델을 선택하게 됩니다. AR, MA, ARMA 모델에 대해 ACF, PACF 는 래그에 따라 다음과 같은 모양을 가지게 됩니다.

  AR(p) MA(q) ARMA(p,q)
ACF Decay to zero Cuts off after q Decay to zero
PACF Cuts off after p Decay to zero Decay to zero

Case of AR

AR 에서의 ACF는 래그에 따라 exponential 하게 줄어들게 됩니다. Exponential 하게 줄어들면서 진폭이 감소하는 사인파 형태를 지니게 됩니다. 반면, PACF는 위에서 언급했듯이 AR(p)에 대해 처음 래그 p 이전의 값만 살아있고 래그 p 이후에 0으로 절단되게 됩니다. 밑의 그림의 ACF, PACF 그림을 보아할 때 AR(2) 모형이 적당하다고 판단할 수 있습니다.

Case of MA

MA(q) 에서의 ACF 는 래그 q 까지 값이 남아있고 q 이후의 값은 0이 되게 됩니다. PACF는 exponential 하게 줄어들며서 진폭이 감소하는 사인파 형태를 지니게 됩니다.

Case of ARMA

ARMA 에서는 ACF, PACF 모두 exponential 하게 줄어드는 모양을 가지게 됩니다. ARMA(p, q) 에서 p > q 인 경우에는 AR 항이 MA 항보다 많으므로 전체적으로 AR의 모양에 따르게 되고 p < q 인 경우에는 MA 항이 AR 항보다 많으므로 전체적으로 MA 모양을 따르게 됩니다.

Examples

위 그림에서는 ACF가 점차 감소하면서 PACF가 래그 1 이후에 잘려집니다. 따라서 AR(1)이 적합할 것 같습니다.

위 그림에서는 PACF가 점차적으로 줄고 ACF는 래그 1 이후에 잘려집니다. 따라서 MA(1)이 적합할 것 같네요.

위 그림에서는 ACF, PACF 모두 점차적으로 줄고 있어 ARMA(1,1)이 적합할 것으로 보입니다. 하지만 보는 관점에 따라 ACF는 래그 2 이후에 잘려진 것처럼 해석할 수 있어 이런 경우에는 MA(2)가 적합할 수도 있습니다. 단순히 그래프만 보고 판별하기는 어렵죠.

In practice

실제 데이터에 대해서는 ACF나 PACF 가 이론적인 값으로 정확히 떨어지지 않습니다. 특히, 특정 시점 이후에 0이 되어야 함에도 불구하고 약간의 값이 남아 있는 경우가 많습니다. 이를 위해 값이 특정 바운드 ($\frac{2}{\sqrt{n}}$) 안에 떨어진다면 95% 이상의 신뢰도로 0으로 간주하고 모델링을 수행하게 됩니다. 

반응형