시계열 분석 자기회귀 누적 이동평균 모델 (ARIMA)

    시계열이 AR 및 MA 모델의 역동성을 모두 동시에 포괄하는 자기회귀누적이동평균 autoregressive integrate moving average(ARIMA) 이다.   이 특성을 ARMA  모델만으로 달성 될 수 있지만, 추가로 추세의 제거 및 시계열을 정상화하는 차분까지 고려하는 확장된 ARIMA 모델을 살펴 보자. 

차분이란?

   차분은 시계열값을 시간에 따른 값의 변화로 바꾸는 것을 의미한다.  이 과정은 보통 시간상 인접한 데이터 쌍의 차이를 계산하여 이루어 진다.   즉 시간 t에 대한 차분계열은 시간 t 값에서 t-1 값을 뺀 값으로 구성 된다.  차분은 다른 지연을 가진 윈도에 대해서도 수행 된다. 

ARIMA 모델은 정교한 머신러닝 및 딥러닝 모델이 필요 없는 소규모 데이터 셋에 지속해서 최신 성능을 보여 주고 있다.  하지만 상대적으로 단순한 ARIMA 모델조차도 때로는 과적합을 일으킬 수 있다. 


모델

  아래 표는 AR, MA ARMA  중 과정을 가장 잘 성명하는 것이 무엇인지 확인 할 수 있는 시계열 과정을 검사하는 편리한 방법이다. 

시계열을 가장 잘 설명하는 모델의 결정


  위 표에 따르면 AR 이나,  MA 항을 단독으로 역동성을 충분히 설명하지 못하기 때문데 자기 자기회귀이동평균(ARMA) 모델로 결정된다.  이러한 상황은 AR 및 MA의 특정 차수 항에 대한 순서 통계량 (각각 PACF와 ACF)이 0이 아닌 값인 경우일 가능성이 높다.  그러면 이 통계값들은 ARMA 모델로 결합 될 수 있다. 

NOTE_월드의 정리

 월드의 정리는 모든 공분산-정상성 시계열이 결정론적 시계열과 확률론적 시계열 두개의 합으로 작성 될수 있다고 말한다. 이 정리를 기반으로 적절한 모델을 발견하는 것이 꽤 어려워도 정상과정이 ARMA 모델에 의해 근사될 수 있다고 볼 수 있다.


다음은 MA 과정의 계수에 음의 부호를 적용하여 좀 더 일반적인 통계적 표기법으로 바꾼 형태를 보여 준다.

