시계열 데이터의 정상성(ACF, PACF)

hyundodo·2022년 4월 1일
0

시계열 데이터는 여러 확률이 결합돼 생성된 데이터이고, 이를 확률법칙에 의해 생성되는 일련의 통계적인 현상인 확률과정의 하나라고 생각할 수 있습니다.

정상확률과정

관찰된 시계열은 여러 확률변수의 집합인 확률과정입니다. 하지만 관찰된 시계열 안에 존재하는 확률과정의 확률구조를 추론하는 것은 불가능하기 때문에, 확률구조를 단순화하여 추론해야 합니다.
이 확률과정을 추론하기 위한 단순화 과정을 정상성이라합니다. 즉, 관찰된 시계열 데이터에 가능한 확률과정의 모형(시계열 모형)은 굉장히 많은데, 이들 중에서 어떤 특정한 성질을 가지는 일부분만을 고려하자는 개념이 정상성입니다.

정상성

관찰된 시계열 데이터의 평균, 분산 등에 체계적인이고 주기적인 변화가 없는 경우를 정상성을 가진 데이터라고 합니다. 대부분의 시계열은 정상성을 가정하고 전개하는데, 정상적이 아닌 시계열은 정상시계열로 변환해 주어야 합니다.

확률변수 ZtZ_t가 시간 t에 관계없이 평균, 분산이 일정하고, 시차 kk에 따른 ZtZ_tZt+kZ_{t+k}의 공분산인 자기공분산, 자기상관계수가 시차 kk에만 의존하고 시점 tt에는 무관하다면 해당 시계열은 약정상성을 갖는다고 할 수 있습니다.

그렇다면 우리는 시계열 ZtZ_t의 평균 μ\mu와 분산 σ2\sigma^2 그리고 시차에 따른 자기상관계수를 알면 시계열의 확률구조를 완전히 파악할 수 있게 됩니다. 그리고 이런 정상성을 가지는 확률과정을 정상확률과정이라고 합니다.

확률과정의 예로는 백색잡음과정(White Noise Process)과 확률보행과정(Ramdom Walk Process)이 있는데, 백색잡음과정은 정상확률과정이고 확률보행과정은 비정상확률과정의 예입니다.

이처럼 확률과정을 추론하기 위한 단순화 과정을 정상성이라 하고, 정상성을 갖는 확률과정을 정상확률과정이라고 합니다. 이중 정상확률과정의 예로 백색잡음과정(White Noise Process)이, 비정상확률과정의 예로는 확률보행과정(Ramdom Walk Process)이 있습니다.

백색잡음과정

정상확률과정의 대표적인 예인 백색잡음과정을 살펴보도록 하겠습니다. 앞서 정상성을 가지는 정상확률과정은 평균과, 분산이 일정하고 시차 kk에만 영향을 받는 시계열이라는 것을 계속 상기해서 보면 좋을 것 같습니다.

ata_t들이 서로 독립이고 평균이 0이고 분산이 σ2\sigma^2인 확률변수일 때, ata_t는 백색잡음과정 WN(0,σa2)WN(0,\sigma^2_a)을 따른다고 할 수 있습니다.

Zt=u+at,     t=1,2,3,...,TZt=at\begin{aligned} Z_t&=u+a_t,      t=1,2,3,...,T \\ \\ Z_t&=a_t \end{aligned}

그렇다면 백색잡음과정을 위와 같은 확률과정으로 정의할 수 있습니다. 서로 독립이고 동일한 분포를 따르는 확률변수들의 계열로 구성된 확률과정입니다. 따라서 모든 tt에 대해서 평균, 분산이 일정하고 자기공분산, 자기상관계수가 없게(0)되고, 이는 시간 tt에 무관하다는 것을 의미합니다. 따라서 백색잡음과정은 정상확률과정이라고 할 수 있는 것입니다.

이후 많은 확률과정 자기회귀(AutoRegressive), 이동평균(Moving Average)과정을 추가한 모형인 AR, MA, ARMA 등의 확률과정들은 백색잡음과정을 기초로 해서 추가해 생성됩니다.

자기상관함수와 부분자기상관함수

시계열이 정상성을 갖는지 확인하기 위해서는 평균, 분산과 함께 자기상관계수를 확인해봐야 했습니다. 예를 들어 백색잡음과정을 따르는 시계열이라면 모든 시차에서 자기상관계수는 없어야 하니까, 실제 데이터에서 이를 확인하기 위해서는 자기상관을 도출해봐야 합니다. ('자기'는 시간이라는 하나의 변수에 따른 데이터이므로 공분산과 상관계수를 각각 자기공분산, 자기상관계수라고 합니다.)

자기공분산함수

정상시계열은 평균이 μ\mu, 분산이 σ2\sigma^2로 일정하고 자기공분산은 단지 시차 kk의 함수로 표현됐었습니다. 이를 통해 자기공분산 함수를 정의해보도록 하겠습니다.

