Análisis básico de series de tiempo
Para este estudio utilizaremos los datos de busqueda de el termino “Halloween” en México desde el 1 de Enero de 2004, hasta Diciembre de 2020. El motivo del estudio es comprabar si ha habido un interez creciente o decreciente por la festividad desde 2004. Datos proporcionados por Google Trends.
setwd("~/ESTADISTICA")
dat = read.csv("hall.csv")
Grafiquemos los datos
plot(dat)
Como podemos ver, los datos tan irregulares que son dificiles de graficar, los puntos visibles son probablemente los datos en la epoca en la que se celebra la festividad cada año.
Para comprovar lo antes dicho, vamos a tratar este vector numerico como una serie de tiempo, utilizaremos el comando ts (time-series objects).
dat.ts <- ts(dat, start = c (2004,1), frequency = 12)
frequency = 12 meses es un año (un ciclo) start = inicio enero de 2004
print(dat.ts)
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2004 1 0 1 2 1 1 1 2 5 79 14 1
## 2005 1 1 1 1 2 1 1 1 6 68 14 2
## 2006 1 1 1 1 1 1 1 3 6 60 13 1
## 2007 1 1 1 1 1 1 1 2 6 58 15 2
## 2008 1 1 1 1 1 1 1 2 8 62 13 2
## 2009 1 2 1 2 2 2 2 3 7 61 14 4
## 2010 3 2 2 2 2 2 2 2 6 59 15 3
## 2011 3 2 1 1 1 1 2 2 7 67 18 4
## 2012 4 3 2 2 2 2 2 3 9 67 18 4
## 2013 3 2 2 2 1 1 2 2 7 71 20 3
## 2014 2 2 1 2 1 1 2 3 10 83 20 2
## 2015 2 2 1 1 2 2 2 3 11 100 19 3
## 2016 2 2 1 1 1 2 2 3 12 81 17 2
## 2017 1 1 1 1 1 2 2 3 10 79 18 2
## 2018 1 1 1 1 1 2 2 3 12 79 20 2
## 2019 2 2 1 2 2 2 2 3 12 69 17 2
## 2020 2 2 2 2 3 2 2 3 10 75 16 2
Efectivamente, se puede ver cada año una mayor concentración de busquedas en Octubre, cuando se acerca la festividad.
Veamoslo en grafica.
plot(dat.ts)
Ahora haremos una comparacion interanual.
boxplot (dat.ts ~ cycle(dat.ts))
Componentes estructurales de una serie de tiempo:
Serie observada = Tendencia + Efecto Estacional + Residuos
dat.ts.desc <- decompose(dat.ts)
plot(dat.ts.desc, xlab = "Year")
Estabilización de la varianza
Antes de hacer la estabilización de la varianza, transformaremos nuestra serie a una logaritmica.
plot(log(dat.ts))
Eliminación de la tendencia
x <- log(dat.ts)
dif1.x <- diff(x)
plot(dif1.x)
dif12.dif1.x <- diff(dif1.x, log=12)
plot(dif12.dif1.x)