U1A16

Jose Manzano

18/3/2021

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

*En este ejemplo se utiliza serie de datos de consumo de gasolina per capita de gasolina en España de 1966 a 1977.

importar

setwd("~/estadistica aplicada")

gas <- scan("http://verso.mat.uam.es/~joser.berrendero/datos/gas6677.dat")
  • Datos graficados
plot(gas)

Este gráfico no es el mas indicado para describir una serie temporal. Para definir la serie correctamente escribimos:

gas.ts = ts(gas, star=c(1966, 1), frequency=12 )
  • El argumento frequency se utiliza para indicar la periodicidad de la serie (mensual), mientras que el argumento start indica la fecha de la primera observación (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
  • Ahora que el objeto ‘gas’ es una serie de tiempo, lo podemos graficar.
plot(gas.ts)

  • Si este análisis lo hacemos mes con mes usando un gráfico de caja y bigote
boxplot(gas.ts ~ cycle(gas.ts))

se observa los meses en que se consumio mas gasolina los cuales son juio y agosto

  • El comando cycle determina la unidad de tiempo a la que pertenece cada observación de la serie:
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
  • Beneficios trimestrales de la empresa Johnson & Johnson entre 1960 y 1980:

Datos:

jj <- scan("http://verso.mat.uam.es/~joser.berrendero/datos/jj.dat")

Define la serie temporal y represéntala.

jj.ts = ts(jj, star=c(1960, 1), frequency=4 )

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

Valores:

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: 16.20000

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

  • Gráfico de cajas
boxplot(jj.ts ~ cycle(jj.ts))

En la grafica se observan pequeños cambios en las ganancias

  • Gráfica por años
plot(jj.ts)

En la grafica se observan las gancias por año,incrementando conforme pasa el tiempo con caidas y subidas.

Decomposició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")