School of Economics and Management
Beihang University
http://yanfei.site

In this lecture we are going to learn…

  • Some basic forecasting methods
  • Forecasting time series with complex seasonality
  • Dealing with missing values and outliers

Examples of time series

library(fpp2)
library(ggplot2)
library(forecast)

autoplot(beer, main = 'Australian quarterly beer production')

autoplot(pigs, main = 'Number of pigs slaughtered in Victoria')

autoplot(dowjones, main = 'Dow−Jones index')

Forecasting

  • Forecasting is estimating how the sequence of observations will continue into the future.
  • We usually think probabilistically about future sample paths
  • What range of values covers the possible sample paths with 80% probability?
beer <-  window(ausbeer, start = 1992, end = c(2005,4))
beer.arima <- auto.arima(beer)
autoplot(forecast(beer.arima))

Some basic forecasting methods

Some basic forecasting methods

Very simple forecasting methods

  1. Average method: forecast of all future values is equal to mean of historical data.

  2. Naïve method: forecasts equal to last observed value.

  3. Seasonal naïve method: forecasts equal to last value from same season.

## average method
beerfit.mean <- meanf(beer, h = 11)

## naive method
beerfit.naive <- naive(beer, h = 11)

## seasonal naive method
beerfit.snaive <- snaive(beer, h = 11)

cols <- c("mean" = "#0000ee","naive" = "#ee0000","snaive" = "green")

## plot
autoplot(beerfit.mean, PI = FALSE, main ='Forecasts for quarterly beer production') +
  geom_line(aes(x=time(beerfit.mean$mean),y=beerfit.mean$mean,colour='mean')) + 
  geom_line(aes(x=time(beerfit.naive$mean),y=beerfit.naive$mean,colour='naive')) + 
  geom_line(aes(x=time(beerfit.snaive$mean),y=beerfit.snaive$mean,colour='snaive')) +
  guides(fill=FALSE) +
  scale_colour_manual(name="Forecasts",values=cols)