🖇 확정적 추세 vs 확률적 추세
🖇 ADF 검정 vs KPSS 검정
🖇 확정적 추세가 있을 때 해석상의 혼란
🖇 어떻게 접근해야 할까?
시계열 데이터를 분석할 때 정상성(Stationarity)을 확인하는 것이 중요하다.
대부분의 시계열 예측 모델은 데이터가 정상성을 만족해야 한다는 전제를 가지고 있다. 그러나 많은 현실 데이터는 비정상적인 추세를 갖고 있으며, 이 추세가 확정적인가(Deterministic) 혹은 확률적인가(Stochastic)에 따라 접근 방식이 달라진다.
이 글에서는 확정적 추세가 존재하는 경우에 대표적인 정상성 검정인 ADF 검정과 KPSS 검정이 어떻게 서로 다르게 작동하는지, 어떤 해석상의 차이가 발생할 수 있는지 최대한 이해하기 쉽게 정리해 보았다.
추세가 있다고 해서 모두 같은 종류는 아니다.
추세가 고정된 수식 형태로 설명될 수 있는지, 아니면 무작위적인 충격이 누적된 결과인지에 따라 아래와 같이 구분된다.
yₜ = α + βt + εₜ
추세는 예측 가능한 패턴이고, 잔차가 정상이라면 전체는 정상처럼 보일 수 있다. 이 경우에는 추세 성분()을 명확하게 제거할 수 하여 정상성으로 만들 수 있다.
yₜ = yₜ₋₁ + εₜ
이 경우에 추세 자체가 불확실한 누적 충격의 결과이기 때문에 추세와 잔차를 분리할 수 없고, 시계열 낸에 단위근이 존재하여 전체가 비정상이다. 차분(differencing)을 통해 안정성을 확보해야 한다.
시계열 데이터가 정상적인 성질을 가지고 있는지를 판단하기 위해 많이 사용되는 방법이 시계열의 정상성에서 다뤘던 ADF 검정과 KPSS 검정이다.
두 검정은 서로 다른 방식으로 정상성을 판단하는데, 가장 중요한 차이는 서로 반대의 가설을 세운다는 점이다.
ADF 검정에서는
KPSS 검정에서는
이처럼 동일한 데이터를 두고 서로 정반대의 기준으로 판단하기 때문에 두 결과를 보완적으로 해석하는 것이 중요하다.
문제는 확정적인 추세가 존재할 경우 두 검정이 서로 다른 판단을 내릴 수 있다는 점이다.
어떤 시계열 데이터가 꾸준히 증가하거나 감소하는 선형적인 추세를 가지고 가정해 보자. 실제로는 단위근이 없는 정상 상태에 가까운 안정된 구조일 수도 있다. 이 경우에 어떻게 다른 판단을 내릴 수 있는지 살펴보자.
ADF 검정의 귀무가설은 "단위근이 존재한다 = 시계열이 비정상이다"
여기서 단위근이란, 데이터가 마치 계속해서 흔들리면서 멀어지는 성질(랜덤워크)을 갖는다는 뜻이다. 시간이 지날수록 분산이 커지고 예측이 어려워지는 구조를 의미한다.
그런데 실제로는 비정상이 아닌 시계열도 선형적인 추세를 포함하고 있으면 ADF 검정이 (단위근 때문이 아닌데도) 비정상이라고 오해를 할 수 있다.
예를 들어,
yₜ = α + βt + εₜ 같은 형태는 단순히 일정한 비율로 증가하는 데이터인데, ADF 검정할 때 추세를 고려하지 않고 그대로 넣으면 데이터가 계속 커지는 모습 때문에 "이건 단위근이 있는 비정상 시계열이다" 라고 잘못 판단할 수 있다.
추세 때문이지 진짜 단위근 때문이 아닌데도 p-value가 높게 나와서 귀무가설을 기각하지 못하게 되는 것이다.
그래서 ADF 검정을 쓸 때는 정확한 판단을 위해 "이 데이터에 추세가 있는가?" 를 꼭 확인해야 한다.
만약 추세가 있다면 ADF 검정에서 regression='ct' 옵션처럼 추세 항을 포함해서 검정을 해야 단위근과 추세를 구분하여 정확한 판단을 할 수 있다.
💡 추세가 있는 데이터에서 추세 항을 포함하지 않으면 단위근으로 오해하여 비정상 시계열로 판단할 수 있다.
결국 ADF 검정을 수행할 때는 데이터에 추세가 존재하는지 시각적으로 확인하고, 추세 항을 포함한 상태로 검정을 해야 정확한 판단이 가능하다.
KPSS 검정의 귀무가설은 시계열이 평균 또는 (옵션에 따라) 추세를 중심으로 안정적인 정상 상태라는 것이다.
여기서 말하는 추세는 확정적(deterministic) 추세로, 일정한 방향성을 가진 선형 패턴을 의미한다.
KPSS는 선형적인 추세가 포함되어 있어도 괜찮다고 판단하지만, 중요한 조건이 하나 있다. 그 추세를 제거하고 남은 잔차()까지도 정상성(평균, 분산, 공분산이 일정한 상태)을 가져야 한다는 것이다.
현실의 시계열에서는 이 잔차가 종종 단위근을 가지거나 비정상적인 형태를 띠는 경우가 많다. 이 경우 KPSS는 추세가 포함된 상태라 하더라도 전체 시계열을 비정상적으로 판단한다. 추세 자체는 허용되지만 잔차가 조금만 불안정해도 예민하게 반응하여 귀무가설을 기각하는 경향이 있다.
참고로, 현실의 시계열 데이터는 대부분 확률적 추세를 포함하고 있다. 이 경우에는 추세와 잔차를 분리하는 것이 이론적으로 의미 없기 때문에 KPSS의 전제와도 맞지 않게 된다.
💡 KPSS 검정은 추세가 있어도 허용하지만, 그 추세를 제거하고 남은 잔차까지도 안정적이어야 정상으로 판단한다. 따라서 잔차가 조금만 불안정하면 비정상으로 판단하는 상황이 생기게 된다.
💡Deterministic Trend, 즉 확정적인 추세가 존재하는 경우에 ADF와 KPSS의 검정 결과는 서로 다를 수 있다.
KPSS는 기본적으로 ‘around the mean(평균 주변 정상성)’에 대한 검정을 수행하기 때문에 추세가 존재하는 시계열일 경우 ADF와는 다른 결론에 도달할 수 있다.
| 상황 | ADF 결과 | KPSS 결과 | 해석 |
|---|---|---|---|
| 확정적 추세만 존재 | 단위근 존재로 판단 → 비정상으로 판단 | 잔차가 불안정 → 비정상으로 판단 | 결과 해석이 모순될 수 있음 |
이처럼 동일한 데이터에 대해 두 검정이 서로 반대의 결론을 낼 수 있으므로 둘을 함께 보고 해석하는 보완적 접근이 필요하다.
✓ ADF 검정 시 추세 항 포함
✓ KPSS 검정은 보완적으로 활용
시계열을 시각화하여 추세 존재 여부를 먼저 확인한다.
ADF 검정에서는 추세 항 포함 여부에 따라 결과 해석이 달라지므로 추세가 의심된다면 적절한 설정을 통해 해석해야 한다.
KPSS 검정 결과와 ADF 검정 결과를 함께 비교하여 서로 일치하는지 확인한다.
두 검정이 상반된 결과를 보일 경우,
– 시계열을 차분(differencing) 하거나
– 로그 변환, 제곱근 변환 등을 통해 정상성을 확보할 수 있는지 검토한다.
결국 중요한 것은, 단일 검정이나 수치에 의존하지 않고 시계열의 구조를 다각도로 해석하는 관점을 갖는 것이다. ADF와 KPSS는 서로 보완되는 도구이므로 함께 활용해 시계열의 특성을 종합적으로 판단하는 것이 안정적인 분석 전략이다.
이 글을 정리하면서 시계열 데이터에 추세가 존재한다고 해서 항상 비정상인 것은 아니라는 점을 이해할 수 있었다.
추세가 확정적인지, 확률적인지에 따라 정상성 해석은 달라지게 된다. 추세가 어떤 성격을 띠고 있는지, 그리고 데이터가 어떤 방식으로 안정되어 있는지를 판단하는 데에 있어 정상성이 중요하다는 것도 함께 강조할 수 있었다.
ADF와 KPSS는 서로 반대의 귀무가설을 기반으로 하므로 둘을 함께 사용하고 결과를 종합적으로 해석하는 것이 중요하다고 정리할 수 있겠다.