본문 바로가기
Time Series

ARIMA 계열 모델들 - 작성중

by 아르카눔 2025. 5. 18.

ARIMAautoregressive integrated moving average의 줄임말로 자기상관성 (autocorrelation)이동평균 (moving average)차분 (differencing)를 이용한 예측 모델이다.  

 

SARIMA는 위 ARIMA 모델에 seasonality 계절성을 추가한 모델로 seasonal ARIMA이다.

 

기본적으로 ARMA (autoregressive moving average)모델은 stationary time series 시계열의 정상성을 가정한다. 이는 곧 

 

이때 정상성 (Stationary)은 시계열 데이터가 시간의 흐름에 따라서 평균과 분산이 변하지 않음을 의미한다.

 

시계열 자료는 추세 (trend)가 있는 경우가 많은데 이를 차분 (differencing)으로 해결한다.

 

이를 Integrated라고 하는데, 각각의 데이터가 현재 값과 이전 값으로 대체하는 것을 의미한다.

 

이때 ARIMA에서 AR과 MA를 동시에 사용할 수도 있고 AR만 사용할 수도, MA만 사용할 수도 있다.

 

위 정상성 가정에서 분산이 변화한다고 하였을 때 사용하는 모델은 ARCH와 GARCH, 그리고 그외 ARCH의 variants다. 

 

 

모델들

  • AR(p)
  • MA(q)
  • ARMA(p, q)
  • ARIMA(p, d, q)
  • SARIMA(p, d, q) x (P, D, Q)S
  • ARCH
  • GARCH 

이때 p, d, q는 non-negative integers다.

 

  • p는 order of autoregressive model로 time lags의 숫자다.
  • d는 degree of differencing으로 데이터가 과거 데이터에 의해서 뺀 회수다.
  • q는 order of the moving-average model다. $t, ..., t-q$ 기간만큼 평균을 구한다.

 

등분산 (Homoskedasticity) 모델

 

1. AR(p)

 

AutoRegressive model에서는 $t-1, ..., t-p$까지 총 p개의 기간의 더 이전 시간의 과거 데이터 $X_{k}$를 활용해서 시간 $t$의 데이터인 $X_t$를 예측하는 모델이다.

 

$X_t = \sum_{i=1}^p \phi_{i} X_{t-i} + \epsilon_{t}$

 

그리고 $\epsilon_{t}$는 white noise다. 

 

Backshift operation $B^{i}$를 활용해서 위 식을 다시 표현하면 아래와 같다.

 

$X_t = \sum_{i=1}^p \phi_{i} B^{i} X_{t} + \epsilon_{t}$

 

이때 $\phi(B) = 1 - \phi_1 B - ... - \phi_p B^p$로 AR polynomial을 표기할 수 있다. 

 

 

2. MA(q)

 

Moving Average model에서는 $t, ..., t-q$까지 총 q개의 기간의 더 이전 시간의 과거 화이트 노이즈 데이터 $\epsilon_{t}$를 활용해서 시간 $t$의 데이터인 $X_t$를 예측하는 모델이다.

 

$X_t = \mu + \sum_{i=1}^q \theta_{i} \epsilon_{t-i} + \epsilon_{t}$

 

$\mu$는 시계열 데이터의 평균값이다. 

 

MA 역시 backshift operator를 활용한 표현이 가능하다.

 

$X_t = \mu + ( \theta_1 B + ... + \theta_q B^q ) \epsilon_{t}$

 

MA polynomial의 경우 $ \theta(B) = \theta_1 B + ... + \theta_q B^q  $로 표기할 수 있다. 

 

 

3. ARMA(p, q)

 

AR(p)와 MA(q)를 합친 모델이다.

 

$X_t = \sum_{i=1}^p \phi_{i} X_{i-1} + \sum_{i=1}^q \theta_{i} \epsilon_{t-i} + \epsilon_{t}$

 

ARMA(p, q)는 polynomial 형태로 표현하면 다음과 같이 표현할 수 있다.

 

$\phi(B)(x_t - \mu) = \theta(B) \epsilon_t$

 

 

4. ARIMA(p, d, q)

 

differencing 차분이란 다음과 같다.

 

1차 차분을 통해 새로 구한 시간 $t$에서의 값은 다음과 같이 표기 가능하다.

 

$y_{t}^{*} = y_{t} - y_{t - 1}$

 

2차 차분을 통해 구한 시간 $t$에서의 값은 다음과 같다.

 

