---
# Version of Monash demo to show off some available options
author: Rob J Hyndman
title: Monash
date: \today
titlefontsize: 22pt
titlecolor: burntorange
fontsize: 12pt
classoption: aspectratio=169
titlepage: title16x9.png
toc: true
tocheader: Time series graphics
output:
  binb::monash:
    colortheme: monashblue
    keep_tex: yes
    fig_height: 3.3
    fig_width: 8
header-includes:
  - \usepackage{booktabs}
  - \tabcolsep=0.12cm
  - \definecolor{burntorange}{rgb}{0.8, 0.33, 0.0}
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(forecast)
library(ggplot2)
options(width=50)
```

# Time plots

## Time plots

```{r}
autoplot(USAccDeaths) +
  ylab("Total deaths") + xlab("Year")
```

# Seasonal plots

## Seasonal plots

```{r}
ggseasonplot(USAccDeaths, year.labels=TRUE,
  year.labels.left=TRUE) + ylab("Total deaths")
```

## Seasonal plots

  * Data plotted against the individual "seasons" in which the data were observed.  (In this case a "season" is a month.)
  * Something like a time plot except that the data from each season are overlapped.
  * Enables the underlying seasonal pattern to be seen more clearly, and also allows any substantial departures from the seasonal pattern to be easily identified.
  * In R: `ggseasonplot()`

# Seasonal polar plots

## Seasonal polar plots

```{r, out.width="6.2cm"}
ggseasonplot(USAccDeaths, year.labels=TRUE,
  polar=TRUE) + ylab("Total deaths")
```

\only<2>{
  \begin{textblock}{4}(8,4)
    \begin{alertblock}{}
      Only change is to switch to polar coordinates.
    \end{alertblock}
  \end{textblock}
}

# Seasonal subseries plots

## Seasonal subseries plots

```{r, echo=TRUE}
ggsubseriesplot(USAccDeaths) +
  ylab("Total deaths")
```

## Seasonal subseries plots

  * Data for each season collected together in time plot as separate time series.
  * Enables the underlying seasonal pattern to be seen clearly, and changes in seasonality over time to be visualized.
  * In R: `ggsubseriesplot()`


# Lag plots and autocorrelation

## Lagged scatterplots

```{r, fig.height=4.5, out.width="45%"}
gglagplot(USAccDeaths/1000, lags=9)
```

## Lagged scatterplots

```{r, fig.height=4.5, out.width="45%"}
gglagplot(USAccDeaths/1000, lags=9, do.lines=FALSE)
```

\only<2>{
  \begin{textblock}{6.8}(8.3,3)
    \begin{block}{}
      \begin{itemize}\tightlist
        \item Each graph shows $y_t$ plotted against $y_{t-k}$ for different values of $k$.
        \item Autocorrelations are correlations associated with these scatterplots.
      \end{itemize}
    \end{block}
  \end{textblock}
}

## Autocorrelation

We denote the sample autocovariance at lag $k$ by $c_k$ and the sample autocorrelation at lag $k$ by $r_k$.  Then define

\begin{block}{}
\begin{align*}
c_k &= \frac{1}{T}\sum_{t=k+1}^T (y_t-\bar{y})(y_{t-k}-\bar{y}) \\[0.cm]
\text{and}\qquad
r_{k} &= c_k/c_0
\end{align*}
\end{block}\pause\small

  * $r_1$ indicates how successive values of  $y$  relate to each other
  * $r_2$ indicates how  $y$ values two periods apart relate to each other
  * $r_k$ is \textit{almost} the same as the sample correlation between $y_t$ and $y_{t-k}$.

## Autocorrelation

Results for first 9 lags for `USAccDeaths` data:


```{r, echo=FALSE, results='asis'}
USAccDeathsacf <- matrix(acf(c(USAccDeaths), lag.max=9,
                      plot=FALSE)$acf[-1,,1], nrow=1)
colnames(USAccDeathsacf) <- paste("$r_",1:9,"$",sep="")
knitr::kable(USAccDeathsacf, booktabs=TRUE,
             align="c", digits=3,
             format.args=list(nsmall=3))
```

```{r USAccDeathsacf, fig.height=2}
ggAcf(USAccDeaths)
```
