knitr::opts_chunk$set(echo = TRUE)
library(fpp)
## Warning: package 'fpp' was built under R version 3.4.3
## Warning: package 'fma' was built under R version 3.4.3
## Warning: package 'expsmooth' was built under R version 3.4.3
library(fpp2)
## Warning: package 'fpp2' was built under R version 3.4.3
## Warning: package 'ggplot2' was built under R version 3.4.3

Gráficas de tiempo

autoplot(melsyd[,"Economy.Class"]) +
  ggtitle("Economy class passengers: Melbourne-Sydney") +
  xlab("Year") + ylab("Thousands")

autoplot(a10)+
  ggtitle("Antidiabetic drug sales") +
  ylab("$ million") + xlab("Year")

Parcelas estacionales

ggseasonplot(a10, year.labels = TRUE, year.labels.left = TRUE) +
  xlab("$million") + ggtitle("Seasonal plot: antidiabetic drug sales")

ggseasonplot(a10, polar = TRUE) + 
  ylab("$ million") + ggtitle("Polar seasonal plot: antidiabetic drug sales")

Parcelas de subserie estacional

ggsubseriesplot(a10)+
  ylab("$million") + 
  ggtitle("Seasonal subseries plot: antidiabetic drug sales")

Diagramas de dispersión

month.breaks <- cumsum(c(0,31,28,31,30,31,30,31,31,30,31,30,31)*48)
autoplot(elecdemand[,c(1,3)], facet=TRUE) +
  xlab("Year: 2014") + ylab("") +
  ggtitle("Half-hourly electricity demand: Victoria, Australia") +
  scale_x_continuous(breaks=2014+month.breaks/max(month.breaks), 
                     minor_breaks=NULL, labels=c(month.abb,month.abb[1]))

qplot(Temperature, Demand, data = as.data.frame(elecdemand))+
  ylab("Demand (GW)") + xlab("Temperature (Celsius)")

Matrices de Scatterplot

autoplot(vn, facets = TRUE)+
   ylab("Number of visitor nights each quarter")

vn %>%
  as.data.frame() %>%
  GGally::ggpairs()

Parcelas de retraso

beer2 <- window(ausbeer, start=1992)
gglagplot(beer2)

Autocorrelación

ggAcf(beer2)

aelec <- window(elec, start=1980)
autoplot(aelec) + xlab("Year") + ylab("GWh")

ggAcf(aelec, lag=48)

Ruido blanco

set.seed(30)
y <- ts(rnorm(50))
autoplot(y) + ggtitle("White noise")

ggAcf(y)

Ejercicios

help("gold")
## starting httpd help server ... done
help("woolyrnq")
help("gas")
library(forecast)
autoplot(gold)

autoplot(woolyrnq)

autoplot(gas)

frequency(gold)
## [1] 1
frequency(woolyrnq)
## [1] 4
frequency(gas)
## [1] 12
which.max(gold)
## [1] 770
which.max(woolyrnq)
## [1] 21
which.max(gas)
## [1] 475

Descargue algunos datos de http://otexts.org/fpp2/extrafiles/tute1.csv

