1. 학습
  2. /
  3. 강의
  4. /
  5. R로 배우는 시계열 예측

Connected

연습 문제

주간 데이터 예측

주간 데이터의 경우, 계절 길이가 너무 길기(약 52) 때문에 ETS나 ARIMA 모델로 계절성을 다루기 어렵습니다. 대신 사인과 코사인을 사용해 계절성을 모델링하는 조화 회귀(harmonic regression)를 사용할 수 있어요.

fourier() 함수는 필요한 조화항을 쉽게 생성해 줍니다. 차수(\(K\))가 높을수록 계절 패턴이 더 “물결치듯” 유연해집니다. $K=1$이면 단순한 사인 곡선이 됩니다. AICc 값을 최소화하도록 \(K\) 값을 선택할 수 있습니다. 영상에서 보셨듯이, fourier()는 필수 시계열, 생성할 푸리에 항의 개수, 그리고 선택적으로 예측에 필요한 행 수를 입력으로 받습니다:

> # fourier(x, K, h = NULL)

> fit <- auto.arima(cafe, xreg = fourier(cafe, K = 6),
                    seasonal = FALSE, lambda = 0)
> fit %>%
    forecast(xreg = fourier(cafe, K = 6, h = 24)) %>%
    autoplot() + ylim(1.6, 5.1)

사전 로드된 gasoline 데이터는 미국의 완제품 자동차용 가솔린 주간 데이터를 담고 있습니다. 이 연습에서는 이 데이터에 조화 회귀를 적합하고, 향후 3년을 예측해 보겠습니다.

지침

100 XP
  • AICc를 최소화하도록 선택된 차수 $K=13$으로 gasoline에 fourier()를 적용해 harmonics라는 이름의 xreg 행렬을 만드세요.
  • fit에 동적 회귀 모델을 적합하세요. 계절성은 회귀 변수가 처리하므로 xreg는 harmonics로, seasonal은 FALSE로 설정하세요.
  • 같은 방식으로 새로운 xreg 행렬 newharmonics를 만들고, 다음 3년의 예측을 fc로 계산하세요.
  • 마지막으로 예측 결과 fc를 시각화하세요.