ARIMA(AutoRegressive Integrated Moving Average) 모델은 단변량 시계열 예측에서 가장 널리 사용되는 모델입니다. 이는 하나의 변수의 과거 데이터 패턴과 오차를 학습하여 미래 값을 예측합니다. ARIMA는 세 가지 주요 요소로 구성됩니다.
AR (AutoRegressive, 자기회귀): 과거의 값이 현재의 값에 영향을 미친다는 개념입니다.
p는 참고할 과거 시점의 개수를 의미합니다. (예: p=3이면 3개월 전 데이터까지 참고)I (Integrated, 통합): 비정상 시계열을 정상 시계열로 만들기 위해 필요한 차분 횟수를 의미합니다.
d는 차분을 적용한 횟수를 나타냅니다. (d=1이면 1차 차분)MA (Moving Average, 이동평균): 과거의 예측 오차가 현재의 값에 영향을 미친다는 개념입니다.
q는 참고할 과거 예측 오차의 개수를 의미합니다.ACF와 PACF: p와 q 정하기
ARIMA 모델의 차수 p와 q를 결정하기 위해 ACF(자기상관함수)와 PACF(부분자기상관함수) 플롯을 활용합니다.
| 모델 | ACF 플롯 특징 | PACF 플롯 특징 |
|---|---|---|
| AR(p) | 점차 감소하며 0에 수렴 | p 시점 이후 급격히 0으로 절단 |
| MA(q) | q 시점 이후 급격히 0으로 절단 | 점차 감소하며 0에 수렴 |
현실의 많은 시계열 데이터는 계절성(Seasonality), 즉 특정 기간(주, 월, 분기, 년 등)을 주기로 반복되는 패턴을 가집니다. SARIMA(Seasonal ARIMA) 모델은 기존 ARIMA 모델에 이러한 계절적 요인을 추가하여 예측 성능을 높인 모델입니다.
SARIMA 모델은 ARIMA(p,d,q)에 계절성 요소를 나타내는 (P,D,Q,s)가 추가됩니다.
s: 계절 주기를 의미합니다. (예: 월별 데이터면 s=12, 분기별 데이터면 s=4)P: 계절성 자기회귀(Seasonal AR) 차수. s 기간 전의 과거 값이 현재 값에 미치는 영향을 나타냅니다.D: 계절성 차분(Seasonal Differencing) 횟수. 계절성 패턴을 제거하기 위해 필요한 차분 횟수입니다.Q: 계절성 이동평균(Seasonal MA) 차수. s 기간 전의 과거 예측 오차가 현재 값에 미치는 영향을 나타냅니다.메타포: "올해 8월의 아이스크림 판매량은 작년 8월 판매량과 작년 예측 오차에 영향을 받을 것이다."
Auto-ARIMA: 최적의 파라미터 자동 탐색
SARIMA 모델은 (p,d,q)(P,D,Q,s)라는 7개의 파라미터를 결정해야 하므로, ACF/PACF만으로 최적의 조합을 찾기 어렵습니다. 이때 auto_arima 함수를 사용하면 매우 편리합니다. auto_arima는 주어진 데이터에 대해 다양한 파라미터 조합을 시도하고, AIC(Akaike Information Criterion) 값이 가장 낮은 최적의 모델을 자동으로 찾아줍니다.
VAR(Vector AutoRegression, 벡터 자기회귀) 모델은 여러 개의 시계열 변수가 서로 영향을 주고받는 관계를 모델링하는 다변량(Multivariate) 시계열 분석 기법입니다.
단변량 분석(ARIMA 등)이 하나의 변수(y)의 과거만을 보고 미래를 예측했다면, VAR은 여러 변수(y1, y2, ...)의 과거 값들이 서로의 현재 값에 어떻게 영향을 미치는지를 동시에 분석합니다.
메타포: "오늘의 기온(y1)은 어제의 기온뿐만 아니라 어제의 풍속(y2)과 습도(y3)에도 영향을 받는다."
VAR 모델의 특징:
p를 결정합니다.VARMA, VARMAX 란?
VARMA: VAR 모델에 이동평균(MA) 항을 추가하여, 각 변수의 예측 오차 또한 다른 변수들에게 영향을 미치는 관계를 모델링합니다.
VARMAX: VARMA 모델에 외생변수(eXogenous variable, X)를 추가한 모델입니다. 모델 외부에서 결정되지만 모델 내 변수들에게 영향을 주는 변수(예: 정책, 이벤트)를 분석에 포함시킬 수 있습니다.
#ARIMA #단변량시계열 #자기회귀 #이동평균 #계절성 #SARIMA #다변량시계열 #VAR