본문 바로가기
AI/ML & DL

[Time Series] 시계열 예측의 기초: MA, ARMA, ARIMA 모델 완벽 가이드 - 2탄 AR(Auto-Regressive)

by 데이터 벌집 2024. 1. 19.

자기회귀(AR) 모델에 대해 더 자세히 알아보겠습니다. 🌟 AR 모델은 시계열 데이터의 과거 값들을 기반으로 미래 값을 예측하는 모델로, 시간의 흐름에 따른 데이터 패턴을 분석하는 데 매우 유용합니다. 📈

 

time series - AR

자기회귀(AR) 모델의 개념

🔍 AR 모델은 시계열 데이터의 현재 값이 과거의 값들에 선형적으로 의존한다고 가정합니다. 이는 '자기회귀'라는 용어에서도 알 수 있듯이, 변수가 자신의 과거 값에 대해 회귀하는 것을 의미합니다.

 

간단한 예시: AR(1) 모델

  • 어제 판매량이 100잔이었다면, 오늘의 판매량을 예측할 때 어제의 판매량을 사용합니다. 이것이 AR(1), 즉 하나의 지연값을 사용하는 모델입니다.

AR(p) 모델의 표현

  • y(t): 시간 t에서의 변수 값
  • c: 상수항
  • φ: 자기회귀 계수
  • ε_t: 오차 항
  • p: 모델의 차수(과거 몇 개의 관측치를 사용할 것인가를 나타냄)

AR 모델

AR 모델의 주문(order) 선택

🔍 주문 선택은 모델이 과거 몇 일치 데이터를 사용할지 결정하는 것을 의미합니다.

  • 간단한 예시: AR(2) 모델
    • 만약 우리가 어제와 그제의 판매량을 사용하여 오늘의 판매량을 예측한다면, 이는 AR(2) 모델이 됩니다. 예를 들어, 어제 100잔, 그제 80잔이 팔렸다면, 이 두 데이터를 사용하여 오늘의 판매량을 예측합니다.

AR 모델의 활용 🚀

커피 판매 데이터 외에도 AR 모델은 주식 가격, 기온, 웹사이트 트래픽 등 다양한 시계열 데이터에 적용할 수 있습니다.

  • 실제 적용 예시
    • 주식 시장 데이터: AR 모델을 사용하여 특정 주식의 미래 가격을 예측할 수 있습니다. 과거의 주식 가격 데이터를 기반으로 다음 날 또는 다음 주의 가격을 예측합니다.

주문 선택의 실제 예시 🔍

시계열 데이터에서 AR 모델을 적용할 때, 몇 개의 과거 데이터를 사용할지 결정하는 '주문'을 선택해야 합니다. 이 과정은 ACF, PACF, AIC/BIC, Ljung-Box 테스트, 교차 검증 등을 통해 이루어집니다.

  1. ACF와 PACF Plotting
    • ACF (자기상관 함수): 시계열 데이터의 현재 값이 과거의 어떤 값과 얼마나 관련이 있는지를 측정합니다.
      • 예를 들어, 어제의 커피 판매량이 오늘의 판매량과 얼마나 관련이 있는지 보여줍니다.
    • PACF (부분 자기상관 함수): ACF에서 중간 지연값의 영향을 제거하고, 두 관측치 간의 직접적인 관련성을 측정합니다.
      • 즉, 어제와 오늘의 판매량 간의 직접적인 상관관계만을 파악합니다.
  2. AIC/BIC 기준 사용
    • **AIC (아카이케 정보 기준)**와 **BIC (베이지안 정보 기준)**는 모델의 적합도와 복잡도 사이의 균형을 평가합니다.
      • 예를 들어, 지난 7일, 14일, 30일의 데이터를 사용하는 여러 AR 모델을 만들고 각 모델의 AIC와 BIC를 계산합니다. 가장 낮은 AIC 또는 BIC 값을 가진 모델이 가장 적합한 것으로 선택됩니다.
  3. Ljung-Box 테스트
    • Ljung-Box 테스트는 모델의 잔차에 중요한 자기상관이 있는지를 검정합니다.
      • 이 테스트를 통해 모델이 데이터의 중요한 패턴을 잘 포착하고 있는지를 확인할 수 있습니다.
  4. 교차 검증
    • 시계열 데이터를 여러 부분으로 나누고, 각 부분에서 AR 모델을 훈련하여 그 예측 성능을 평가합니다.
      • 예를 들어, 데이터를 5개의 부분으로 나누고, 각 부분에서 다른 주문의 AR 모델을 적용하여 오차를 계산합니다. 가장 낮은 오차를 보이는 주문을 최적의 주문으로 선택합니다.

 

 

이렇게 각 포인트별로 간단하고 이해하기 쉬운 예제를 통해 AR 모델에 대해 설명하였습니다. 각 모델의 개념과 활용 방법을 이해하는 것이 중요하며, 실제로 다양한 데이터에 적용해보는 것이 도움이 됩니다. 😊📈🚀