정상성과 단위근
시계열의 통계적 특성이 시간에 따라 일정한지 확인하는 ADF · KPSS 검정
시계열 데이터를 분석할 때는 과거의 패턴이 앞으로도 비슷하게 유지될 수 있는지 살펴봐야 합니다. 데이터가 장기간 계속 증가하거나 변동 폭이 커진다면, 과거와 현재의 관계를 동일한 방식으로 설명하기 어려울 수 있습니다. 이때 중요한 개념이 정상성(Stationarity)입니다. 정상성은 시계열의 통계적 특성이 시간에 따라 일정하게 유지되는지를 설명하며, ADF와 KPSS는 시계열이 정상성을 만족하는지 판단할 때 사용하는 대표적인 검정 방법입니다. 이 장에서는 정상성과 단위근의 뜻, 차분, 그리고 두 검정을 함께 해석하는 방법을 알아봅니다.
정상성이란?
정상성을 이해하려면 시계열의 평균, 분산, 시점 간 관계를 살펴보면 됩니다.
- 평균이 일정함: 데이터가 장기적으로 특정 수준을 중심으로 움직입니다.
- 분산이 일정함: 시간에 따라 데이터의 변동 폭이 크게 달라지지 않습니다.
- 시차에 따른 관계가 일정함: 두 시점 사이의 관계가 달력상의 위치가 아니라 두 시점 사이의 간격에 따라 결정됩니다.
이러한 특성을 만족하는 시계열을 정상 시계열이라고 합니다. 실무에서는 주로 평균과 분산이 일정하고 자기공분산이 시차에만 의존하는 약정상성(weak stationarity)을 다룹니다.
그림 1의 첫 번째는 일정한 수준을 중심으로 오르내리며 변동 폭도 대체로 비슷하게 유지되는 정상 시계열입니다(예: 안정적인 환경에서 측정한 센서의 측정 오차). 두 번째는 시간이 지날수록 평균적인 수준이 높아지는 추세가 있는 비정상 시계열(예: 장기적으로 성장하는 기업의 매출), 세 번째는 시간이 지날수록 변동 폭이 커지는 시계열(예: 시장 상황에 따라 가격 변동성이 크게 달라지는 금융 데이터)입니다. 주의할 점은 추세가 보이지 않는다고 반드시 정상 시계열인 것은 아니라는 사실입니다. 겉으로는 일정한 수준을 유지하더라도 단위근이나 구조 변화가 존재할 수 있습니다.
왜 정상성이 중요할까?
많은 시계열 모형이 시간에 따른 데이터의 관계를 안정적으로 추정한다는 전제에 의존하기 때문입니다. 두 기업의 매출이 모두 장기적으로 증가한다면, 두 매출 사이에 실제 관계가 없더라도 시간이 지남에 따라 함께 증가한다는 이유만으로 높은 상관관계가 나타날 수 있습니다.
그림 2는 서로 아무 관계가 없도록 따로 만든 두 랜덤워크입니다. 수준 그대로 회귀하면 상관계수가 0.79이고 "유의"하게 나오지만, 차분한 뒤에는 상관이 사라집니다. 이처럼 추세를 가진 비정상 시계열을 적절히 처리하지 않으면 실제로 의미 있는 관계가 없는 상황에서도 유의한 결과가 나타나는 허위 회귀(Spurious Regression) 문제가 발생할 수 있습니다. 정상성 확인은 ARMA 등 시계열 모형의 적합과 해석, ARIMA 모형에서 차분이 필요한지 판단, 두 시계열의 관계를 분석할 때 허위 회귀 가능성 점검, 예측 과정에서 과거의 패턴이 유지될 수 있는지 검토할 때 특히 중요합니다.
다만 모든 시계열 분석에서 원자료가 반드시 정상이어야 하는 것은 아닙니다. ARIMA는 차분을 통해 비정상 시계열을 처리할 수 있고, 공적분 분석은 개별 시계열이 비정상이더라도 특정한 장기 관계가 존재하는지를 살펴봅니다.
단위근(Unit Root)이란?
단위근은 시계열이 비정상성을 갖게 되는 대표적인 원인입니다. 이를 이해하려면 간단한 자기회귀모형을 살펴보면 됩니다.
Yt: 현재 값 · Yt−1: 직전 시점의 값 · εt: 새롭게 발생한 충격
|φ| < 1이면 다른 조건이 충족될 때 충격의 영향이 시간이 지나면서 약해질 수 있습니다. φ = 1이면 Yt = Yt−1 + εt가 되어 단위근을 갖는 대표적인 과정인 랜덤워크(Random Walk)가 됩니다.
그림 3처럼 시점 0에 들어온 충격은 φ = 0.5이면 몇 시점 만에 거의 사라지고, 0.9이면 천천히 줄어들지만, φ = 1이면 사라지지 않고 그대로 남습니다. 랜덤워크에서는 주가가 새로운 정보를 반영해 상승했다면 그 변화가 다음 시점에도 누적되어 남을 수 있습니다.
그림 4처럼 정상적인 자기회귀 과정은 충격이 들어와도 평균 주변에 머물지만, 단위근을 가진 과정은 충격이 누적되어 시간이 갈수록 경로들이 넓게 퍼집니다. 단위근이 존재하는 시계열은 일반적으로 수준 자료 그대로 분석하기보다 차분 등을 통해 정상성을 확보할 수 있는지 확인합니다. 다만 단위근이 없는 비정상 시계열도 존재하므로, 단위근 검정만으로 모든 형태의 비정상성을 판별할 수는 없습니다.
차분은 어떻게 정상성을 확보할까?
차분은 연속된 시점의 차이를 계산하는 방법입니다.
| 월 | 매출 | 1차 차분 |
|---|---|---|
| 1월 | 100 | — |
| 2월 | 110 | 10 |
| 3월 | 125 | 15 |
| 4월 | 130 | 5 |
| 5월 | 150 | 20 |
그림 5처럼 원래 매출은 전반적으로 증가하고 있지만, 차분한 값은 각 월의 증가량을 보여줍니다. 매출 수준의 추세가 강한 경우 차분을 통해 그 추세를 줄일 수 있습니다.
그림 6처럼 랜덤워크를 1차 차분하면 매 시점의 충격 εt만 남아 정상 시계열이 됩니다. 하지만 차분했다고 해서 자동으로 정상성이 확보되는 것은 아닙니다. 차분한 데이터에도 계절성이나 구조 변화, 변동성 변화가 남아 있을 수 있습니다.
바로 이전 시점과의 차이를 계산합니다.
1차 차분한 데이터에 다시 차분을 적용합니다.
계절 주기만큼 떨어진 값과의 차이를 계산합니다.
실무에서는 정상성을 확보하는 데 필요한 만큼만 차분하는 것이 중요합니다. 과도한 차분은 데이터의 구조를 왜곡하고 예측 성능을 떨어뜨릴 수 있습니다.
ADF와 KPSS는 무엇을 검정할까?
ADF(Augmented Dickey–Fuller) 검정은 시계열에 단위근이 존재한다는 가설을, KPSS(Kwiatkowski–Phillips–Schmidt–Shin) 검정은 시계열이 정상성을 만족한다는 가설을 검정합니다. 두 검정은 귀무가설의 방향이 반대라는 점에서 함께 쓰면 유용합니다.
| 항목 | ADF | KPSS |
|---|---|---|
| 귀무가설 H0 | 단위근이 존재한다 | 정상성을 만족한다 |
| 대립가설 H1 | 단위근이 존재하지 않는다 | 정상성을 만족하지 않는다 |
| p-value < 유의수준 | 단위근 가설을 기각할 근거가 있음 | 정상성 가설을 기각할 근거가 있음 |
| p-value ≥ 유의수준 | 기각할 충분한 근거가 없음 | 기각할 충분한 근거가 없음 |
유의수준을 0.05로 설정했다면, ADF p-value가 0.02일 때는 단위근이 존재한다는 귀무가설을 기각하므로 해당 검정 설정에서 단위근이 없다는 근거를 얻었다고 해석할 수 있습니다. 반면 p-value가 0.28이면 귀무가설을 기각하지 못합니다. 단위근이 존재할 가능성을 배제하기 어렵지만, 단위근이 확실히 존재한다고 결론 내릴 수는 없습니다.
ADF 검정은 시차항을 추가해 잔차의 자기상관을 통제하도록 설계되어 있으며, 상수항이나 추세항을 포함할지에 따라 결과가 달라질 수 있으므로 데이터 특성에 맞는 검정식을 선택해야 합니다. KPSS 검정은 일정한 평균 수준을 중심으로 변동하는 수준 정상성(Level Stationarity)과 결정론적 추세를 제거하면 정상성을 만족하는 추세 정상성(Trend Stationarity)을 구분해 수행할 수 있습니다. 데이터가 꾸준히 증가하더라도 그 증가가 안정적인 결정론적 추세에 따른 것이라면, 추세항을 고려한 KPSS 검정에서는 추세 정상성이 지지될 수 있습니다.
두 검정을 어떻게 함께 해석할까?
두 검정은 귀무가설이 다르므로 함께 살펴보면 판단에 도움이 됩니다.
그림 7처럼 ADF가 단위근을 기각하고 KPSS가 정상성을 기각하지 못하면 정상성과 부합하는 결과이고, 반대로 ADF가 기각하지 못하고 KPSS가 기각하면 비정상성을 의심합니다. 두 검정이 모두 기각하면 결과가 서로 긴장 관계에 있으므로 추세 설정, 구조 변화, 검정력 등을 점검하고, 두 검정이 모두 기각하지 못하면 결론이 불명확할 수 있으므로 표본 수와 검정력을 점검합니다.
ADF와 KPSS의 결과가 서로 일치한다고 해서 정상성이 수학적으로 증명되는 것은 아닙니다. 두 검정 모두 표본 수, 시차 설정, 추세항 선택과 구조 변화의 영향을 받을 수 있습니다. 특히 결과가 엇갈리거나 불명확한 경우에는 어느 한쪽을 임의로 정답으로 선택하기보다 데이터와 검정 설정을 추가로 확인해야 합니다.
정상성은 어떤 순서로 점검할까?
그림 8처럼 먼저 시계열 그래프에서 추세, 계절성, 분산 변화, 구조 변화가 있는지 살펴보고, ADF와 KPSS의 귀무가설과 검정 설정을 확인한 뒤 결과를 비교합니다. 추세가 강하면 차분이나 추세 제거를, 분산이 수준에 따라 달라지면 로그 변환 등을 검토하고, 계절성이 있다면 계절 차분도 고려할 수 있습니다. 마지막으로 변환한 데이터의 정상성을 재확인하고, 이후 모형의 잔차에도 문제가 남아 있는지 점검합니다.
ADF 검정 결과 원계열은 단위근 가설을 기각하지 못했고(p = .056), KPSS 검정은 정상성 가설을 기각하였다(p = .011). 1차 차분 후에는 ADF 검정에서 단위근 가설이 기각되고(p < .001) KPSS 검정에서 정상성 가설이 기각되지 않아(p > .10), 1차 차분한 계열을 분석에 사용하였다.
그래프와 두 검정을 함께 보고, 필요한 만큼만 변환합니다.
- 정상성은 시계열의 평균, 분산, 시차에 따른 관계가 시간에 따라 일정하게 유지되는 성질입니다.
- 단위근은 충격이 누적되는 비정상 시계열의 대표적인 원인입니다.
- ADF는 단위근을 귀무가설로, KPSS는 정상성을 귀무가설로 설정합니다.
- 차분은 비정상 시계열을 정상화하는 대표적인 방법이지만, 모든 비정상성에 효과적인 것은 아닙니다.
- 두 검정의 결과는 그래프, 추세 및 계절성, 구조 변화와 함께 해석해야 합니다.
다음은 04 시계열 분해 — 추세 · 계절성 분리입니다. 하나의 시계열에 섞여 있는 추세와 계절성을 분리해 각 요소가 실제 데이터의 변화에 어떻게 기여하는지 살펴봅니다.
정상 시계열은 평균 · 분산 · 시차별 관계가 시간에 따라 변하지 않습니다. 단위근이 있으면 충격이 쌓여 떠돌고, 그대로 분석하면 허위 회귀가 생길 수 있습니다. ADF(단위근이 귀무가설)와 KPSS(정상성이 귀무가설)를 함께 보고, 필요한 만큼만 차분해야 합니다.