# Lecture 6: Time Series Forecasting

School of Economics and Management
Beihang University

# 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)``````