Excel로 하는 미래 예측(3): 시계열 예측

지난 포스팅에서 시계열 예측 중 데이터 추동 예측을 소개했다. 이번에는 모형 추동 예측을 살펴보자. 표적 변수의 과거 데이터에 의존해서 미래를 예측한다는 점은 데이터 추동 예측의 경우와 동일하지만 모형 추동 예측은 단지 개별적 데이터들의 집합에만 의존하는 것이 아니라 데이터들로 만들어지는 변동의 형태를 미래 예측에 반영하는 방법이다. 예컨대 변동이 선형(linear)이라는 점을 고려할 수도 있고 아니면 변동의 주기성–계절적 부침이라고 한다–이나 상향적 경향–추세라고 한다–을 고려할 수도 있다.

아래 그림들을 보면, (a)의 경우는 주기성이 분명해 보이고 (b)의 경우는 주기성이나 트렌드가 보이지 않는다. (A)의 경우는 주기성을 반영해서 미래를 예측한다면 오류를 줄일 수 있을 것이다.

모형 추동 예측에서 가장 널리 쓰이는 것은 선형회귀 모형이다. 시계열 예측의 선형회귀 모형은 크게 두 가지를 생각할 수 있다. 하나는 시간(시구간)을 예측변수로 갖는 모형–단순회귀모형, 다른 하나는 표적변수의 과거값을 독립변수로 갖는 모형–자기회귀모형이다.

데이터에 계절성(seasonality)이 있으면 단순회귀모형의 적합 결과가 좋지 않다(위 그림 참조).  단순회귀모형의 그런 단점을 개선하는 데는 두 가지 방법이 있다. 하나는 다항회귀(polynomial regression)를 사용하는 방법이다. 시구간의 2차항이나 3차항을 추가하거나 사인, 코사인 함수를 포함한 항을 추가하여 다항회귀모형을 만든다.

다른 하나는 계열 데이터의 각 시구간에 더미변수를 도입하는 방법이다. 만약 12개의 시구간이 있다면 11개의 더미변수를 도입하면 된다(12월은 기준 범주가 되어 더미변수가 생략된다). 시간 변수를 포함해서 모두 12개의 독립변수를 지닌 회귀모형이 되며 각 더미변수는 계절성을 포착한다. (아래 그림 2개 참조)

자기회귀모형(Autoregressive model, AR 모형)은 지연 계열(lag series)에 적용되는 회귀모형이다. 측정된 데이터가 1년씩 미룬 지연(lag) 데이터 혹은 2년 지연 계열, 3년 지연 계열 등과 상당한 정도의 상관관계를 가지는 경우 자기상관관계(autocorrelation)이라고 부르며 예측과정에 활용할 수 있다. 자기상관이 존재할 때 자기회귀모형을 적용하는 것이 하나의 해법이 된다. 자기회귀 모형의 일반식은 다음과 같이 표시될 수 있다.

1차 지연계열 데이터만을 가진 자기회귀모형을 AR(1), 2차 지연계열 데이터를 가진 자기회귀모형은 AR(2) 등으로 표시한다(아래 그림 참조).

지연계열 데이터를 만드는 방법은 간단하다. 아래 그림에서처럼 원 데이터를 복사해서 한 칸(여기서는 1개월)을 아래로 내리거나(Lag_1), 두 칸을 내리거나(Lag_2), 세 칸을 내리면 된다(Lag_3). 아래 사진에서처럼 공통의 데이터(노란색 부분)를 가지고 상관관계를 구하거나 회귀모형을 적합하면 된다.

아래 그림에서 보듯이 Yt와 Lag_1의 자기상관은 0.487451, Yt와 Lag_2의 자기상관은 -0.13216, Yt와 Lag_3의 자기상관은 -0.45576으로, 자기회귀모형의 적합이 필요함을 시사한다. 상관분석과 회귀분석은 모두 엑셀의 데이터-데이터분석 기능을 사용해서 수행하였다. 회귀분석 결과를 보면, 결정계수가 0.7557로 위에서 본 단순회귀모형의 결정계수 0.1798보다 크게 향상되었다.

AR 모형은 정상 시계열 데이터(stationary time series data)인 경우에만 사용 가능하다. 정상 시계열 데이터란 추세(trend)와 계절성(seasonality)이 없고 백색 소음(white noise)만 있는 시계열 데이터이다(아래 그림 참조).

이 조건이 충족되기가 보기만큼 까다롭지는 않다. 약간의 변형만 가하면 비정상 시계열 데이터를 정상 시계열 데이터로 전환할 수 있기 때문이다.

정상성(stationarity)을 확보하는 흔한 방법은 차분(differencing)을 이용하는 것이다. 차분이란 아래 식처럼 금년도 값에서 전년도 값을 뺀 것을 말한다.

만약 그렇게 차분을 해서도 정상성을 확보하지 못하면  아래 식처럼 다시 한번 차분을 할 수 있다(제2차 차분, 차분 차수가 2).

비정상 시계열 데이터의 경우 차분을 사용하지 않고 엑셀이 제공하는 지수평활법 함수를 사용해도 좋다. 2016 엑셀은 예측 함수를 4가지 제공한다. 시구간만을 독립변수로 갖는 단순선형회귀 예측을 계산하는 함수인FORECAST.LINEAR, 지수평활법 예측을 계산하는 함수 FORECAST.ETS, 지수평활법의 95% 신뢰구간을 보여주는 FORECAST.ETS.CONFINT, 계절성의 주기를 보여주는 FORECAST.ETS.SEASONALITY, 세 가지 계수를 보여주는 FORECAST.ETS.STAT를 제공한다.

사용법은 간단하다. 단순선형예측의 경우 예측하려는 셀에 =FORECAST.LINEAR를 치고, 예측하는 날짜(여기서는 A38), 표적변수 데이터(여기서는 B2:B37), 데이터가 있는 날짜(여기서는 A2:A37)를 입력하면 된다. 그리고 그 이후 날짜에 대한 예측을 추가하려면 그 수식을 복사하면 된다. 지수평활법도 마찬가지이다.

FORECAST.ETS는 편리한 함수이나 약간 자세한 설명이 필요함으로 다음 포스팅에서 독립해서 다루겠다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.