ANALISIS DE SERIES DE TIEMPO

Análisis básicos de series de tiempo

Para este analisis usaremos datos de las busquedas de San Valentin desde el año 2004 hasta el año 2021

setwd("~/ESTADISTICA")
library(readr)
sanvalentin <- read_csv("sanvalentin.csv")
## Rows: 214 Columns: 1
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr (1): Busquedas
## 
## 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.

Grafiquemos los datos

plot(sanvalentin)
## Warning in xy.coords(x, y, xlabel, ylabel, log): NAs introducidos por coerci

Para tratar este vector numerico como una serie de tiempo, utilizaremos el comando ts (time-series objects)

sanvalentin.ts <- ts(sanvalentin, start = c (2004,1), frequency = 12     )

frequency = 12 meses es un anio (un ciclo ) start = inicio enero de 2004

print(sanvalentin.ts)
##      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2004  11  33  12  10  10  10  10   2  10  12  13  10
## 2005   9   4  19  15  13   1  10  12  13  10  10  10
## 2006   9  31  10  12  10  10   2   2  12   2  10  12
## 2007   8  29  10  10   2   2   2   2  10  10   2  10
## 2008   7  23  10  10   2   2   2   1   2   2   2  10
## 2009   7  20  10   2  10  12   2  10  10  10  10  10
## 2010   5  18  12  10  10  10  10   2   2   2   2   2
## 2011  32  22  12  10  12   2   2   2   2   2  10  10
## 2012   3  21  12  12  12   2   2   2   2   2   2  10
## 2013   3  20  12  12  12  10   2   2   2   2   2  12
## 2014   5  26  12  12  12  10  10  10  10  10  10  10
## 2015   7  30  10  10  10  10   2   2  10   2   2  10
## 2016   6  25  10  10  10   2   2   2   2   2   2   2
## 2017  32  27   2   2   2   2   1   1   1   1   2   2
## 2018  28  20   2   2   2   1   1   1   2   1   2   2
## 2019  24  17   2   2   2   2   1   2   1   1   1   2
## 2020  24  14   2   2   1   1   1   1   1   1   1   2
## 2021  19  16   2   2   2   2   1   1   2   1

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 de las busquedas sobre San Valentin

plot(sanvalentin.ts)

Ahora haremos una comparacion interanual del aumento de las busquedas sobre San Valentin

boxplot (sanvalentin.ts ~ cycle(sanvalentin.ts))

Entendamos los ciclos del comportamiento de las busquedas sobre San Valentin

cycle(sanvalentin.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  10

Descomposicion de una serie de tiempo

Este metodo solo es util si los datos son de 5 años o mas

Componentes estructurales de una serie de tiempo.

Serie observada = Tendencia + efecto estacional + residuo

sanvalentin.ts.desc<-decompose(sanvalentin.ts)
plot(sanvalentin.ts.desc, xlab="Year")

#Al observar la grafica de temporadas podemos decir que los datos tienen un patron por lo que podemos decir que se comporta de manera ciclica.

Transformaciones basicas de una serie de tiempo

Aqui transformaremos nuestra grafica a logaritmica para poder visualizar mejor el aumento y decremento de las busquedas cada mes.

plot (log(sanvalentin.ts))

#Podemos darnos cuenta que los datos no aumentan de forma exponencial, sino que solo va en ciclos que se repiten cada año, con pequeñas variaciones.

Eliminacion de la tendencia

Con esto eliminaremos la tendencia de la grafica y solo quedaran el efecto estacional y el residuo.

x<-log(sanvalentin.ts)
dif1.x<-diff(x)
plot(dif1.x)

#Podemos ver que hay grandes aumentos y grandes decrementos

Eliminacion de la estacionalidad

Con esto eliminaremos el efecto estacional y solo quedaran la tendencia y el residuo.

dif2.dif1.x<-diff(dif1.x, lag = 12)
plot(dif2.dif1.x)

#Podemos ver a partir del año 2017 las busquedas se disminuyeron un poco respecto al año anterior.

Funciones de autocovarianza y autocorrelaciones

y=dif2.dif1.x
acf(y)

Conclusión

Puedo concluir que las busquedas sobre San valentin sin duda alguna son ciclicas y que en el mes de febrero todos los años aumentan mucho y el resto del año casi no se busca. Obviamente esto se debe a que esta festividad se celebra durante este mismo mes, por lo que es logico que aumenten las busquedas cada año durante ese mes.