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