동적 회귀 모형
모델
동적 회귀 모형이란 쉽게 말해 아리마 모형에 회귀 모형을 합친 모형이다.
설명
아리마 외의 독립변수 $X$ 를 추가한다는 의미에서 아리맥스 $ARIMAX$ 라 부르기도 한다. 프로그래밍으로 구현된 경우, 특히 아래의 실습에서 설명하듯 R에서는 xreg
와 같이 $X$ 가 강조된다.
사실 이쯤되면 말보다는 수식이 편한데, 종속변수로 분석할 시계열 데이터가 $\left\{ y_{t} \right\}$ 이라고 하고 이 데이터를 설명할 독립변수로써 또 다른 시계열 데이터 $\left\{ x_{t} \right\}$ 가 있다고 해보자.
$x_{t}$ 가 $y_{t}$ 를 잘 설명한다면 그것 자체로도 시계열 회귀분석이 가능하고, 그것으로도 설명되지 않는 부분 역시 시계열 분석을 할 수 있다면 더 좋을 것이다. 예로써 $\left\{ y_{t} \right\}$ 자체가 아르마 모형 $ARMA(1,1)$ 을 따른다면 다음과 같은 수식을 생각해볼 수 있다. $$ \begin{align} y_{t} = y_{t-1} + e_{t} - \theta e_{t-1} + \beta x_{t} \end{align} $$ 그냥 식을 합쳐놓은 것처럼 보일 뿐만 아니라, 실제로 그렇다. 회귀 분석과 시계열 분석 둘 다를 이해하고 있다면 동적 회귀 모형은 전혀 어렵지 않은 개념인 것이다. 명명에서 동적dynamic이라는 말이 붙은 이유는 위와는 거꾸로, 회귀 모형에서 시작해 시계열 분석 모형으로 가면 조금 더 이해하기 쉽다. 이공계 전반에서 동적이라는 말은 어떠한 시스템의 상태가 그 전의 상태로 표현할 수 있다는 의미를 가진다. 그런 관점에서 보았을 때, 수식 $(1)$ 은 회귀 분석을 하면서 그 전의 데이터도 참고하는 것이다.
실습
R 에서는 이러한 동적 회귀 모형이 arima()
함수의 옵션으로 구현되어있다. 동적 회귀 모형을 사용할 수 있다면 아리마 모형을 기반으로 삼는 시계열 분석은 거의 다 이해했다고 보아도 좋으며, 다음과 같은 치트시트를 참고하면 좋다:
- (1)
x
: 분석할 시계열 데이터 $\left\{ y_{t} \right\}$ 가 들어간다. - (2)
order
: 아리마 모형 $ARIMA(p,d,q)$ 이라고 하면order=c(p,d,q)
와 같이 넣는다. - (3)
seasonal
: 계절형 아리마 모형 $ARIMA(p,d,q) \times (P,D,Q)_{s}$ 이라고 하면seasonal=list(order=c(P,D,Q), period=s)
와 같이 넣는다. 리스트로 넣어줘야하는 것에 주의해야한다. - (4)
xreg
: 독립변수가 될 시계열 데이터 $\left\{ x_{t} \right\}$ 가 들어간다. 애디티브 아웃라이어의 경우에도 이와 같은 방법으로 더미 데이터를 넣어 처리한다. - (5)
io
: 이노베이티브 아웃라이어가 들어가며 38번, 96번 데이터가 문제라면io=c(38,96)
과 같이 넣는다.