저번 방학에 혼자 시계열 데이터를 공부하면서 ARIMA 모델에 대해 다루었다. 그때 당시에 혼자서 공부하다 보니 자세히 몰랐던 부분이 있었는데, 학기 중에 시계열 데이터 수업을 들으면서 확실히 알게 된 내용이 있어 정리하고자 한다. 바로 ACF, PACF 그래프 보고 ARIMA 모델의 차수 p, q 를 선택하는 방법이다.
(출처 : 수업자료, 수업자료의 출처는 아래 교재입니다.)
https://www.wiley.com/en-ie/Applied+Econometric+Time+Series,+4th+Edition-p-9781118808566
https://tiabet0929.tistory.com/8
(지금은 글을 짧게짧게 끊어서 쓰고 있지만 이때는 아주 길게 썼다.)
ARIMA 모델의 차수를 선택하는 방법은 위와 같이 표로 간단하게 정리할 수 있었다. 하지만 왜 이런 결과가 나오는지에 대해선 자세히 설명한 자료가 없어서, 혼자서 열심히 머리를 굴려볼 수밖에 없었다. 그 결과 아래와 같은 결과를 혼자서 도출해냈다.
지금 봐도 맞는 말이다. 하지만 나 스스로도 이 설명에 완전히 납득할 수는 없었다. 뭔가 찝찝함이 남았었달까... 당시엔 그냥 받아들이고 넘어갔었는데, 이번에 수업을 들으면서 완전한 해답을 얻을 수 있었다.
찝찝함의 원인은 내가 ARIMA 모델이 수학적 모델임에도 불구하고, 수학적으로 이해하려는 것을 살짝 피했기 때문이었다.
ARIMA 모델은 기본적으로 위와 같은 수학적인 공식이다. 즉 우리가 어떤 데이터를 갖고 ARIMA 모델을 만든다는 의미는 결국 위 수식에 맞는, 적절한 계수들과 적절한 차수들(p,q)를 끼워넣는다는 것이다. 그러면 역으로 생각해보자. 적절한 계수들과 적절한 차수들을 먼저 대입하여 수식을 만든 뒤, 이 수식의 ACF와 PACF를 그려볼 수 있다.
위의 그래프를 보자. MA(1) 모델의 ACF 그래프다. 너무나 당연하게도 시차 1 이후에 이 모델은 어떠한 상관관계도 가질 수가 없다. (백색소음 끼리는 상관관계가 없다.) 그렇다면 PACF는 어떨까?
이번엔 점진적으로 감소하는 모습이다. 이를 설명하기 위해서 수학공식 하나를 더 끌고 와 보겠다.
왜 이렇게 되는지, 저 L은 무엇인지 간략하게 설명하고 넘어가겠다.
L은 Lag Operator 로, 간단히 말하자면 t 를 t-1로 바꿔주는 기호이다. 시차를 적용시키는 기호다. 무한제곱급수의 성질과 이 Lag Operator를 사용하여 식을 전개하면, y가 쭉 β에 영향을 받고 있음을 확인할 수 있다. 그래서 PACF 는 곧바로 0이 되는 것이 아닌 서서히 감소하는 모양인 것이다.
다소 인문학적으로 이해해보자면, PACF를 만드려면 시차 사이의 영향을 제거해줘야하는데, MA 과정은 오히려 값들이 랜덤하기 때문에 이 영향을 제거하는 과정에서 저런 간섭이 생긴다고 생각해볼 수도 있을 것이다.
AR 모델에 대해선 ACF, PACF 그래프가 MA 모델과 반대로 나타날 것임을 유추해볼 수 있다. 그래서 결론을 정리하면 아래와 같다.
직접 ARMA(1,1) 모델의 ACF, PACF를 확인해보니,
막상 엄청 뚜렷하게 감소하는 모양이 없다보니, 위처럼 표를 보고 선택하는 것이 썩 좋지 못할 것임을 알 수 있었다. 그래서 ARIMA 모델로 실습을 할 때 auto_arima로 계수를 자동으로 선택해주는 것과 내가 직접 ACF, PACF를 보고 선택했던 것에서 차이가 생겼던 것임을 알게 되었다.
'시계열 데이터' 카테고리의 다른 글
시계열 데이터 - 파이썬 auto_arima 및 ARIMA 모델 정리 (0) | 2023.02.13 |
---|---|
시계열 데이터 - 코로나 확진자 수 ARIMA 모델로 예측하기 (2) (0) | 2023.02.10 |
시계열 데이터 - 코로나19 확진자 수 ARIMA 모델로 예측하기 (1) (0) | 2023.02.08 |
시계열 데이터 - 계절성 ARIMA 모델, SARIMA (0) | 2023.02.07 |
시계열 데이터 - AR,MA,ARIMA 모델 (2) | 2023.01.21 |