3.6 R의 forecast 패키지

이 책은 R의 forecast 패키지에 있는 기능을 (fpp2 패키지를 부를 때 forecast 패키지도 자동으로 부릅니다) 이용합니다. 이 부록은 간략하게 이 패키지의 몇 가지 기능을 요약합니다. 각 함수를 더 알고 싶거나 이러한 함수를 사용하는 예제를 보려면 도움말 파일을 참조하시길 바랍니다.

forecast 객체를 결과로 내는 함수들:

meanf(), naive(), snaive(), rwf()를 포함하는 많은 함수는 forecast 객체의 형식으로 출력을 냅니다(즉, forecast 클래스의 객체). 이렇게 하여 (autoplot() 같은) 다른 함수가 다양한 예측 모델에 걸쳐 일관성 있게 작동하도록 합니다.

클래스 forecast의 객체는 예측 기법, 사용한 데이터, 얻은 점 예측치, 예측구간, 잔차(residual)와 적합값(fitted value)에 관한 정보를 담고 있습니다. autoplot(), summary(), print()를 포함하는 이러한 객체로 작업할 수 있도록 디자인한 몇 가지 함수가 있습니다.

다음은 forecast 객체를 출력으로 내는 모든 함수 목록입니다.

  • meanf()
  • naive(), snaive()
  • rwf()
  • croston()
  • stlf()
  • ses()
  • holt(), hw()
  • splinef()
  • thetaf()
  • forecast()

forecast() 함수

지금까지 forecast 객체를 직접 결과로 내는 함수를 사용했습니다. 하지만, 이 책의 나머지 부분에서 다룰 더 일반적인 방법에서는 데이터를 모델로 맞춰서 해당 모델에서 예측치를 내기 위해 forecast() 함수를 사용합니다.

forecast() 함수는 다양한 종류의 입력값으로 동작합니다. 일반적으로 시계열이나 시계열 모델을 주 입력값으로 받고, 적절한 예측치를 냅니다. 항상 forecast 클래스의 객체로 돌려줍니다.

첫 번째 입력값이 ts 클래스이면, 7 장에서 다룰 자동 ETS 알고리즘으로 예측치를 내서 돌려줍니다.

forecastausbeer 데이터에 적용하는 간단한 예제입니다:

forecast(ausbeer, h=4)
#>         Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
#> 2010 Q3          404.6 385.9 423.3 376.0 433.3
#> 2010 Q4          480.4 457.5 503.3 445.4 515.4
#> 2011 Q1          417.0 396.5 437.6 385.6 448.4
#> 2011 Q2          383.1 363.5 402.7 353.1 413.1

어떤 종류의 모델을 사용하는지 몰라도 꽤 잘 들어맞습니다. 하지만 이 책의 마지막까지 가서는, forecast()를 이렇게 “생각없이” 사용하면 안 됩니다. 대신에, 여러분은 적절한 모델을 데이터에 맞출 것이고, 그리고 나서 해당 모델로 예측치를 내기 위해 forecast()를 사용할 것입니다.