추정된 AR 모델로 간단한 예측 만들기
이제 arima() 명령으로 데이터를 모형화했으니, 해당 모델을 바탕으로 간단한 예측을 만들어 보겠습니다. 추정된 AR 모델에서 예측을 만들 때는 predict() 함수를 사용할 수 있습니다. predict() 명령이 생성한 객체에서 $pred 값은 예측치이고, $se 값은 그 예측의 표준오차입니다.
마지막 관측값 이후 여러 기간에 대한 예측을 만들려면 predict()의 n.ahead 인수를 사용하면 됩니다. 이 인수는 예측 지평(h), 즉 예측할 기간의 수를 설정합니다. 예측은 관측된 시계열의 끝에서부터 1단계 앞 예측부터 h단계 앞 예측까지 순차적으로 이루어집니다.
이 연습에서는 1871년부터 1970년까지의 나일강 연간 유량을 기록한 Nile 데이터에 AR 모델을 적용해 간단한 예측을 만들어 봅니다.
이 연습은 강의의 일부입니다
R로 배우는 시계열 분석
연습 안내
arima()를 사용해Nile시계열에 AR 모델을 적합하세요. 결과를AR_fit으로 저장하세요.predict()를 사용해 1971년 나일강 유량을 예측하세요.predict_AR와$pred[1]을 함께 사용해 1단계 앞 예측값을 구하세요.predict()를 다시 호출해 1단계 앞부터 10단계 앞까지(1971년부터 1980년) 예측을 만드세요. 이를 위해n.ahead를10으로 설정합니다.- 미리 작성된 코드를 실행해
Nile데이터와 예측값, 그리고 95% 예측 구간을 함께 시각화하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Fit an AR model to Nile
AR_fit <- arima(___, order = ___)
print(AR_fit)
# Use predict() to make a 1-step forecast
predict_AR <- predict(___)
# Obtain the 1-step forecast using $pred[1]
# Use predict to make 1-step through 10-step forecasts
predict(___, n.ahead = ___)
# Run to plot the Nile series plus the forecast and 95% prediction intervals
ts.plot(Nile, xlim = c(1871, 1980))
AR_forecast <- predict(AR_fit, n.ahead = 10)$pred
AR_forecast_se <- predict(AR_fit, n.ahead = 10)$se
points(AR_forecast, type = "l", col = 2)
points(AR_forecast - 2*AR_forecast_se, type = "l", col = 2, lty = 2)
points(AR_forecast + 2*AR_forecast_se, type = "l", col = 2, lty = 2)