데이터 과학 Data Science/시계열 데이터

[시계열] 시계열 모델 기초(1) 안정시계열 -AR , MA , ARMA (세상에서 제일 쉬운 설명)

허니비 honeybee 2023. 3. 9. 20:16

머신러닝에서 수학은 곧 모델의 설명력과 같으나, 모두 이해하기엔 너무 많은 리소스가 드는 관계로 수학은 최소화하여 이해할 수 있는 수준으로 세상에서 가장 쉬운 버젼으로 AR 모델, MA 모델, 둘의 결합인 ARMA 모델의 원리를 공부해 보겠다.

 

 

 

0. Intro 

 

시계열 모델의 기본인 AR, MA, ARMA 모델은 기본적으로 안정시계열 모델이다. 대부분의 데이터는 불안정시계열이기 때문에 이를 쉽게 적용할 수 없어 추가적인 가정이 있는 ARIMA, SARIMA, VARMA 등을 이용하게 되지만, 기본적인 원리를 이해하기 위해 해당 게시글을 작성하였다. 

 


 

 

1. AR 모델 

 

AR 모델은 자기회귀 (Autoregressive Model) 의 약어로, 자기 자신의 과거 데이터를 이용해 미래를 예측하는 모델이라고 쉽게 이해하면 되겠다. 

 

 

지난 포스팅에서 배웠듯, 시계열 데이터들은 대부분 정상성을 띄지 않는다. 지금의 값은 직전의 값, 더 전의 값에 영향을 받기 때문에 예측이 어려우며, 순수한 변동의 variation 을 잡아내기 위해 고안된(?) 모델이라고 이해하면 되겠다. 

 

 

 

이 모델의 가정은 p 개의 변수가 있을 때  Yt 시점의 데이터는 Yt-1 시점의 데이터에 의존적이라는 것이다 (영향을 받는다는 것이다) 그렇게 Yt-1 은 Yt-2 모델에,, 영향을 받는다고 가정하면 결국 Yt 시점을 계산하고 예측하는 모델은 다음과 같이 표현할 수 있다 (등차수열) 그럼 결국 나는 내일의 데이터를 알려면 과거의 데이터도 알아야 한다. 

 

이걸 어렵게 말하면 "예측하고자 하는 특정 변수의 과거 관측값의 선형결합으로 해당 변수의 미래값을 예측한다" 라는 결론에 도달할 수 있고, 이를 수식으로 나타내면 다음과 같은 공식이 나온다. 

 

y_t = c + Φ1 * y_t-1 + Φ2 * y_t-2 + ... + Φp * y_t-p + ε_t

* y_t 시점의 데이터를 예측하기 위해, 이전 시점들의 데이터 / ε_t (에러) 의 선형 결합을 이용한 모델 

* 이때 ε_t 가 바로 평균이 0이고 분산이 1인 정규 분포를 따르는 백색잡음 (우리가 원하던 것, 상관성이 없는 그저 random 한 데이)

 

이 되는 것이다. 

 

 


 

 

2) MA 모델 

 

이번엔 수식의 증명과 검증은 뛰어넘고 바로 MA 모델을 설명하겠다. 

 

 

MA 모델의 경우 AR 모델모다 조금 더 혼란스러운 개념을 가진 모델이다. 기본적인  MA 모델의 가정과 정의는 "이전 예측치 오차에 현재값이 영향을 받는 모델" 이라는 것인데. 이런 설명은 모델 내부를 이해하는데 전혀 도움이 되지 않는다. 나는 어떤 멋진 분이 유튜브에 올려두신 미친 교수와 컵케이크 예시를 보고 MA 모델을 이해했다. 이를 요약하자면 다음과 같다. 

 

 

https://www.youtube.com/watch?v=voryLhxiPzE

 

 

MA 모델의 공식은 다음과 같다. 

 

y_t = c + Θ1 * ε_t-1 + Θ2 * ε_t-2 + ... + Θq * ε_t-q + ε_t

Yt 시점의 데이터를 예측하기 위해 평균값인 C 와 예측 오차인 Θ 를 이용하겠다. 

 

 

이를 쉽게 저 예시에 대입해보면.. 다음과 같이 설명할 수 있다. 

 

1) 당신은 대학원생이며 매일 미친 교수의 응답에 따라 컵케이크를 가져가야 한다. 그러나 당신의 담당 교수는 미쳐있기 때문에 컵케이크를 가져오라 말한 것과 사실 가져갔어야 하는 컵케이크가 매번 다르다. (교수님이 원하는 컵케이크 개수를 예측해 가져가야 하는거다 ㅋㅋㅋㅋㅋ) 

 

2) 당신은 (가져간 컵케이크의 개수 - 교수님이 가져왔어야 한다고 말한 컵케이크의 개수) 그러니까 오차, 를 다음 컵케이크를 가져갈 때 반절만큼 반영하게 된다. 그러니 바로 직전에 일어난 교수의 응답에 대해 반응하는 것이다... 

 

3) 이때 가져가게 될 컵케이크의 개수는 평균치를 기준으로 +- n 개를 계산하게 된다. 따라서 당신이 가져가는 컵케이크의 개수는 어느정도 고정된 평균치 아래 조정되게 된다 

 

 

어느정도 이해가 가시나? AR 모델과의 차이점은 직전 값에 더 영향을 받는다고 가정한 단기 시계열 모델이라는 점이다. 

 

 

 


 

 

3) ARMA 모델 

 

 

이제 앞서 설명한 AR 모델과 MA 모델을 결합하여 만든 ARMA 모델에 대해 알아보자. 우리는 AR(p) 모델과 MA(q) 모델을 결합해 ARMA 모델을 도출할 수 있는데,

따라서  ARMA 모델은 p개의 자기 자신의 과거값과 q개의 과거 백색 잡음의 선형 조합으로 정의할 수 있으며 
 
AR 모델이 말해주는 자기 자신의 과거값 p 개 (과거 가져갔던 컵케이크들..) , 그리고 MA 모델이 말해주는 q 개의 오차 (가져갔어야 하는 컵케이크- 실제 가져간 컵케이크) 가 ARMA 모델의 예측값을 설명해 준다. 
 
 
따라서 AR 식과  MA 공식 두개를 더하면 다음과 같은 모양이 나오게 되고,
 
y_t = AR(p) + MA (q)
y_t = Φ1 * y_t-1 + Φ2 * y_t−2 + ... + Φp * y_t−p + ϵ_t + Θ1 * ϵ_t−1 + Θ2 * ϵ_t−2 + ... + Θq * ϵ_t−q
 
변수로 작용하는 p 와 q 를 다음과 같은 형식으로 지정해 부르곤 한다 
 
 
ARMA(1, 0) = AR(1)
 
ARMA(0, 1) = MA(1)
 
ARMA(1, 1)
 

이때 우리가 가장 흔하게 볼 수 있는 형태의 정상시계열 모델은 ARMA (1,1) 이다. 차수가 올라간다고 해서 모델의 성과나 예측 정도가 올라가진 않는다 (좋은 사인으로 해석하진 않는다) 

728x90