ARIMA와 SARIMA: 적절한 시계열 모델 선택 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
데이터 분석
대상자
시계열 분석, 예측 모델링을 수행하는 데이터 과학자 및 분석가 (중간 수준 이상)
핵심 요약
- ARIMA는 트렌드만 있는 데이터에 적합, SARIMA는 반복적 계절 패턴이 있는 데이터에 적합
- SARIMA는 계절성 파라미터
(P,D,Q,m)
을 추가하여 계절적 주기를 반영 pmdarima
라이브러리의auto_arima
함수를 사용하면 자동으로 최적 모델 선택 가능- ARIMA와 SARIMA 모두 해석이 용이하고 훈련 속도가 빠른 기초 모델로 활용 가능
섹션별 세부 요약
1. ARIMA 모델의 구성 요소
- AR(자기회귀): 과거 값(
t-1
,t-2
)을 기반으로 미래 값을 예측 - I(차분): 데이터의 평균/분산이 안정되도록 차분(
current - previous
) 적용 - MA(이동 평균): 과거 예측 오차를 현재 예측에 반영하여 트렌드 외 변동성 조정
2. SARIMA 모델의 확장성
- 계절성 계층 추가: 계절 주기(
m
)에 맞는 이전 값(t-12
,t-7
)을 반영 - SARIMA = ARIMA + 계절성 패턴: 예: 연간 데이터는
m=12
, 주간 데이터는m=7
- 예시 시나리오: 와인 매출(계절성 강함), 월별 전력 소비(계절성 없음)
3. 모델 선택 기준
- ARIMA 사용 시: 트렌드만 존재, 계절성 없음 (예: 장비 감가 상각)
- SARIMA 사용 시: 반복적 계절성 존재 (예: 여름 아이스크림 매출, 주말 점포 방문량)
- 코드 예시:
```python
# ARIMA: order=(p,d,q)
model = ARIMA(data, order=(2,1,2))
# SARIMA: seasonal_order=(P,D,Q,m)
model = SARIMAX(data, order=(2,1,2), seasonal_order=(1,0,1,12))
```
4. 자동 모델 선택 도구
pmdarima.auto_arima
:seasonal=True
및m=12
설정으로 SARIMA/ARIMA 자동 탐색- 기능: 그리드 서치 방식으로 최적 파라미터 추정, 모델 적합성 평가
5. 실무 적용 고려사항
- 복잡한 모델 대비 장점: 해석성, 훈련 속도, 자원 효율성
- 기초 예측 기준: LSTMs, Transformers 등 복잡한 모델 대신 ARIMA/SARIMA로 시작
- 예시:
pmdarima.auto_arima(data, seasonal=True, m=12)
사용
결론
- 계절성 존재 여부에 따라 ARIMA/SARIMA를 선택하고,
auto_arima
로 자동 모델 탐색을 권장 - 시계열 예측 기초 모델으로 ARIMA/SARIMA를 사용하여 훈련 속도와 해석성을 균형 잡은 예측 구현 가능