Una serie de tiempo es un conjunto de observaciones sobre los valores que toma una variable (cuantitativa) a través del tiempo. Por tanto, una serie de tiempo es una forma estructurada de representar datos. Los datos se pueden comportar de diferentes maneras a través del tiempo: puede que se presente una tendencia, estacionalidad o simplemente no presenten una forma definida.
Referencia bibliografica: https://www.pricing.cl/conocimiento/series-de-tiempo/
Son largas desviaciones de la tendencia debido a factores diferentes de la estacionalidad. Los ciclos por lo general se producen durante un intervalo de tiempo extenso, y los tiempos que transcurren entre los picos o valles sucesivos de un ciclo no necesariamente son iguales.
Referencia bibliografica: https://support.minitab.com/es-mx/minitab/18/help-and-how-to/modeling-statistics/time-series/supporting-topics/basics/what-is-a-time-series/
Analisis basico de series de tiempo
Para este primer ejemplo usaremos datos del consumo de combustible en España de los años 1966 hasta 1977.
gas = scan("http://verso.mat.uam.es/~joser.berrendero/datos/gas6677.dat")
gas
## [1] 92.718 91.380 111.643 118.888 119.432 127.796 158.943 178.013 143.385
## [10] 127.179 114.403 124.900 113.661 108.224 142.256 129.835 150.735 149.554
## [19] 185.792 201.758 166.565 148.048 131.581 141.315 135.951 126.615 146.647
## [28] 165.822 163.365 169.294 215.538 233.427 184.402 178.432 155.179 163.355
## [37] 154.844 143.552 171.573 188.322 192.756 195.296 252.288 268.379 218.810
## [46] 203.545 172.148 198.381 179.759 173.821 211.387 210.551 218.371 232.057
## [55] 294.173 312.700 251.891 235.560 202.876 224.383 193.916 188.375 236.187
## [64] 249.037 235.957 258.980 321.085 334.562 276.932 258.269 233.532 251.755
## [73] 225.010 225.742 265.159 271.986 290.953 285.108 362.687 386.347 314.205
## [82] 292.124 261.740 291.810 268.578 256.063 312.041 326.741 315.157 353.016
## [91] 403.662 451.098 356.811 352.566 305.580 410.614 289.186 296.881 302.589
## [100] 334.091 325.790 337.782 423.297 454.172 353.727 353.413 315.272 341.902
## [109] 317.760 298.188 363.429 350.203 372.149 371.877 472.458 485.517 406.223
## [118] 377.262 329.794 384.350 352.200 334.938 372.891 397.388 385.657 416.961
## [127] 492.480 512.209 411.514 392.380 369.671 400.243 363.367 342.979 384.936
## [136] 421.718 402.877 427.615 538.254 528.007
Grafiquemos los datos
plot(gas)
Para tratar este vector numerico como una serie de tiempo, utilizaremos el comando ts (time-series objects)
gas.ts <- ts(gas, start = c(1966,1), frequency = 12 )
frequency = 12 meses es un anio (un ciclo)
start = inicio 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 tenemos una variable que es un objeto orientado a tiempo, podemos tener una grafica en la cual se entienda la periodicidad de los aumentos del consumo de gas per capita.
plot(gas.ts)
Ahora haremos una comparacion interanual del aumento del consumo de combustible
boxplot(gas.ts ~ cycle(gas.ts))
Entendamos los ciclos del comportamiento de consumo de gasolina per capita
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
El crecimiento fue lineal con respecto al tiempo, esto debido a que los picos de crecimiento se presentan cada dos años con un ligero aumento en comparación a sus años antecesores.
Posiblemente los ciclos en donde el consumo aumento drásticamente son debido a la demanda de movilidad por la temporada del año, además el consumo de gasolina puede aumentar por factores como el clima o el condiciones geográficas de la zona, por ejemplos en tiempo de calor se encienden los aires acondicionados dentro del automóvil, haciendo que haya un ligeros consumos extra de gasolina, esto hace una efecto de bola de nieve y a la larga se refleja como un consumo alto de gasolina, por otra parte en una zona rural o de montaña se necesitara un auto con más tracción o de mayor tamaño, siendo el caso de las camionetas o SUV´s, y en comparación con un auto sedan que son más comunes en ciudad, estos consumen más gasolina por el tipo de motor del cual están integrados.
No lo descarto, pero lo dudo bastante, el consumo en nuestro puede variar del consumo de España, esto por las razones que ya expliqué anteriormente he incluso algunas otras. El diseño urbano de cada paÃs, la tasa de uso del transporte público, la calidad de tránsito para ciclistas he incluso la demanda de autos por estatus social pueden manipular estos datos considerablemente.
Componentes estructurales de una serie de tiempo:
Serie observada = Tendencia + Efecto Estacional + Residuos
gas.ts.desc <- decompose(gas.ts)
plot(gas.ts.desc, xlab = "Year")
Estabilizacion de la varianza
Antes de hacer la estabilizacion de varianza transformaremos nuestra seire a una logaritmica
plot(log(gas.ts))
Eliminacion de tendencia
x <- log(gas.ts)
dif1.x <- diff(x)
plot(dif1.x)
dif12.dif1.x <- diff(dif1.x, lag = 12)
plot(dif12.dif1.x)