$$ y_t =  ϕ_0 + ∑( ϕ_i × r_{t-1} + e_t -  ∑(θ_i × e_{t-1i} ) $$



ARMA 모델이 반드시 고유한 것은 아니다. 

ARMA을 구성하는AR과 MA에는 공통 인수가 존재할 수 있어서 공통 요소를 묶어서 다른 형태로 ARMA(p,q) 모델을 축약해 볼 수 있다.  하지만 이러한 방식은 되도록 피하고, 간단하고 명료한 일반적인 ARMA 모델을 선택하는 것이 좋다.    좀 더 자세한 부분은 추후 논의 하겠다. 

공통 인수의 존재를 식별하는 것은 지연 연산자(백시프트 연산자)를 ARMA 모델의 공식에 적용하고, 동등하지만, 보다 단순한 모델을 도출하는 다항식 인수분해를 통해 AR 및 MA  모델의 공통 인수를 찾아보는 간단한 방법으로 가능 하다.  예를 들어 ARMA  모델은 한쪽에는 AR을 다른 한쪽에는 MA를 각각 배치하여 표현 할 수 있다. 

다음과 같은 ARMA  모델이 있다고 가정해 보자
$$ y_t = 0.5 × y_{t-1} + 0.24 × y_{t-2} + e_t + 0.6 × e_{t-1} + 0.09 × e_{t-2} $$

AR 항들을 한쪽으로 이동시키고,  다른 한쪽의  MA 항들을 그대로  남겨두면 인수분해된 형식으로 이를 다시 작성 할 수 있다. 

$$ y_t - 0.5 × y_{t-1} - 0.24 × y_{t-2}  =  e_t + 0.6 × e_{t-1} + 0.09 × e_{t-2} $$

 그 다음 지연 연산자를 사용하여 이를 다시 표현 한다.  예를 들어 $y_{t-2}$는 $L^2y$ 로 표현된다. 
$$ y_t - 0.5 × L× y_t - 0.24 × L^2× y_t  =  e_t + 0.6 ×L× e_t- + 0.09 × L^2 × e_t  $$

또는 좌변 $y_t$ 및 우변 $e_t$의 공통 인수를 뽑아내 다음과 같은 형태로 인수분해 할 수 있다. 
$$ (1+0.3L) × (1- 0.8L) × y_t  = (1+0.3L) × (1+0.3L) × e_t  $$

인수 분해 시 지연 연산자로 연산되는 값은 지연 연산자의 우측에 둬야 한다.  그래야 우측에  $y_t$를 빼내어 인수분해 하여 우리에게 익숙한 형태로 만들어 진다. 

 인수분해를 완료하면 좌변과 우변은 공통 인수 (1+0.3L)를 갖게 된다. 그러면 양변의 이 공통 인수는 서로 상쇄되므로 다음과 같은 결과를 만들 수 있다. 
$$  (1-0.8L) × y_t = (1+0.3ㅣ)× e_t$$

인수분해 후 전체 모델의 차수는 축소되어 시간  t-2에 대한 값은 제외 되었고,  시간 t-1에 대한 값만 포함 되었다.  이 결과는 ARMA(2,2) 처럼 별로 복잡하지 않은 모델 조차도,  사실은 더 단순한 모델의 형식과 동일 할 수 있다는 내용이 가려져 있다는 것으로 받아 들여야 한다.

직접 모델을 계산적으로 적합할 때  이 사실을 항상 염두에 두는 것이 좋다.  실 세계 데이터셋을 다루다 보면 양변이 수치적으로 완벽히 일치 하지는 않지만, 꽤나 유사한 상황을 겪을 지도 모른다.  가령 좌변의 인수는 (1-0.29L),  우변의 인수는 (1-0.33L) 인 상황과 같은 것이다.  모델의 복잡성을 낮출 때 이둘이 공통 인수로 고려 되기에 충분히 가까울지도 모른다는 사실은 고려 해볼 만한 가치가 있다. 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ARMA 과정의 정상성은 ARMA를 구성하는 AR 요소로 설명되며,  AR 모델의 정상성을 제어하는 동일한 특성 방정식으로 제어 된다. 

 ARMA  모델을 ARIMA 모델로 전환하는 것은 쉽다.  ARIMA는 ARMA에 없는 누적 intergrated 이라는 용어가 추가로 표함된 점이 다르다. 이는 정상성을 만들기 위해서 모델링된 시계열의 차분이 몇 번이나 구해져야만 하는지를 의미 한다. 

AR, MA, ARMA  대비 ARIMA  모델이 보다 널리 사용되고 있다.  특히 학술 연구 및 예측문제에서 많이 사용 된다. 구글 검색창에 스칼라를 검색해 보면 다음과 같은 다양한 예측 문제에서 ARIMA가 적용된 것을 알 수 있다. 

  • 대만으로 귀항하는 항공기 여행 승객
  • 터키의 연료 유형별 에너지 수요
  • 인도의 야채 도매 시장에서의 일일 판매
  • 미국 서부의 응급실 수요
여기서 중요한 점은 차분의 차수가 너무 크지 않아야 한다는 것이다.  일반적으로  ARIMA(p,d,q) 모델을 구성하는 각 파라미터의 값은 부적절한 복잡성과 샘플 데이터에 대한 과적합을 피하기 위해 가능한 한 작게 유지되어야 한다.  항상 그런것은 아니지만, 2보다 큰 d 값, 5보다 콘  p 와 q값에 대해서는 상당히 회의적인 자세를 취하는 것이 좋다.  또한 p나 q항 중 하나만 크게 설정하고, 나머지 항은 상대적으로 작은 값으로 설정하는 것이 좋다. 이는 수학적으로 면밀히 검증된 사실은 아니지만, 여러 분석가의 실무 경험에서 얻은 조언이다. 

# 참고 서적 : 실적 시계열 분석  - 한빛 미디어

댓글 없음:

댓글 쓰기

css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...