*이 게시물은 포스택 정치혁 교수의 K-mooc 강의는 시계열 분석 기술과 응용 프로그램을 기반으로 작성되었습니다.
강의 내용에 들어가기 전에 먼저 관련 개념을 명확히 하는 것이 좋다고 생각해 정리해 보았다.
트렌드: 데이터가 장기적으로 증가 또는 감소하는 경우, 이것을 경향(Trend)이 존재한다고 한다.
트렌드는 상향 상향이거나 하향 하향일 수 있으며, 수평적인 형태를 했을 경우, 이것을 stationary trend 또는 horizontal trend라고 부른다.
일반적으로 추세를 표현하기 위해 평균 변화, 즉 선형 함수에 기울기가 있으면 추세라고 부르지 만 트렌드의 전부는 아닙니다.
Linear(선형)뿐만 아니라, Quadratic(2차항)이 되는 것도, 그 이상의 차수이기도 하고, Exponential로 증가하는 경우(EXP^(a+bt))에도 이것을 트렌드라고 부른다.
또한 랜덤 워킹과 같은 stochastic 변화에도 트렌드라는 용어를 사용합니다.
수학적으로, 시계열 데이터의 평균 E(X1, X2, … Xt)가 t 시점이 증가하면 변화하는 경우, 이것을 경향이 존재한다고 표현한다.
계절성: 계절성은 일정한 주기로 데이터가 동일한 패턴을 갖는 경우를 의미합니다.
예를 들어, 우산 판매량 데이터로 여름마다 판매량이 증가하는 것과, 매주 토요일 밤에 방송 시청자수가 최대를 달성하는 등. 일정한 빈도(년, 월, 주, 혹은 요일)에 의해 증감의 패턴이 관측되는 경우에 이것을 계절성이라고 한다.
주기성(Cycle): 계절성이 일정한 주기로 동일한 패턴을 나타내는 경우, 주기성의 경우, 주기는 일정하지 않지만 동일한 패턴을 띄는 경우라고 생각하면 된다.
간단한 예로서 경제 사이클의 경우, 언제 호황기가 올지 불황기가 올까는 정해지지 않았지만, 결국은 호황->후퇴->불황->회복의 패턴이 유지된다.
* 경향을 평균의 변화라고 정의하면 계절성과 주기성도 경향이라는 개념에 속하고 있다고 볼 수도 있다.
시계열 이상 (nonstationary)
- 시계열에 분산의 변화가 있는 경우나 경향이나 계절성이 포함되는 경우, 정상성을 채우지 않는다.
- 수학적으로는 시계열 데이터의 평균, 분산, Autocorrelation의 구조가 변화하면 정상성을 만족하지 않는다.
이번 강의에서는 이러한 이상성에 대응하는 방법 중 하나인 ARIMA에 대해 다룬다.
기본적인 이상성 대응 방안은 다음과 같다.
이상성 대응 방안
- 차이를 통해 일반 시계열로 변환
- 로그 함수와 같은 함수 변환에 의한 분산 안정화
- 분해법에 의한 경향, 계절성의 제거
Differencing(차이): 시계열 데이터 세트를 한 시점 뒤로 당겨 원래 데이터에서 꺼내는 작업.
아래 그림을 보면 Zt는 시계열 데이터 {X1, X2, … Xt}의 집합을 의미합니다.
즉, Zt-1은 이러한 집합 Zt를 한 점씩 진행한 {X1, X2,… 1}이 된다.
(X0가 존재하지 않기 때문에, 차분 계산시에는 이것을 고려하여 Zt는 X2부터, Zt-1은 X1로부터로 정의해야 한다.
)
Backshift operator를 이용하면 이러한 차분 과정을 다음과 같이 일반화할 수 있다.
실제의 정상성을 위해 차분을 사용하는 경우는 1차 차분을 해보고, 만약 정상이 아닌 경우는 2차 차분을 진행한다.
그 이상으로 차분할 수 있지만, 대부분이 2차 차분 내에서 문제가 해결된다.
단순한 AR과 MA 모델의 차이의 평균을 직접 구해 보면 실제로 평균이 일정해지고 ACF도 거의 0으로 변환되는 것을 확인할 수 있습니다.
아래 그림을 확인하면 이상시계열에 차분을 진행시키면서 평균이 거의 일정해지고 ACF도 0에 가까워 정상성이 충족되는 것을 알 수 있다.
ARIMA
이전 강의까지는 ARMA 모델에 대해 다루었지만, ARMA 모델의 경우 시계열의 정상성 조건을 충족해야 했다.
비정상 시계열 데이터에도 적용 할 수 있도록 ARMA 모델에 Difference 즉 차분을 적용한 모델이 바로 ARIMA이다.
여기서 I는 integerated에서 아래 그림을 보면 차수 d 누적 시계열이 영어로 integrated process of order d로, 즉 위에서 설명한 바와 같이 차분이 추가되는 것을 의미한다.
* 차수 d 누적 시계열의 개념이 조금 어렵지만, 예를 들어 차수 2 누적 시계열의 경우 Zt를 2차 차분해야 하는 시계열이 처음으로 정상적인 시계열을 의미하고 I(2)로 표기한다 .
차분 된 시계열이 ARMA (p, q)를 따를 때 원래 시계열 Zt가 ARIMA (p, d, q) 모델을 따릅니다.
다음 예제에서는 좀 더 직관적으로 이해할 수 있습니다.