1
0
mirror of https://github.com/eddelbuettel/binb synced 2024-12-22 20:49:58 +01:00
binb/inst/monashDemo/monashOptions.Rmd

148 lines
3.5 KiB
Plaintext
Raw Normal View History

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