복수 계절성을 위한 고조파 회귀
시계열에 계절 패턴이 여러 개 있을 때도 고조파 회귀가 유용해요. 예를 들어, taylor에는 2000년의 몇 달 동안 잉글랜드와 웨일스의 반시간(30분) 간격 전력 수요가 들어 있어요. 계절 주기는 48(일별 계절성)과 7 x 48 = 336(주별 계절성)입니다. 연간 계절성을 고려하기에는 데이터가 충분하지 않아요.
이처럼 긴 시계열에 auto.arima()를 적용하면 시간이 오래 걸리므로, 대신 tslm() 함수를 사용해 Fourier 항을 포함한 표준 회귀 모형을 적합하겠습니다. 이는 lm()과 매우 유사하지만 시계열 처리를 위해 설계되었어요. 복수 계절성이 있을 때는 각 계절 주기마다 차수 $K$를 지정해야 합니다.
# formula 인수는 적합할 모형을
# 기호식으로 설명합니다
> args(tslm)
function (formula, ...)
tslm()은 이번에 새로 소개된 함수이니, 대부분은 미리 작성된 코드를 따라가시면 됩니다. taylor 데이터는 작업 공간에 이미 로드되어 있어요.
이 연습은 강의의 일부입니다
R로 배우는 시계열 예측
연습 안내
- 각 계절성에 대해 차수 10을 사용해
taylor에 고조파 회귀를 적합하고, 모형 이름을fit으로 하세요. - 근무일 기준 20일 앞을
fc로 예측하세요. 데이터가 반시간 간격이므로 올바른h값을 설정하는 것을 잊지 마세요. - 예측의 시계열 플롯을 그리세요.
- 적합된 모형의 잔차를 확인하세요. 보시다시피,
auto.arima()가 더 잘했을 수도 있어요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Fit a harmonic regression using order 10 for each type of seasonality
fit <- tslm(taylor ~ fourier(___, K = c(10, 10)))
# Forecast 20 working days ahead
fc <- forecast(___, newdata = data.frame(fourier(___, K = ___, h = ___)))
# Plot the forecasts
___
# Check the residuals of fit
___