γk=γ(k)=Cov(Zt,Ztk)=E[(Ztμ)(Ztkμ)]\gamma_k=\gamma(k)=Cov(Z_t, Z_{t-k})=E[(Z_t-\mu)(Z_{t-k}-\mu)]

자기공분산은 시차kk의 함수로 표현되므로 ZtZ_tZtkZ_{t-k}의 자기공분산 γk\gamma_k은 위와 같은 식으로 표현할 수 있고, γk\gamma_k들의 집합을 자기공분산함수라고 합니다. 시차가 없으면 γ0=Var(Zt)\gamma_0 = Var(Z_t)가 되겠죠.

자기상관함수

자기공분산을 정의했으니, 자기상관함수도 정의할 수 있습니다.

ρk=Corr(Zt,Zt+k)=Cov(Zt,Zt+k)Var(Zt)Var(Zt+k)=γkγ0\rho_k = Corr(Z_t, Z_{t+k})=\frac{Cov(Z_t, Z_{t+k})}{\sqrt{Var(Z_t)*Var(Z_{t+k})}}=\frac{\gamma_k}{\gamma_0}

시차가 kk인 자기상관계수는 위의 식과 같이 표현되고, ρk\rho_k들의 집합을 자기상관함수라고 합니다. 만약 시차가 없는 자기자신과는 상관이 1이므로, ρ0=1\rho_0=1이겠죠.

자기상관함수는 확률과정의 평균, 분산과 함께 정상확률과정의 확률구조를 특정지어 주므로, 시계열을 판단하는데 중요한 역할을 합니다.

부분자기상관함수

시계열에는 시차를 제외하고 다른 여러 변수들이 포함되어 있을 수 있습니다. 우리는 제3의 변수를 제거하고 시차에 따른 상관을 확인해보아야 하는데, 이를 부분상관계수를 의미합니다.

ϕkk=Corr(Zt,ZtkZt1,Zt2,...,Ztk+1)\phi_{kk} = Corr(Z_t, Z_{t-k}|Z_{t-1},Z_{t-2},...,Z_{t-k+1})

정상시계열의 부분자기상관계수 ϕkk\phi_{kk}는 위의 식으로 정의할 수 있는데, Zt1,Zt2,...,Ztk+1Z_{t-1}, Z_{t-2},...,Z_{t-k+1}의 효과를 제거한 후 kk시차 만큼 떨어진 ZtZ_tZtkZ_{t-k}의 상관계수를 의미합니다.

이 부분자기상관계수의 집합을 부분자기상관함수라고 합니다.

자기상관함수와 부분자기상관함수의 추정

관찰된 실제 데이터의 자기상관을 판단하기 위해선 실제 표본 데이터로부터 자기상관함수를 추정해야 합니다. 추정은 점추정으로 합니다.

표본자기상관함수

Zˉ=1ntnZtr^k=tnk(ZtZˉ)(Zt+kZˉ)n     k=1,2,...\begin{aligned} \bar Z&=\frac {1}{n}\sum^n_t Z_t \\ \\ \hat r_k&=\frac{\sum^{n-k}_t(Z_t-\bar Z)(Z_{t+k}-\bar Z)}{n}      k=1,2,... \end{aligned}

위 식은 자기공분산 γk\gamma _k의 점추정량인 표본자기공분산함수입니다. 이를 통해 표본자기상관함수도 정의할 수 있습니다.

ρ^k=γ^kγ^0=t=k+1n(ZtZˉ)(ZtkZˉ)t=1n(ZtZˉ)2     k=1,2,...\hat \rho_k=\frac{\hat \gamma_k}{\hat \gamma_0}=\frac{\sum^n_{t=k+1} (Z_t-\bar Z)(Z_{t-k}-\bar Z)}{\sum^n_{t=1} (Z_t-\bar Z)^2}      k=1,2,...

위 식은 시차 kk의 표본자기상관함수입니다. Bartlett(1946)의 결과에 의하면, 시계열 자료의 수 n이 충분히 크가면 표본자기상관계수 ρ^k\hat \rho _k

ρ^kN(ρk,12(1+2j=1qρk2))\hat \rho _k \sim N(\rho_k, \frac{1}{2}(1+2\sum^q_{j=1}\rho^2_k))

와 같이 정규분포를 따른다고 합니다. 여기서 충분히 많은 시계열 자료의 수는 약 100개 이상입니다. 이처럼 ρk\rho_k를 추정했다면, 이제 검정의 단계가 남아있습니다. 자기상관계수가 유의한지 검정하여 최종적으로 시계열 데이터의 정상성을 확인할 수 있습니다.

ρ^k\hat \rho_k의 유의성 검정을 해보도록 하겠습니다. 정상확률과정을 따르는 백삭잡음과정으로부터 자기상관함수를 정의했었기 때문에 자기상관계수가 0으로 상관관계를 가지지 않는게 귀무가설이겠습니다.
H0:ρk=0H_0:\rho_k=0 vs H1:ρk0H_1:\rho_k \ne 0
귀무가설을 기각하고 대립가설을 채택하게 되면, ρ^k\hat \rho_k는 유의합니다(0이 아니라는 것!).

