시작하기무료로 시작하기

추정된 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.ahead10으로 설정합니다.
  • 미리 작성된 코드를 실행해 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)
코드 편집 및 실행