ACF 플롯

AI
qwen-3-235b-a22b-instruct-2507
작성자
익명
작성일
2025.09.27
조회수
28
버전
v1

ACF 플롯

개요

ACF 플롯utocorrelation Function Plot), 즉자기상관 함수 플롯**은 시계열 분석에서 핵심적인 시각화 도구 중 하나입니다. 이 플롯은 시계열의 각 시점 간 상관관계를 나타내며, 특히 과거 관측값이 현재 관측값에 어떤 영향을 미치는지를 파악하는 데 사용됩니다. ACF 플롯은 시계열 모델링, 특히 ARIMA(Autoregressive Integrated Moving Average) 모델의 식별 과정에서 매우 중요한 역할을 하며, 데이터의 정상성(stationarity), 주기성(seasonality), 잔차 구조 등을 진단하는 데 활용됩니다.


ACF란 무엇인가?

자기상관 함수의 정의

자기상관 함수(Autocorrelation Function, ACF)는 동일한 시계열에서 서로 다른 시차(lag)를 가진 두 관측값 사이의 피어슨 상관 계수를 계산한 것입니다. 시차 $ k $에 대한 자기상관 계수 $ \rho_k $는 다음과 같이 정의됩니다:

$$ \rho_k = \frac{\text{Cov}(y_t, y_{t-k})}{\sqrt{\text{Var}(y_t)\text{Var}(y_{t-k})}} = \frac{\gamma_k}{\gamma_0} $$

여기서: - $ y_t $: 시계열의 관측값 - $ \gamma_k $: 시차 $ k $에서의 공분산 - $ \gamma_0 $: 시계열의 분산

ACF는 일반적으로 시차 $ k = 0, 1, 2, \dots, K $에 대해 계산되며, $ \rho_0 = 1 $이 됩니다 (자기 자신과의 상관은 1).


ACF 플롯의 구성 요소

ACF 플롯은 일반적으로 다음 요소들로 구성됩니다:

  • x축: 시차(lag) — 몇 시간, 몇 일, 몇 개월 전 데이터와의 상관을 보는지를 나타냅니다.
  • y축: 자기상관 계수 값 — -1에서 1 사이의 값을 가지며, 0에 가까울수록 상관이 낮음을 의미합니다.
  • 수직 막대(bar): 각 시차에서의 자기상관 계수를 시각적으로 표현합니다.
  • 신뢰구간 대역(보통 파란 점선): 일반적으로 95% 신뢰수준에서 계산되며, 막대가 이 대역을 벗어나면 해당 시차에서의 상관이 통계적으로 유의미하다고 간주됩니다.

예시 해석:
- 시차 1에서 막대가 신뢰구간 위에 있다 → 전일 값과 오늘 값 사이에 강한 양의 상관
- 시차 7에서 주기적으로 상관이 나타난다 → 주간 주기성(seasonality) 가능성


ACF 플롯의 활용

1. 정상성(stationarity) 진단

비정상 시계열(non-stationary)은 일반적으로 ACF가 매우 천천히 감소하는 경향을 보입니다. 반면, 정상 시계열은 시차가 증가함에 따라 ACF가 빠르게 0에 수렴합니다. 따라서 ACF 플롯을 통해 데이터의 정상성 여부를 시각적으로 판단할 수 있습니다.

2. ARIMA 모델 식별

ACF 플롯은 ARIMA 모델의 차수를 결정하는 데 핵심적입니다: - MA(q) 모델: ACF가 시차 $ q $ 이후 급격히 0으로 떨어짐 (cut-off) - AR(p) 모델: ACF가 천천히 감소 (tapering off) - ARMA(p, q) 모델: ACF와 PACF(편자기상관 함수)를 함께 분석

3. 계절성(seasonality) 탐지

ACF 플롯에서 특정 간격(예: 시차 12, 24 등)마다 상관이 반복적으로 나타난다면, 이는 계절성의 존재를 시사합니다. 예를 들어 월간 데이터에서 시차 12마다 피크가 나타난다면 연간 주기성을 의미합니다.


ACF 플롯 예시 및 해석

예를 들어, 다음과 같은 ACF 플롯의 특징을 분석해 봅시다:

  • 시차 1에서 높은 상관
  • 이후 지수적으로 감소
  • 시차 5 이후 신뢰구간 내로 수렴

이 경우, 데이터는 AR(1) 또는 AR(2) 프로세스를 따를 가능성이 높으며, MA 성분은 제한적일 수 있습니다.

반면, 시차 1, 2에서 유의미한 상관이 나타나고 그 이후 급격히 0이 된다면, MA(2) 모델이 적합할 수 있습니다.


주의사항 및 한계

  • 시차의 선택: 너무 많은 시차를 포함하면 잡음(noise)이 증가할 수 있으므로, 일반적으로 관측 수의 1/10 이하의 시차를 권장합니다.
  • 비정상성 왜곡: 차분(differencing)하지 않은 비정상 데이터는 ACF를 잘못 해석할 수 있으므로, 분석 전 정상성 검정이 필요합니다.
  • 시차의 독립성: 높은 시차에서의 상관은 표본 크기의 영향을 받아 신뢰도가 낮을 수 있습니다.

관련 도구 및 함수

  • Python (statsmodels):

      from statsmodels.graphics.tsaplots import plot_acf
      import matplotlib.pyplot as plt
    
      plot_acf(data, lags=40)
      plt.show()
      

  • R (base):

      acf(data, lag.max = 40)
      


참고 자료


ACF 플롯은 시계열 분석의 첫걸음으로, 데이터의 구조를 이해하고 적절한 모델을 선택하는 데 없어서는 안 될 도구입니다.확한 해석을 통해 모델링의 정확도를 크게 향상시킬 수 있습니다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?