Análisis básico de series de tiempo.
Para este segundo ejemplo usaremos datos de busquedas de la palabra “Día de muertos”, desde 2004.
library(readr)
diaMuertos <- read_csv("diaMuertos.csv")
## Rows: 213 Columns: 1
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr (1): 2
##
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(diaMuertos)
Grafiquemos los datos.
plot(diaMuertos)
## Warning in xy.coords(x, y, xlabel, ylabel, log): NAs introducidos por coerción
Para tratar este vector numerico como una serie de tiempo, utilizaremos el comando ts (time-series objects).
diaMuertos.ts <- ts(diaMuertos, start = c(2004,1), frequency = 12)
print(diaMuertos.ts)
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2004 2 12 12 3 3 3 12 30 4 14 3 3
## 2005 1 3 3 3 3 3 3 20 32 15 3 3
## 2006 3 3 1 3 3 1 3 20 31 13 12 3
## 2007 1 3 1 3 1 3 3 16 29 10 3 3
## 2008 1 1 3 1 3 1 1 16 28 8 3 3
## 2009 3 3 1 1 1 1 1 12 25 7 3 3
## 2010 3 3 3 3 3 1 1 12 26 8 3 3
## 2011 3 3 1 1 1 1 3 12 19 11 20 20
## 2012 12 3 3 3 3 1 3 12 21 9 3 3
## 2013 12 3 3 3 1 1 3 12 18 8 3 3
## 2014 12 3 1 3 1 3 3 16 23 6 3 3
## 2015 3 1 1 3 3 1 3 16 25 7 3 3
## 2016 3 1 3 3 3 1 3 20 26 9 3 3
## 2017 3 3 3 3 3 3 3 16 22 10 3 3
## 2018 3 3 3 3 3 3 3 20 24 9 3 3
## 2019 3 3 3 3 3 3 12 27 26 10 3 3
## 2020 3 3 3 3 3 3 3 16 17 7 3 3
## 2021 3 3 3 3 3 3 3 20 5
Ahora que tenemos una variable que es un objeto orientado a tiempo, podemos tener una gráfica en la cual se entienda la periodicidad de los aumentos de la búsqueda por año.
plot (diaMuertos.ts)
Ahora haremos una comparación interanual del aumento de las búsquedas.
boxplot(diaMuertos.ts~cycle(diaMuertos.ts))
Entendamos los ciclos del comportamiento de esta búsqueda en google trends.
cycle (diaMuertos.ts)
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2004 1 2 3 4 5 6 7 8 9 10 11 12
## 2005 1 2 3 4 5 6 7 8 9 10 11 12
## 2006 1 2 3 4 5 6 7 8 9 10 11 12
## 2007 1 2 3 4 5 6 7 8 9 10 11 12
## 2008 1 2 3 4 5 6 7 8 9 10 11 12
## 2009 1 2 3 4 5 6 7 8 9 10 11 12
## 2010 1 2 3 4 5 6 7 8 9 10 11 12
## 2011 1 2 3 4 5 6 7 8 9 10 11 12
## 2012 1 2 3 4 5 6 7 8 9 10 11 12
## 2013 1 2 3 4 5 6 7 8 9 10 11 12
## 2014 1 2 3 4 5 6 7 8 9 10 11 12
## 2015 1 2 3 4 5 6 7 8 9 10 11 12
## 2016 1 2 3 4 5 6 7 8 9 10 11 12
## 2017 1 2 3 4 5 6 7 8 9 10 11 12
## 2018 1 2 3 4 5 6 7 8 9 10 11 12
## 2019 1 2 3 4 5 6 7 8 9 10 11 12
## 2020 1 2 3 4 5 6 7 8 9 10 11 12
## 2021 1 2 3 4 5 6 7 8 9
Componentes estructurales de una serie de tiempo.
Serie observada = Tendencia + Efecto Estacional + Residuos.
diaMuertos.ts.desc <- decompose(diaMuertos.ts)
plot (diaMuertos.ts.desc, xlab = "Year")
Antes de hacer la estabilización de la varianza, transformaremos nuestra serie a una logaritmica.
plot (log(diaMuertos.ts))
x <- log(diaMuertos.ts)
dif1.x <- diff(x)
plot(dif1.x)
dif12.dif1.x <- diff(dif1.x, log=12)
plot (dif12.dif1.x)
Transformamos la serie del consumo de gasolina de manera que un modelo estacionario sea apropiado para la serie transformada. El siguiente código se puede utilizar para representar el correlograma de la serie. El correlograma es una representación gráfica de las autocorrelaciones ρ(k) , es decir, las correlaciones entre xt y xt+k en función de k.
y = dif12.dif1.x
acf(y)
Siempre se tiene que ρ(0)=1 . Las líneas discontinuas representan las bandas de confianza de ρ(k) de nivel 95% bajo la hipótesis de que la serie es un ruido blanco (incorrelada). En el ejemplo las autocorrelaciones más significativas son las correlaciones entre la observación de un mes y la del mes siguiente, y la observación de un mes con la del mismo mes del año siguiente.
Las busqudas de “Dia de Muertos” en Google Trends desde 2004 han tenido un comportamiento diferente con el paso de los años. Al inicio estas fueron disminuyendo con el paso del tiempo, esto debido al desinteres de las personas, y por consecuencia, las busquedas de este tema erán cada vez menos. Sin embargo, esta tendencia fue cambiando a partir del año 2015, esto debido a próximos lanzamientos de películas, que de alguna manera involucraban al día de los muertos. A partir de ahí las busquedas van disminuyendo y aumentando conforma van transcurriendo los años. Otra cosa que puedo concluir de acuerdo a mi análisis es que los datos son muy variantes, ya que de acuerdo a la gráfica de caja y bigote, los datos tienen muchos datos atípicos que no son considerados.