12.1 주별, 일별, 그리고 일별 이하의 데이터

주별, 일별, 그리고 일별 이하의 데이터는 여러 가지 다른 이유로 예측하기 어려울 수 있습니다.

주별 데이터

주별 데이터는 계절성 주기(1년 전체 주의 개수)가 크면서 정수가 아니라서 어렵습니다. 1년에 있는 주의 평균 개수는 52.18입니다. 이 책에서 다룬 대부분의 기법에서 계절성은 정수이어야 합니다. 1년에 있는 주의 개수를 근사적으로 52로 두어도, 대부분의 기법은 이렇게 큰 계절성 주기를 효과적으로 다루지 못할 것입니다.

가장 간단한 접근 방식은 (6 장에서 다룬 것처럼) 계절성으로 조정된 데이터에 적용한 비-계절성 기법으로 STL 분해를 이용하는 것입니다. 여기에서는 한 예제로 1991년 2월부터 2005년 5월까지 미국 완성차에 사용하는 용도의 휘발유 제품의 주별 데이터를 (단위: 백만 배럴/일) 다루겠습니다.

gasoline %>% stlf() %>% autoplot()
계절성으로 조정된 데이터에 대한 ETS 모델과 STL 분해를 이용하여 주별 미국 휘발유 생산 예측값.

Figure 12.1: 계절성으로 조정된 데이터에 대한 ETS 모델과 STL 분해를 이용하여 주별 미국 휘발유 생산 예측값.

다른 접근 방식으로는 9.5 절에서 다룬 동적 조화 회귀(dynamic harmonic regression) 모델을 사용하는 것이 있습니다. 다음의 예제에서는, AICc 를 최소화하여 푸리에 항의 수를 고릅니다. auto.arima() 함수 안에서 해주긴 하지만, ARIMA 모델의 차수 역시 AICc 를 최소화하여 고릅니다.

bestfit <- list(aicc=Inf)
for(K in seq(25)) {
  fit <- auto.arima(gasoline, xreg=fourier(gasoline, K=K),
    seasonal=FALSE)
  if(fit[["aicc"]] < bestfit[["aicc"]]) {
    bestfit <- fit
    bestK <- K
  }
}
fc <- forecast(bestfit,
  xreg=fourier(gasoline, K=bestK, h=104))
autoplot(fc)
동적 조화 회귀 모델을 이용하여 얻은 매주 미국 휘발유 생산 예측값.

Figure 12.2: 동적 조화 회귀 모델을 이용하여 얻은 매주 미국 휘발유 생산 예측값.

적합 모델(fitted model)에는 푸리에 항(Fourier term)의 18개의 쌍이 있고 다음과 같이 쓸 수 있습니다. \[ y_t = bt + \sum_{j=1}^{18} \left[ \alpha_j\sin\left(\frac{2\pi j t}{52.18}\right) + \beta_j\cos\left(\frac{2\pi j t}{52.18}\right) \right] + \eta_t \] 여기에서 \(\eta_t\)는 ARIMA(4,1,1) 과정입니다. \(n_t\)가 정상성(stationarity)을 나타내지 않기 때문에, 실제로 이 모델은 이 식의 양 변에 있는 변수의 차분값(difference)에 대해 추정된 것입니다. 꽤 크지만 AICc 선택에 따르면 분명히 필요한 계절성을 잡아내기 위한 36개의 매개변수가 있습니다. 전체 자유도 개수는 42입니다(다른 6개는 4개의 자기회귀 매개변수, 1개의 이동평균 매개변수와 표류 매개변수에서 왔습니다).

또 다른 접근 방법은 11.1에서 소개한 TBATS 모델입니다. 이것은 11.5 절의 연습문제 2의 주제였습니다. 이 예제에서, 예측값이 거의 똑같고, 두 모델 사이에 차이가 거의 없습니다. 계절성이 시간에 따라 변할 때는 TBATS 모델이 좋습니다. ARIMA 접근 방식은 추가적인 회귀자(regressor)로 넣을 수 있는 유용한 예측변수(predictor variable)인 공변량(covariate)이 있을 때 좋습니다.

일별과 일별 이하의 데이터

일별과 일별 이하의 데이터는 다른 이유에서 어렵습니다. 여기에는 종종 여러 계절성 패턴이 들어가서 이러한 복잡한 계절성을 다룰 기법을 사용해야 하기 때문입니다.

물론, 시계열이 상대적으로 짧아서 계절성이 단 하나만 나타나는 경우에는, 우리가 다룬 (예를 들어, ETS나 계절성 ARIMA) 단일-계절성 기법 중에서 하나를 사용할 수 있을 것입니다. 하지만, 계절성이 충분히 길어서 더 긴 몇몇 계절성 주기가 분명해지면, 동적 조화 회귀(dynamic harmonic regression)나 11.1에서 다룬 TBATS를 사용할 필요가 있을 것입니다.

하지만, 이러한 모델도 규칙적인 계절성만 허용한다는 것을 기억해야 합니다. 부활절, 이드(이슬람교의 두 가지 주요 축제인 Eid ul-Fitr나 Eid ul-Adha), 중국의 새해 첫 날은 같이 바뀌는 사건과 관련된 계절성을 잡아내는 것은 더 어렵습니다. 월별 데이터에서도, (부활절의 경우) 3월이나 4월에, (중국의 새해 첫 날의 경우) 1월이나 2월에, (이드의 경우) 1년의 어떤 시기가 될 수 있기 떄문에 어려울 수 있습니다.

바뀌는 휴일 효과를 다루는 가장 좋은 방법은 가변수(dummy variable)를 사용하는 것입니다. 하지만, ETS나 TBATS 둘 다 공변량(covariate)을 허용하지 않습니다. 이 책에서 다룬 모델 중에서 (그리고 R의 forecast 패키지에 구현된), 유일한 선택지는 동적 조화 회귀(dynamic harmonic regression)입니다. 여기에서 예측변수(predictor variable)는 어떠한 모의 휴일 효과도 넣을 수 있습니다(그리고 푸리에 항을 이용하는 계절성도 넣을 수 있을 것입니다).