tute1 <- read.csv("D:/datasets/tute1.csv", header = TRUE)
print(tute1)
##          X  Sales AdBudget   GDP
## 1   Mar-81 1020.2    659.2 251.8
## 2   Jun-81  889.2    589.0 290.9
## 3   Sep-81  795.0    512.5 290.8
## 4   Dec-81 1003.9    614.1 292.4
## 5   Mar-82 1057.7    647.2 279.1
## 6   Jun-82  944.4    602.0 254.0
## 7   Sep-82  778.5    530.7 295.6
## 8   Dec-82  932.5    608.4 271.7
## 9   Mar-83  996.5    637.9 259.6
## 10  Jun-83  907.7    582.4 280.5
## 11  Sep-83  735.1    506.8 287.2
## 12  Dec-83  958.1    606.7 278.0
## 13  Mar-84 1034.1    658.7 256.8
## 14  Jun-84  992.8    614.9 271.0
## 15  Sep-84  791.7    489.9 300.9
## 16  Dec-84  914.2    586.5 289.8
## 17  Mar-85 1106.5    663.0 266.8
## 18  Jun-85  985.1    591.7 273.7
## 19  Sep-85  823.9    502.2 301.3
## 20  Dec-85 1025.1    616.4 285.6
## 21  Mar-86 1064.7    647.1 270.6
## 22  Jun-86  981.9    615.5 274.6
## 23  Sep-86  828.3    514.8 299.7
## 24  Dec-86  940.7    609.1 275.9
## 25  Mar-87  991.1    641.3 279.3
## 26  Jun-87 1021.2    620.2 290.8
## 27  Sep-87  796.7    511.2 295.6
## 28  Dec-87  986.6    621.3 271.9
## 29  Mar-88 1054.2    645.3 267.4
## 30  Jun-88 1018.7    616.0 281.0
## 31  Sep-88  815.6    503.2 309.0
## 32  Dec-88 1010.6    617.5 266.7
## 33  Mar-89 1071.5    642.8 283.5
## 34  Jun-89  954.0    585.6 282.3
## 35  Sep-89  822.9    520.6 289.2
## 36  Dec-89  867.5    608.6 270.7
## 37  Mar-90 1002.3    645.7 266.5
## 38  Jun-90  972.0    597.4 287.9
## 39  Sep-90  782.9    499.8 287.6
## 40  Dec-90  972.8    601.8 283.4
## 41  Mar-91 1108.0    650.8 266.4
## 42  Jun-91  943.7    588.3 292.3
## 43  Sep-91  806.1    491.6 330.6
## 44  Dec-91  954.2    603.3 286.2
## 45  Mar-92 1115.5    663.2 259.2
## 46  Jun-92  927.1    614.0 263.7
## 47  Sep-92  800.7    506.3 288.2
## 48  Dec-92  955.7    606.2 274.1
## 49  Mar-93 1049.8    639.5 287.1
## 50  Jun-93  886.0    585.9 285.5
## 51  Sep-93  786.4    492.2 303.7
## 52  Dec-93  991.3    610.4 275.6
## 53  Mar-94 1113.9    660.8 249.3
## 54  Jun-94  924.5    612.2 272.9
## 55  Sep-94  771.4    509.2 289.8
## 56  Dec-94  949.8    612.1 269.2
## 57  Mar-95  990.5    653.2 261.3
## 58  Jun-95 1071.4    605.3 292.9
## 59  Sep-95  854.1    506.6 304.6
## 60  Dec-95  929.8    597.4 276.3
## 61  Mar-96  959.6    635.2 268.2
## 62  Jun-96  991.1    611.6 293.5
## 63  Sep-96  832.9    503.8 311.1
## 64  Dec-96 1006.1    609.9 273.7
## 65  Mar-97 1040.7    645.2 267.5
## 66  Jun-97 1026.3    609.8 271.9
## 67  Sep-97  785.9    512.1 308.8
## 68  Dec-97  997.6    603.7 282.9
## 69  Mar-98 1055.0    639.4 268.4
## 70  Jun-98  925.6    601.6 271.4
## 71  Sep-98  805.6    497.0 292.1
## 72  Dec-98  934.1    602.8 287.6
## 73  Mar-99 1081.7    647.3 258.0
## 74  Jun-99 1062.3    612.5 282.9
## 75  Sep-99  798.8    492.2 295.0
## 76  Dec-99 1014.3    610.8 271.2
## 77  Mar-00 1049.5    646.5 275.4
## 78  Jun-00  961.7    603.3 284.0
## 79  Sep-00  793.4    503.8 300.9
## 80  Dec-00  872.3    598.3 277.4
## 81  Mar-01 1014.2    649.4 273.8
## 82  Jun-01  952.6    620.2 288.4
## 83  Sep-01  792.4    497.9 283.4
## 84  Dec-01  922.3    609.2 273.4
## 85  Mar-02 1055.9    665.9 271.5
## 86  Jun-02  906.2    600.4 283.6
## 87  Sep-02  811.2    502.3 290.6
## 88  Dec-02 1005.8    605.6 289.1
## 89  Mar-03 1013.8    647.6 282.2
## 90  Jun-03  905.6    583.5 285.6
## 91  Sep-03  957.3    502.5 304.0
## 92  Dec-03 1059.5    625.9 271.5
## 93  Mar-04 1090.6    648.7 263.9
## 94  Jun-04  998.9    610.7 288.3
## 95  Sep-04  866.6    519.1 290.2
## 96  Dec-04 1018.7    634.9 284.0
## 97  Mar-05 1112.5    663.1 270.9
## 98  Jun-05  997.4    583.3 294.7
## 99  Sep-05  826.8    508.6 292.2
## 100 Dec-05  992.6    634.2 255.1
mytimeseries <- ts(tute1[,-1], start = 1981, frequency = 4)
autoplot(mytimeseries, facets = T)

