본문 바로가기

김성범 교수님 유튜브 강의/파이썬 시계열 분석

ARIMA 모델 개요 - Part 1

728x90

1. 정상 프로세스(Stationay Process)

1) 정의

# 참고

 

 먼저 정상성이라는 조건이 필요한 이유에 대해 한번 생각해보자. 이 생각이 정답이라는 것은 아니다. 우리는 시간의 순서에 따라 기록되지 않은 일반적인 자료들을 분석할 때, 확률표본(Random samples)들에 i.i.d(All samples are independent and identically distributed) 가정을 한다. 시간에 종속되어있는 시계열은 상식적으로 i.i.d 가정을 할 수 없다. 그래서 이러한 시계열 자료에 대해 예측 모형을 적합하고 통계적 검정을 하기 위해서는 분석을 단순화 시킬 수 있는 새로운 가정이 필요하다. 이중 가장 중요한 것이 시계열 모형의 확률적 성질이 시간에 따라 변하지 않는다고 가정하는 정상성 가정이다.

ARIMA 모형은 해당 시계열이 약정상성(Weak stationarity)를 만족한다고 가정하며, 약정상성을 만족해야 좋은 적합력과 예측 성능을 보여줄 수 있을 것이다. 시계열 ytyt가 다음의 세 조건을 만족할 때 약정상성을 가진다고 표현한다. 시계열 분석에서 말하는 정상 시계열(Stationary series)은 약정상성을 가지는 시계열을 말한다.
  ① 평균이 모든 시점 t에서 동일하다 : 추세, 계절성, 순환성 등의 패턴이 보이지 않게 된다.
  ② 분산이 모든 시점 t에서 동일하다 : 자료 변화의 폭이 일정하게 된다.
  ③ yt와 yt−h 간의 공분산(즉, yt의 자기공분산 함수)이 모든 시점 t에 대해 동일 : 시간에 따라 상이한 자기상관적 패턴을 보이지 않게됨.
출처: https://be-favorite.tistory.com/63
 

ARIMA 모형

※ prerequisite 평활법 단일 시계열 자료에 대한 예측의 대표적인 통계적 모형이라고 할 수 있는 ARIMA 모형을 소개한다. 앞선 글에서 본 평활법과 달리 시계열 자료를 다루는 통계적 모형에는 가정

be-favorite.tistory.com

2) 정상성 확인

  • ACF : AutoCorrelation Function 으로 lag(n th order)에 따른 auto correlation 값을 나타낸다.
    • 참고로 이전에 검정할 때 이용했던 d 값과는 다르며, error term 식에서 pi 값과 같다고 보면 된다.
    • 정확히 어떻게 구하는지는 안알려줌.
  • PACF : Partial AutoCorrelation Function 으로 정확한건 다음에 알려줌.
  • 어찌됐든 위의 그래프로 정상성을 판단한다. 주관적이지만 위의 그래프들처럼 랜덤하게 lag에 따라 자기상관성이 나타나면 정상성을 가진다고 본다.

 

  • 세개 다 평균이 시점에 따라 바뀌고, 앞에 두개는 분산도 달라진다.
  • 마찬가지로 ACF, PACF 그래프를 그려본다. 

# 참고

otexts.com/fppkr/graphics-autocorrelation.html

 

Forecasting: Principles and Practice

2nd edition

Otexts.com

ACF 그래프에서 추세와 계절성

 데이터에 추세가 존재할 때, 작은 크기의 시차에 대한 자기상관은 큰 양의 값을 갖는 경향이 있는데, 왜냐하면 시간적으로 가까운 관측치들이 관측값의 크기에 있어서도 비슷하기 때문입니다. 그래서 추세가 있는 시계열의 ACF는 양의 값을 갖는 경향이 보이며, 이러한 ACF의 값은 시차가 증가함에 따라 서서히 감소한다. => non-stationary

 데이터에 계절성이 존재할 때의 자기상관은 다른 시차의 경우보다 계절성 시차(계절성 빈도의 배수로 나타나는)의 경우에 더 크게 나타날 것입니다.

 추세와 계절성을 모두를 나타내는 데이터의 경우에는 이들의 조합된 효과를 확인할 수 있습니다.

그림 2.14 의 호주 월별 전력 수요 시계열은 추세와 계절성 양쪽 모두를 나타냅니다.

Figure 2.14: 1980년부터 1995년까지 호주 월별 전력 수요.
Figure 2.15: 월별 호주 전력 수요의 ACF.

 시차값(lags)이 증가할수록 ACF 값이 서서히 감소하는 것은 추세 때문인 반면, “물결 모양(scalloped)”이 나타나는 것은 계절성 때문입니다.

 

3) 비정상성 확인

  • 위와 같이 평균이 일정하지 않고 점차 증가하며 뒤로 갈수록 분산이 커지는 경우에는 ACF가 점점 내려가는 형태로 나타난다.
  • ACF가 점차 떨어진다 => Non-stationary

2. ARMA(AutoRegressive Moving Average)

1) AutoRegressive Models

  • 자기 자신의 lags 를 이용해서 변수로 사용한다. 
  • 그래서 당연히 변수간의 독립성 가정을 위배하므로 기존 최소제곱법을 통한 접근법이 아닌 다른 방식이 필요하다.

2) Moving Average(MA) Models

  • 연속적인 error 들로 y_t 를 표현해본 것.

3) ARMA

  • 위에 두개를 합친 것. 
  • 자기자신의 lag 값들 + error term 들

4) ARIMA(AutoRegressive Integrated Moving Average)

  • AR, MA, ARMA 모두 정상(Stationary) 데이터에 적용이 가능하다. 
  • 그리고 데이터를 정상적으로 만들기 위한 과정이 '차분' 이다. 
  • 차분을 했다 = integrated
  • p : AR 모델의 변수 개수
  • q : MA 모델의 변수 개수
  • d: 차분 횟수

5) 차분

  • 헷갈리면 안되는게 d차 차분은 차분을 d만큼 한 것이다. 
  • 위에서 설명한 것은 계절성 차분으로 시차 m차 차분이다. 
  • X가 non-stationary 라도 차분을 하면 stationary 가 될 가능성이 높다.

otexts.com/fppkr/stationarity.html

 

Forecasting: Principles and Practice

2nd edition

Otexts.com

 

  • 대부분의 데이터가 1차차분 혹은 2차차분으로 해결이 된다.
  • constant average trend 즉, 꾸준히 증가하거나 감소하는 단순한 trend 를 가질 경우 1차차분으로 해결이 됨.
  • 복잡할 수록 더 많은 차분을 하면 된다.

  • 1차차분, 2차차분을 한 결과이다. 
  • 언뜻 보기에 stationary 하게 변한 것처럼 보이는데 실제로도 그런지 autocorrelation 그래프를 그려보자.

  • 원래 데이터는 ACF 가 서서히 감소하는 것으로 보아 non stationary 인데 반하여, 차분을 한 데이터는 stationary 로 변하였다. 

 

질문과 비판은 언제나 환영입니다. 많이 꾸짖어주세요.

728x90