본문 바로가기
Data Science/TimeSeries

[실전 시계열 분석] 정상성, 자기상관, 허위상관

by hyelog 2022. 9. 25.

이번 포스팅에서는 시계열을 분류하는데 사용되는 개념인 정상성, 자체상관, 허위상관의 개념과 결과적 방법을 다룬다.

구체적인 내용을 알기 전에, 전반적인 흐름에 대해 먼저 알아야 한다.

 

 

시계열을 다룰 때 처음해야 하는 질문은 아래와 같을 것이다.

 

 

시계열이 시스템의 안정성을 반영하는가? 아니면 지속적인 변화를 반영하는가?

 

 

정상성안정성의 수준을 의미하고, 이를 평가하는 것 또한 아주 중요하다.

시스템이 보여준 과거의 장기적 행동이 미래의 장기적 행동에 얼마나 반영하는 지 알기 위해서이다.

 

안정성의 수준을 파악했다면 내부적인 역학의 존재를 결정해야 한다.

이는 자기상관을 찾기 위한 노력이라고 할 수 있다.

먼 과거 혹은 최근의 데이터가 얼마나 밀접한 연관성을 가졌는지 알기 위해서 이다.

 

특정 행동역학을 발견했다면, 그 역학이 우리가 알고 싶은 인과관계에 어떠한 의미를 갖는지 알아야 한다.

상관관계가 곧 인과관계는 아니다 라는 허위상관을 찾아야 한다.

어떠한 의미도 가지지 않는다면, 그 역학에 기반한 인과 관계를 찾으려 해서는 안되기 때문이다.

 

위 개념들을 아래에서 좀 더 자세히 알아보고자 한다.

 

 

# 정상성 (Stationarity)

:정상 시계열에서 측정된 시계열은 시스템의 안정적인 상태를 반영한다. 정상을 판단하는 것보다 정상이 아닌 데이터를 판단하는 것이 더  수월하다.

정상성의 정의

모든 시차 kk에 대해 yt,yt+1,,yt+kyt,yt+1,,yt+k 의 분포가 tt에 의존적이지 않다면 정상과정이다.

 

정상성의 통계적 검정은 단위근(unit root)의 존재 유무로 판단한다. 

➡ 판단하고자 하는 과정의 특성방정식의 해가 1인지에 대한 질문이라고 말할 수 있다.

  • 단위근의 결여가 정상성을 증명하는 것은 아니지만, 단위근이 있는 선형 시계열은 비정상으로 볼 수 있다.

yt=ϕ×yt1+etyt=ϕ×yt1+et

위의 식에서 ϕϕ 값이 1이라면, 단위근이 존재한다는 의미이고, 정상적이기 보다는 제멋대로 일 것이다. 

정상이 아닌 시계열 이라고 해서 반드시 추세를 가질 필요는 없다. 

위의 확률보행이 그 예라고 볼 수 있다.

 

증강된 디키-풀러 검정 (Agumented Dickey-Fuller: ADF) 

*가설검정 : 특정 과정의 정상성을 결정하는 시험

: 시계열의 정상성 문제를 가장 보편적으로 평가하는 평가 지표로서 가설 검정 방식이다.

이 검정의 귀무가설은 다음과 같다

H0H0 : 시계열에 단위근이 존재한다.

이 귀무가설은 검정 결과에 따라 기각될 수 도 있다.

 

정상성 검정은 분산에 중점을 둔다. ➡ 분산은 공식적인 검정보다는 변환에 의해 다뤄진다

따라서 계열이 정상인지 여부에 대한 검정은 계열이 결합되었는지에 대한 검정으로 볼 수 있다.

d번 결합된 계열은 d번의 차분이 계산되어야 정상이 될 수 있는 것이다.

Δyt=ytytm=(ϕ1)×yt1+etΔyt=ytytm=(ϕ1)×yt1+et

 

실전에서는..

많은 모델들이 정상과정을 가정하기 때문에 이를 판단하는 것은 중요하다.

 

간단한 변환으로 정상이 아닌 시계열을 정상과정으로 변화시킬 수 있는데, 가장 대중적인 방법은 다음의 두가지이다.

 

< 분산이 변화하는 경우 >

  • 로그
  • 제곱근

< 추세가 있는 경우 >

  • 차분을 구하여 제거하기 ( 보통 2차 이하로 진행 )

변환을 하기 전에 원본 데이터 셋의 데이터간 거리의 의미를 생각해 봐야하고, 가장 중요했던 정보들이 유실되지 않는지 반드시 확인하고 진행해야 한다.

 

사용하는 함수

  • 롤링 윈도(rolling window) : 시계열에 일반적으로 사용되는 함수로 데이터 다운샘플링, 평활화를 하기 위해 취합할 때도 사용한다.
  • 확장 윈도(expanding window) : 획장 윈도는 시간에 따라 변동하기 보다는 안정적인 과정일때 요약 통계를 추정하는 경우에만 의미가 있다. 시간에 따른 검정 통계량 추정치가 확실해 진다는 장점이 있으나 정상일 때만 잘 동작한다는 제약이 있다.
  • 사용자 정의 롤링 윈도 : 적용 가능한 상황에 대해서만 고려해야 한다. 예를 들면 근본적인 기본 법칙이 있는 도메인의 데이터의 경우

 

 

# 자기상관 (Auto correlation)

: 어떤 신호와 자신을 지연함수로 시간상 지연 이동한 신호 간의 상관 관계

➡ 상관값이 두 변수 사이의 선형 관계의 크기를 측정하는 것처럼 자기상관은 시계열의 시차 값(lagged values) 사이의 관계를 측정

시간의 흐름에 따라 독립적이지 않고 과거의 데이터의 영향을 받는 상관관계

 

자기 상관 함수 (autocorrelation func, ACF)

: 시간에 따른 상관 정도를 나타냐기 위해 사용하는 함수

 

편자기상관함수(partial autocorrelation func, PACF)

: 시간에 따른 시차의 편상관정도를 나타내기 위해 사용함수

 

# 허위상관 (Spurious correlation)

엄청나게 강한 상관관계를 가지고 있는 것처럼 보이지만, 그 결과를 설명하는 어떤한 원인가설도 없는 경우(인과 관계를 설명할 수 없는 경우) 를  허위상관관계라고 말할 수 있다.

허위상관을 나타내는 시계열의 일반적인 특징

  • 계절성
  • 시간이 지나면서 변한 데이터의 수준이나 경사의 이동?
    • 무의미하게 높은 상관 관계를 가진 아령처럼 생긴 분포도를 생성
  • 누적합계
    • 일부 산업에서 모델이나 상관관계를 실제보다 더 좋아보이게 만들기 위한 속임수 로 사용

공적분과의 관계

공적분(Cointegration) :  두 시계열 사이의 진짜 관계

 

공적분과 허위상관 모두 높은 상관관계가 관측되어 이를 구별하는 것은 어렵다.

다만, 공적분의 경우는 밀접한 연관성을 가지고 있는 시계열이기 때문에 알고 있는 것이 좋다.