$y_{t}^{'} = y_{t}^{*} - y_{t-1}^{*}$

 

= $ (y_{t} - y_{t - 1}) - (y_{t} - y_{t - 1})$

 

위와 같은 과정으로 d번 차분하여 구한 데이터 값을 통해서 ARMA(p, q)를 구하면 그게 곧 ARIMA(p, d, q)다. 

 

이때 $y_{t} - y_{t - 1} = (1 - B) Y_t$의 형태로 표기할 수 있다.

 

$1 - B = \nabla$로도 표기가 가능하다.

 

따라서,

 

$ y_{t} - y_{t - 1} = (1 - B) y_t = \nabla y_t$가 된다. 

 

따라서 아래의 식도 성립한다. 

 

$y_{t}^{'} = y_{t}^{*} - y_{t-1}^{*}$

 

$ = (1 - B)^2 y_t$

 

$ = \nabla^2 y_t$

 

 

 

5. SARIMA(p, d, q) X (P, D, Q)S

 

P는 seasonal AR order, D는 seasonal differencing, Q는 seasonal MA order, 그리고 S는 time span of repeating seasonal pattern이다.

 

Seasonal AR $\Phi(B^S) = 1 - \Phi_1 B^S - ... - \Phi_P B^{SP} $

 

Seasonal MA $\Theta(B^S) = 1 + \Theta_1 B^S + ... + \Theta_Q B^{SQ} $

 

그리고 S가 12로 yearly 일년마다 한번씩 반복되는 계절적 특성이면 계절적 차분은 다음과 같다.  

 

$(1 - B^S) x_t = (1 - B^{12}) x_t = x_t - x_{t-12}$

 

이제 SARIMA(p, d, q) X (P, D, Q)S를 AR, MA, seasonal AR, seasonal MA의 다항식들로 표기하면 아래와 같다.

 

 

$\Phi(B^S)\phi(B)(x_t - \mu) = \Theta(B^S)\theta(B) \epsilon_t$

 

SARIMA의 예시 

 

PennState Eberly College of Science의 STAT510  강의 (링크)예시로 SARIMA의 구체적인 식을 살펴본다.

 

SARIMA(0, 0, 1) X (0, 0, 1)12

 

$\theta(B) = 1 - \theta_1 B$다.

 

그리고 $\Theta(B) = 1 - \Theta_1 B^12$다.  

 

따라서 모델은 $x_t - \mu = (1 - \theta_1 B)(1 - \Theta_1 B^{12}) \epsilon_t $가 된다.

 

이를 $x_t$에 대해서 정리하면,  

 

$ \mu + \epsilon_t + \theta_1 \epsilon_{t-1} +  \Theta_1 \epsilon_{t-12} + \theta_1 \Theta_1 \epsilon_{t-13}$ 이 된다.

 

 

6. p, d, q, P, D, Q의 판단

 

자기상관함수 (ACF, AutoCorrelation Function)와 부분자기상관함수 (PACF, Partial AutoCorrelation Function)을 이용해서 판단하는데 ACF와 PACF 함수의 값을 각각 구한다음에 그래프를 그리고 눈으로 판단한다. 

 

 

 

 

이분산 (Heteroskedasticity) 모델

 

위의 ARIMA나 SARIMA와는 다르게 시간의 흐름에 따라서 분산이 변화함을 반영한 모델이다.

제일 유명한건 ARCH와 GARCH다. 

 

 

1. ARCH (Autoregressive Conditional Heteroskedasticity) 

 

기존의 화이트 노이즈를 나타내는 $\epsilon_t$를 시간의 흐름에 따라서 다른 분산을 가지도록 다음과 같이 변경한다.

 

$\epsilon_t = \sigma_t z_t$

 

 

 

 

 

 

 

 

 

 

 

References:

https://www.ibm.com/kr-ko/think/topics/arima-model

https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average

Time Series Analysis and Its Applications With R Examples, Robert H. Shumway, and David S. Stoffer, Springer

https://en.wikipedia.org/wiki/White_noise

https://www.statsmodels.org/stable/examples/notebooks/generated/statespace_sarimax_stata.html

https://en.wikipedia.org/wiki/Lag_operator

https://needmorecaffeine.tistory.com/36

https://medium.com/@ritusantra/introduction-to-sarima-model-cbb885ceabe8

https://online.stat.psu.edu/stat510/Lesson04

https://online.stat.psu.edu/stat510/Lesson02

https://en.wikipedia.org/wiki/Autoregressive_conditional_heteroskedasticity

https://needmorecaffeine.tistory.com/37

https://seungbeomdo.tistory.com/34

 

 

'Time Series' 카테고리의 다른 글

HiPPO (2020) 논문 리뷰  (0) 2025.05.17
Wave 파동 기본 개념 정리  (0) 2025.04.28
Time Series Analysis 개요  (0) 2025.04.23