Introducción a los análisis de series de tiempo

Importar

## A continuación se importan y se leen los datos.
setwd("~/Estadistica Aplicada")
gas <- scan ("http://verso.mat.uam.es/~joser.berrendero/datos/gas6677.dat")
## Disponible para descargar el código
xfun::embed_file("U1A16.Rmd")

Download U1A16.Rmd

Primer gráfico de los datos

plot(gas)

# Es uan serie de tiempo aditiva, ya que tiende a estar aumentando. 

AL observar el gráfico resultante podemos notar que no puede describir una serie temporal adecuadamente, por lo que si queremos que representarlo como serie temporal, tenemos que determinar apropiadamente sus características con el comando ts.

gas.ts = ts(gas, start=c(1966,1), frequency=12)
# Se comprende por año mes y día, el ciclo es de 12 meses. Se comprende como una serie de tiempo.

Frequency se utiliza para indicar la periodicidad, mientras que start indica la fecha de la primera observación que comienza en enero de 1966.

print(gas.ts)
##          Jan     Feb     Mar     Apr     May     Jun     Jul     Aug     Sep
## 1966  92.718  91.380 111.643 118.888 119.432 127.796 158.943 178.013 143.385
## 1967 113.661 108.224 142.256 129.835 150.735 149.554 185.792 201.758 166.565
## 1968 135.951 126.615 146.647 165.822 163.365 169.294 215.538 233.427 184.402
## 1969 154.844 143.552 171.573 188.322 192.756 195.296 252.288 268.379 218.810
## 1970 179.759 173.821 211.387 210.551 218.371 232.057 294.173 312.700 251.891
## 1971 193.916 188.375 236.187 249.037 235.957 258.980 321.085 334.562 276.932
## 1972 225.010 225.742 265.159 271.986 290.953 285.108 362.687 386.347 314.205
## 1973 268.578 256.063 312.041 326.741 315.157 353.016 403.662 451.098 356.811
## 1974 289.186 296.881 302.589 334.091 325.790 337.782 423.297 454.172 353.727
## 1975 317.760 298.188 363.429 350.203 372.149 371.877 472.458 485.517 406.223
## 1976 352.200 334.938 372.891 397.388 385.657 416.961 492.480 512.209 411.514
## 1977 363.367 342.979 384.936 421.718 402.877 427.615 538.254 528.007        
##          Oct     Nov     Dec
## 1966 127.179 114.403 124.900
## 1967 148.048 131.581 141.315
## 1968 178.432 155.179 163.355
## 1969 203.545 172.148 198.381
## 1970 235.560 202.876 224.383
## 1971 258.269 233.532 251.755
## 1972 292.124 261.740 291.810
## 1973 352.566 305.580 410.614
## 1974 353.413 315.272 341.902
## 1975 377.262 329.794 384.350
## 1976 392.380 369.671 400.243
## 1977
plot(gas.ts)

## Se gráfica como serie temporal
  • Ahora que ya no es un vector de datos, ahora es una serie de tiempo.
boxplot(gas.ts ~ cycle(gas.ts))

## Explica como es que varia el consumo de gasolina, de acuerdo a los meses en un año completo. Durante agosto y septiembre se realiza un consumo grande de gasolina.
## Se utiliza un gráfico de caja y bigote.
cycle(gas.ts)
##      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 1966   1   2   3   4   5   6   7   8   9  10  11  12
## 1967   1   2   3   4   5   6   7   8   9  10  11  12
## 1968   1   2   3   4   5   6   7   8   9  10  11  12
## 1969   1   2   3   4   5   6   7   8   9  10  11  12
## 1970   1   2   3   4   5   6   7   8   9  10  11  12
## 1971   1   2   3   4   5   6   7   8   9  10  11  12
## 1972   1   2   3   4   5   6   7   8   9  10  11  12
## 1973   1   2   3   4   5   6   7   8   9  10  11  12
## 1974   1   2   3   4   5   6   7   8   9  10  11  12
## 1975   1   2   3   4   5   6   7   8   9  10  11  12
## 1976   1   2   3   4   5   6   7   8   9  10  11  12
## 1977   1   2   3   4   5   6   7   8
## Cycle ayuda determinar la unidad de tiempo (en este caso es por meses) a la que pertenece cada observación de la serie.
  • Beneficios trimestrales de la empresa Johnson & Johnson entre 1960 y 1980:
jj <- scan("http://verso.mat.uam.es/~joser.berrendero/datos/jj.dat")

Define la serie temporal y represéntala:

jj.ts = ts(jj, start = c(1960, 1), frequency = 4 )
# Se comprende por año mes y día de inicio. Como se observa la frecuencia es de 4, para poder dividir los 12 meses en grupos de 3 (trimestres).

¿Cuál es el valor de la serie para el tercer trimestre de 1980?

print(jj.ts)
##           Qtr1      Qtr2      Qtr3      Qtr4
## 1960  0.710000  0.630000  0.850000  0.440000
## 1961  0.610000  0.690000  0.920000  0.550000
## 1962  0.720000  0.770000  0.920000  0.600000
## 1963  0.830000  0.800000  1.000000  0.770000
## 1964  0.920000  1.000000  1.240000  1.000000
## 1965  1.160000  1.300000  1.450000  1.250000
## 1966  1.260000  1.380000  1.860000  1.560000
## 1967  1.530000  1.590000  1.830000  1.860000
## 1968  1.530000  2.070000  2.340000  2.250000
## 1969  2.160000  2.430000  2.700000  2.250000
## 1970  2.790000  3.420000  3.690000  3.600000
## 1971  3.600000  4.320000  4.320000  4.050000
## 1972  4.860000  5.040000  5.040000  4.410000
## 1973  5.580000  5.850000  6.570000  5.310000
## 1974  6.030000  6.390000  6.930000  5.850000
## 1975  6.930000  7.740000  7.830000  6.120000
## 1976  7.740000  8.910000  8.280000  6.840000
## 1977  9.540000 10.260000  9.540000  8.729999
## 1978 11.880000 12.060000 12.150000  8.910000
## 1979 14.040000 12.960000 14.850000  9.990000
## 1980 16.200000 14.670000 16.020000 11.610000
## El valor del tercer trimestre fue de 16.020000. 

¿Cuáles son las principales características (tendencia, estacionalidad) de esta serie?

  • A continuación se muestra la gráfica de cajas y bigote, además, se presenta la gráfica en serie de tiempo.
plot(jj.ts)

boxplot(jj.ts ~ cycle(jj.ts))

jj.ts.desc = decompose(jj.ts)
plot(jj.ts.desc, xlab="Año")

## Las principales características que podemos observar es la tendencia, se ve como hubo un aumento considerable después de la llegada de los 70, además de que el tercer trimestre tiene levemente  mayores utilidades que los demás, mientras que el cuarto, está por debajo considerablemente de los otros. 

Descomposición de una serie de tiempo

Es frecuente analizar las series temporales desde el punto de vista de sus componentes estructurales:

Serie observada = Tendencia + Efecto estacional + Residuos.

En este modelo, la serie observada es el resultado de sumar una tendencia que representa el comportamiento a largo plazo de la serie, un efecto estacional que describe sus fluctuaciones periódicas y un componente residual que describe las variaciones a corto plazo, normalmente impredecibles.

Con R es muy sencillo obtener una descomposición estructural de este tipo. Se usa el comando decompose:

gas.ts.desc = decompose(gas.ts)
plot(gas.ts.desc, xlab="Año")

## Para entender como es a corto plazo, se decomponen los datos.