시계열 검정 정리

SUNGJUN JUNG·2025년 6월 10일

📊 데이터 정상성 검정

데이터 정상성의 중요성

데이터의 정상성을 판단하는 것은 주관적일 수 있습니다. 따라서 우리는 통계적인 가설 검정 방법을 사용하여 객관적으로 정상성을 진단합니다. 가장 널리 사용되는 두 가지 검정은 ADF 검정KPSS 검정입니다.

ADF 검정 (Augmented Dickey-Fuller Test)

  • 귀무가설 (H0): "데이터가 비정상적이다 (단위근이 존재한다)."
  • 해석: p-value가 유의수준(보통 0.05)보다 작으면, 귀무가설을 기각합니다. 즉, "데이터가 정상적이다" 라고 판단합니다.

KPSS 검정 (Kwiatkowski-Phillips-Schmidt-Shin Test)

  • 귀무가설 (H0): "데이터가 (추세에 대해) 정상적이다."
  • 해석: p-value가 유의수준(보통 0.05)보다 크면, 귀무가설을 기각하지 못합니다. 즉, "데이터가 정상적이다" 라고 판단합니다.

⚠️ 중요: 두 검정은 귀무가설이 서로 반대이므로 해석에 주의해야 합니다. 보통 두 검정의 결과를 교차 확인하여 종합적으로 판단합니다.

  • ADF (p < 0.05) & KPSS (p > 0.05) → 정상성 (Stationary)
  • ADF (p > 0.05) & KPSS (p < 0.05) → 비정상성 (Non-stationary)
  • 2개다 통과 해야 정상성을 검증 완료!!

🔄 비정상 데이터 정상화하기

💡 개념 (Concept)

비정상 데이터를 정상 데이터로 변환하는 가장 일반적인 방법은 차분(Differencing)로그 변환(Log Transformation) 입니다.

차분 (Differencing)

  • 목적: 데이터의 추세(Trend) 를 제거합니다.
  • 방법: 현재 시점의 데이터에서 바로 이전 시점의 데이터를 빼줍니다. (Yt=YtYt1Y'_t = Y_t - Y_{t-1})
  • Pandas에서는 .diff() 메서드를 사용하여 간단하게 계산할 수 있습니다. 1차 차분으로 정상성을 만족하지 못하면, 2차 차분(series.diff().diff())을 시도할 수 있습니다.

로그 변환 (Log Transformation)

  • 목적: 시간에 따라 변동성이 커지는 현상(분산의 불안정성)을 완화합니다.
  • 방법: 데이터의 모든 값에 자연로그(np.log())를 취합니다.
  • 보통 변동성과 추세가 함께 나타나는 데이터에 로그 변환을 먼저 적용한 후, 차분을 수행하는 경우가 많습니다.

🔍 그랜저 인과성 (Granger Causality) 검정

💡 개념 (Concept)

그랜저 인과성 검정은 한 시계열 X의 과거 값이 다른 시계열 Y의 미래 값을 예측하는 데 유용한 정보를 제공하는지를 판단하는 통계적 가설 검정입니다.

  • 핵심 질문: "Y의 과거 정보만으로 Y를 예측하는 것보다, X의 과거 정보까지 함께 사용했을 때 Y의 예측력이 더 향상되는가?"
  • 만약 예측력이 의미 있게 향상된다면, "X가 Y를 그랜저-유발(Granger-causes)한다"고 말합니다.

주의사항

  • 그랜저 인과성은 'A가 B의 원인이다'라는 철학적/실제적 인과관계를 의미하지 않습니다. 오직 '예측에 도움이 되는가 '라는 관점의 통계적 관계입니다.
  • 매우 중요: 그랜저 인과성 검정을 수행하기 전에, 분석에 사용될 모든 시계열 데이터가 정상성을 만족해야 합니다.

가설 검정

  • 귀무가설 (H0): "X가 Y를 그랜저-유발하지 않는다." (X의 과거 정보는 Y 예측에 도움이 되지 않는다)
  • 해석: p-value가 유의수준(보통 0.05)보다 작으면, 귀무가설을 기각합니다. 즉, "X가 Y를 그랜저-유발한다"고 결론 내립니다.

#데이터정상성 #ADF검정 #KPSS검정 #차분 #로그변환 #그랜저인과성 #시계열분석 #가설검정

0개의 댓글