이번 포스팅에서는 시계열을 분류하는데 사용되는 개념인 정상성, 자체상관, 허위상관의 개념과 결과적 방법을 다룬다.
구체적인 내용을 알기 전에, 전반적인 흐름에 대해 먼저 알아야 한다.
시계열을 다룰 때 처음해야 하는 질문은 아래와 같을 것이다.
시계열이 시스템의 안정성을 반영하는가? 아니면 지속적인 변화를 반영하는가?
정상성은 안정성의 수준을 의미하고, 이를 평가하는 것 또한 아주 중요하다.
시스템이 보여준 과거의 장기적 행동이 미래의 장기적 행동에 얼마나 반영하는 지 알기 위해서이다.
안정성의 수준을 파악했다면 내부적인 역학의 존재를 결정해야 한다.
이는 자기상관을 찾기 위한 노력이라고 할 수 있다.
먼 과거 혹은 최근의 데이터가 얼마나 밀접한 연관성을 가졌는지 알기 위해서 이다.
특정 행동역학을 발견했다면, 그 역학이 우리가 알고 싶은 인과관계에 어떠한 의미를 갖는지 알아야 한다.
상관관계가 곧 인과관계는 아니다 라는 허위상관을 찾아야 한다.
어떠한 의미도 가지지 않는다면, 그 역학에 기반한 인과 관계를 찾으려 해서는 안되기 때문이다.
위 개념들을 아래에서 좀 더 자세히 알아보고자 한다.
# 정상성 (Stationarity)
:정상 시계열에서 측정된 시계열은 시스템의 안정적인 상태를 반영한다. 정상을 판단하는 것보다 정상이 아닌 데이터를 판단하는 것이 더 수월하다.
정상성의 정의
모든 시차 $k$에 대해 $y_t, y_{t+1}, \cdots, y_{t+k}$ 의 분포가 $t$에 의존적이지 않다면 정상과정이다.
정상성의 통계적 검정은 단위근(unit root)의 존재 유무로 판단한다.
➡ 판단하고자 하는 과정의 특성방정식의 해가 1인지에 대한 질문이라고 말할 수 있다.
- 단위근의 결여가 정상성을 증명하는 것은 아니지만, 단위근이 있는 선형 시계열은 비정상으로 볼 수 있다.
$$ y_t = \phi \times y_{t-1} + e_t $$
위의 식에서 $\phi$ 값이 1이라면, 단위근이 존재한다는 의미이고, 정상적이기 보다는 제멋대로 일 것이다.
정상이 아닌 시계열 이라고 해서 반드시 추세를 가질 필요는 없다.
위의 확률보행이 그 예라고 볼 수 있다.
증강된 디키-풀러 검정 (Agumented Dickey-Fuller: ADF)
*가설검정 : 특정 과정의 정상성을 결정하는 시험
: 시계열의 정상성 문제를 가장 보편적으로 평가하는 평가 지표로서 가설 검정 방식이다.
이 검정의 귀무가설은 다음과 같다
$H_0$ : 시계열에 단위근이 존재한다.
이 귀무가설은 검정 결과에 따라 기각될 수 도 있다.
정상성 검정은 분산에 중점을 둔다. ➡ 분산은 공식적인 검정보다는 변환에 의해 다뤄진다
따라서 계열이 정상인지 여부에 대한 검정은 계열이 결합되었는지에 대한 검정으로 볼 수 있다.
d번 결합된 계열은 d번의 차분이 계산되어야 정상이 될 수 있는 것이다.
$$ \Delta y_t = y_t - y_{t-m} = ( \phi - 1) \times y_{t-1} + e_t $$
실전에서는..
많은 모델들이 정상과정을 가정하기 때문에 이를 판단하는 것은 중요하다.
간단한 변환으로 정상이 아닌 시계열을 정상과정으로 변화시킬 수 있는데, 가장 대중적인 방법은 다음의 두가지이다.
< 분산이 변화하는 경우 >
- 로그
- 제곱근
< 추세가 있는 경우 >
- 차분을 구하여 제거하기 ( 보통 2차 이하로 진행 )
변환을 하기 전에 원본 데이터 셋의 데이터간 거리의 의미를 생각해 봐야하고, 가장 중요했던 정보들이 유실되지 않는지 반드시 확인하고 진행해야 한다.
사용하는 함수
- 롤링 윈도(rolling window) : 시계열에 일반적으로 사용되는 함수로 데이터 다운샘플링, 평활화를 하기 위해 취합할 때도 사용한다.
- 확장 윈도(expanding window) : 획장 윈도는 시간에 따라 변동하기 보다는 안정적인 과정일때 요약 통계를 추정하는 경우에만 의미가 있다. 시간에 따른 검정 통계량 추정치가 확실해 진다는 장점이 있으나 정상일 때만 잘 동작한다는 제약이 있다.
- 사용자 정의 롤링 윈도 : 적용 가능한 상황에 대해서만 고려해야 한다. 예를 들면 근본적인 기본 법칙이 있는 도메인의 데이터의 경우
# 자기상관 (Auto correlation)
: 어떤 신호와 자신을 지연함수로 시간상 지연 이동한 신호 간의 상관 관계
➡ 상관값이 두 변수 사이의 선형 관계의 크기를 측정하는 것처럼 자기상관은 시계열의 시차 값(lagged values) 사이의 관계를 측정
➡ 시간의 흐름에 따라 독립적이지 않고 과거의 데이터의 영향을 받는 상관관계
자기 상관 함수 (autocorrelation func, ACF)
: 시간에 따른 상관 정도를 나타냐기 위해 사용하는 함수
편자기상관함수(partial autocorrelation func, PACF)
: 시간에 따른 시차의 편상관정도를 나타내기 위해 사용함수
# 허위상관 (Spurious correlation)
엄청나게 강한 상관관계를 가지고 있는 것처럼 보이지만, 그 결과를 설명하는 어떤한 원인가설도 없는 경우(인과 관계를 설명할 수 없는 경우) 를 허위상관관계라고 말할 수 있다.
허위상관을 나타내는 시계열의 일반적인 특징
- 계절성
- 시간이 지나면서 변한 데이터의 수준이나 경사의 이동?
- 무의미하게 높은 상관 관계를 가진 아령처럼 생긴 분포도를 생성
- 누적합계
- 일부 산업에서 모델이나 상관관계를 실제보다 더 좋아보이게 만들기 위한 속임수 로 사용
공적분과의 관계
공적분(Cointegration) : 두 시계열 사이의 진짜 관계
공적분과 허위상관 모두 높은 상관관계가 관측되어 이를 구별하는 것은 어렵다.
다만, 공적분의 경우는 밀접한 연관성을 가지고 있는 시계열이기 때문에 알고 있는 것이 좋다.
'Data Science > TimeSeries' 카테고리의 다른 글
시계열 클러스터링의 방법들 (0) | 2023.12.24 |
---|---|
ARIMA : AutoRegressive Integrated Moving Average (이동 평균을 누적한 자기회귀) (0) | 2022.11.13 |
AR, MA : 자기 회귀 모델과 이동 평균 모델 (1) | 2022.10.23 |
이해가 안 돼서 다시 공부하는 WHITE NOISE, 정상성, ACF, PACF (1) | 2022.10.10 |
[실전 시계열 분석] 시계열 데이터 정리하기 (1) | 2022.09.25 |
댓글