ρ^kN(ρk,Var(ρ^k))N(ρk,1n)Under H0   Z=ρ^kVar(ρ^k)N(0,1)\begin{aligned} \hat \rho _k &\approx N(\rho_k, Var(\hat \rho _k ))\equiv N(\rho_k, \frac{1}{n}) \\ \\ Under \ H_0 \ \ \ Z&=\frac{\hat \rho_k}{\sqrt {Var(\hat \rho_k)}} \sim N(0,1) \end{aligned}

검정통계량은 위와 같이 설정할 수 있고 통상적으로 설정하는 95% 신뢰구간으로 고려해보겠습니다. ρ^k>2SE(ρ^k)|\hat\rho_k |>2 * SE(\hat\rho_k)이면 ρk\rho_k는 귀무가설을 기각해 유의한 값이 되고, ρ^k2SE(ρ^k)| \hat \rho_k |\leq 2 * SE(\hat \rho_k )이면, ρk\rho_k는 유의하지 않습니다(95% 신뢰구간으로 고려하므로 1.9621.96 \approx 2). 이에 따라서 귀무가설을 기각하지 못하는 ρk\rho_k는 자기상관 값이 거의 0이라는 것을 의미하고, 해당 시차에서는 자기상관이 없다고 할 수 있습니다.

표본부분자기상관함수

표본부분자기상관함수에서 ρj\rho_jρ^j\hat\rho_j로 대체하고, Durbin-Levinson 알고리즘에 의해 얻어집니다.

ϕ^11=ρ^1ϕ^k+1,j=ρ^k+1j=1kϕ^kjρ^k+1j1j=1kϕ^kjρ^jϕ^k+1,j=ϕ^kjϕ^k+1,k+1ϕ^k,k+1j,  j=1,2,...,k\begin{aligned} \hat\phi_{11}&=\hat\rho_1 \\ \\ \hat\phi_{k+1,j}&=\frac{\hat\rho_{k+1}-\sum^k_{j=1}{\hat\phi_{kj}\hat\rho_{k+1-j}}}{1-\sum^k_{j=1}{\hat\phi_{kj}\hat\rho_j}} \\ \\ \hat\phi_{k+1,j}&=\hat\phi_{kj}-{\hat\phi_{k+1,k+1}\hat\phi_{k,k+1-j}}, \; j=1,2,...,k \end{aligned}

이렇게 구한 각 시차의 ϕkk\phi_{kk}를 추정할 수 있습니다. 이제 유의성 검정을 해보도록 하겠습니다.

HO:ϕkk=0(k>p)  vs  H1:ϕkk0(kq)H_O: \phi_{kk}=0(k>p) \; vs \; H_1: \phi_{kk}\ne0(k\le q)

검정통계량은 아래와 같습니다.

ϕ^kkN(ϕkk,1n),  k>p\hat\phi_{kk}\approx N(\phi_{kk},\frac{1}{n}), \;k>p

정규분포를 따르게 되므로, 간단하게
ϕ^kk>2n|\hat\phi_{kk}|>\frac{2}{\sqrt{n}}이면 ϕkk\phi_{kk}는 유의하고,
ϕ^kk2n|\hat\phi_{kk}|\le\frac{2}{\sqrt{n}}이면 ϕkk\phi_{kk}는 유의하지 않게 됩니다.
이를통해 제 3의 요인을 제거한 해당 시차에서의 자기상관을 확인할 수 있습니다.

이렇게 모든 시차에 대해 자기상관을 구해보고 검정을 통해 관찰된 데이터의 정상성을 확인할 수 있습니다. 또한, 자기상관계수를 도표로 나타내 정상성을 직관적으로 확인해볼 수도 있습니다.

상관도표(Correlogram)

자기상관계수를 kk의 함수로 놓고 그린 도표를 상관도표라고 합니다. 이 상관도표를 통해 한눈에 시계열 데이터의 정상성을 한 눈에 판단할 수 있습니다. 또한, 시계열 ARIMA 모형의 차수를 결정하는데도 도움이 됩니다.

실제로 도표로 나타내면 위와 같은 형태를 띄게 됩니다. 파란색 점선이 신뢰 구간을 나타내는데, 구간 안에 있으면 유의하지 않은 ρk\rho_k값(자기상관이 없음)을 의미합니다. 위의 데이터는 구간을 벗어나는 ρk\rho _k값이 없으므로 백색잡음과정 데이터라고 할 수 있겠습니다.

하지만 k=16k=16과 같이 신뢰구간에 애매하게 걸쳐있는 경우가 있는데, 이때는 Ljung-Box test와 같은 방법으로 검정해보아야 합니다.

profile
Vision-Language Model과 Video Understanding에 관심이 있습니다.

0개의 댓글