autoplot(mytimeseries, facets = F)

Descargue algunos datos de http://otexts.org/fpp2/extrafiles/retail.xlsx

library(readxl)
## Warning: package 'readxl' was built under R version 3.4.3
retaildata <- readxl::read_excel("D:/datasets/retail.xlsx", skip = 1)
head(retaildata)
## # A tibble: 6 x 190
##   `Series ID` A3349335T A3349627V A3349338X A3349398A A3349468W A3349336V
##        <dttm>     <dbl>     <dbl>     <dbl>     <dbl>     <dbl>     <dbl>
## 1  1982-04-01     303.1      41.7      63.9     408.7      65.8      91.8
## 2  1982-05-01     297.8      43.1      64.0     404.9      65.8     102.6
## 3  1982-06-01     298.0      40.3      62.7     401.0      62.3     105.0
## 4  1982-07-01     307.9      40.9      65.6     414.4      68.2     106.0
## 5  1982-08-01     299.2      42.1      62.6     403.8      66.0      96.9
## 6  1982-09-01     305.4      42.0      64.4     411.8      62.3      97.5
## # ... with 183 more variables: A3349337W <dbl>, A3349397X <dbl>,
## #   A3349399C <dbl>, A3349874C <dbl>, A3349871W <dbl>, A3349790V <dbl>,
## #   A3349556W <dbl>, A3349791W <dbl>, A3349401C <dbl>, A3349873A <dbl>,
## #   A3349872X <dbl>, A3349709X <dbl>, A3349792X <dbl>, A3349789K <dbl>,
## #   A3349555V <dbl>, A3349565X <dbl>, A3349414R <dbl>, A3349799R <dbl>,
## #   A3349642T <dbl>, A3349413L <dbl>, A3349564W <dbl>, A3349416V <dbl>,
## #   A3349643V <dbl>, A3349483V <dbl>, A3349722T <dbl>, A3349727C <dbl>,
## #   A3349641R <dbl>, A3349639C <dbl>, A3349415T <dbl>, A3349349F <dbl>,
## #   A3349563V <dbl>, A3349350R <dbl>, A3349640L <dbl>, A3349566A <dbl>,
## #   A3349417W <dbl>, A3349352V <dbl>, A3349882C <dbl>, A3349561R <dbl>,
## #   A3349883F <dbl>, A3349721R <dbl>, A3349478A <dbl>, A3349637X <dbl>,
## #   A3349479C <dbl>, A3349797K <dbl>, A3349477X <dbl>, A3349719C <dbl>,
## #   A3349884J <dbl>, A3349562T <dbl>, A3349348C <dbl>, A3349480L <dbl>,
## #   A3349476W <dbl>, A3349881A <dbl>, A3349410F <dbl>, A3349481R <dbl>,
## #   A3349718A <dbl>, A3349411J <dbl>, A3349638A <dbl>, A3349654A <dbl>,
## #   A3349499L <dbl>, A3349902A <dbl>, A3349432V <dbl>, A3349656F <dbl>,
## #   A3349361W <dbl>, A3349501L <dbl>, A3349503T <dbl>, A3349360V <dbl>,
## #   A3349903C <dbl>, A3349905J <dbl>, A3349658K <dbl>, A3349575C <dbl>,
## #   A3349428C <dbl>, A3349500K <dbl>, A3349577J <dbl>, A3349433W <dbl>,
## #   A3349576F <dbl>, A3349574A <dbl>, A3349816F <dbl>, A3349815C <dbl>,
## #   A3349744F <dbl>, A3349823C <dbl>, A3349508C <dbl>, A3349742A <dbl>,
## #   A3349661X <dbl>, A3349660W <dbl>, A3349909T <dbl>, A3349824F <dbl>,
## #   A3349507A <dbl>, A3349580W <dbl>, A3349825J <dbl>, A3349434X <dbl>,
## #   A3349822A <dbl>, A3349821X <dbl>, A3349581X <dbl>, A3349908R <dbl>,
## #   A3349743C <dbl>, A3349910A <dbl>, A3349435A <dbl>, A3349365F <dbl>,
## #   A3349746K <dbl>, A3349370X <dbl>, ...
myts <- ts(retaildata[,"A3349873A"], frequency=12, start=c(1982,4))
autoplot(myts)

ggseasonplot(myts, year.labels = TRUE, year.labels.left = TRUE)

ggsubseriesplot(myts)

gglagplot(myts)

ggAcf(myts)