AI8UCI_10

Jesús Murillo

12/10/2021

  • Importar librerias
library(pacman)
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc","readr", "knitr","DT","dplyr", "ggplot2")

ANALISIS DE SERIES DE TIEMPO

Para este ejercicio usaremos datos de la comida “sabritas” como un termino de busqueda

setwd("~/Aplicada")
library(readr)
Sabritas_ <- read_csv("Sabritas..csv")
## Rows: 214 Columns: 1
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## dbl (1): sabritas: (Todo el mundo)
## 
## 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(Sabritas_)

tenemos un vector numerico llamado “sabritas”

Grafiquemos los datos

plot(Sabritas_)

Ahora transformaremos este vector numerico a un objeto de serie de tiempo

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

datos: sabritas empieza la serie de tiempo (start): enero de 2004 cada año se compone de un ciclo de 12 meses: frequency = 12

ahora vemos los datos que ya son una serie d tiempo

print(Sabritas_.ts)
##      Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2004  68  47  78  31  52  56  32   9  74  56  60   7
## 2005  13  84  35  55  48  31  32  64  61  60  40  33
## 2006  22  62  62  45  54  44  38  38  45  44  47  24
## 2007  26  35  28  37  46  23  23  43  45  65  55  29
## 2008  27  55  48  42  28  36  31  47  49  43  41  24
## 2009  26  40  45  39  37  42  31  44  57  61  49  23
## 2010  37  50  34  48  59  35  34  37  41  36  37  22
## 2011  32  34  43  32  33  39  32  78  84  58  49  38
## 2012  47  65  48  55 100  66  39  44  54  59  47  23
## 2013  35  50  39  50  45  38  35  41  42  45  42  29
## 2014  31  39  58  57  48  43  34  35  45  61  49  32
## 2015  34  41  53  44  43  42  32  37  44  49  43  32
## 2016  36  41  42  47  40  34  37  38  44  44  35  27
## 2017  36  50  46  39  38  37  34  36  34  47  40  33
## 2018  48  86  61  50  52  37  39  37  37  72  74  40
## 2019  39  41  46  37  36  41  41  48  60  68  52  40
## 2020  52  60  47  50  53  61  79  68  63  77  70  54
## 2021  64  64  59  64  56  54  56  60  60  60

Ahora grafiquemos con respecto al tiempo

plot(Sabritas_.ts)

Ahora para hacer una comparacion entre los meses de cada año todos los eneros por ejemplo seran una poblacion

esto lo haremos a traves de un grafico de caja y bigote

boxplot(Sabritas_.ts ~ cycle(Sabritas_.ts))

DECOMPOSICION DE SERIES DE TIEMPO USANDO DATOS DE LOS BENEFICIOS TRIMESTRALES DE LA EMPRESA JJ

http://verso.mat.uam.es/~joser.berrendero/datos/jj.dat

analizamos una serie de tiempo desde sus componentes estructurales

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:

$$ serie observada = Tendencia + efecto estacional + residuos

$$

Sabritas_.ts.desc <- decompose(Sabritas_.ts)
plot(Sabritas_.ts.desc, xlab="year")

Esta descomposición se basa en métodos elementales:

  • la tendencia se calcula con una media móvil,

  • el efecto estacional se calcula promediando los valores de cada unidad de tiempo para todos los periodos (por ejemplo, todos los meses de enero si la serie es mensual) y luego centrando el resultado. Finalmente,

  • los residuos se obtienen restando a la serie observada las dos componentes anteriores.

La descomposicion solo es totalmente adecuada si se dispone de un número completo de periodos (por ejemplo, un múltiplo de 12 si la serie es mensual).

TRANSFORMACIONES BASICAS DE UNA SERIE

En el gráfico de sabritas_.ts se observa que la serie no es estacionaria. La serie presenta una tendencia aparentemente lineal y una estacionalidad muy marcada (el consumo aumenta los meses de verano). Además, la amplitud de las fluctuaciones aumenta con el tiempo por lo que la variabilidad tampoco es constante. Sin embargo, muchos modelos importantes de series temporales corresponden a series estacionarias (es decir, sin tendencia ni estacionalidad y con variabilidad constante). Antes de ajustar un modelo estacionario tenemos que transformar la serie original.

Estabilización de la varianza: Para estabilizar la variabilidad se suelen tomar logaritmos. Esta transformación funcionará bien cuando la variabilidad sea aproximadamente proporcional al nivel de la serie. Representamos la serie transformada mediante

plot(log(Sabritas_.ts))

Eliminacion de la tendencia: Una forma sencilla de eliminar una tendencia aproximadamente lineal es diferenciar la serie, es decir, considerar la serie de diferencias entre una observación y la anterior en lugar de la serie original. Si xt es una serie contenida en x, para calcular:

\[ \nabla x_t = x_t -x_{t-1} \]

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

Eliminación de estacionalidad: Para eliminar la estacionalidad de una serie mensual se pueden tomar diferencias estacionales de orden 12. Si xt es la serie que queremos desestacionalizar, se trata de calcular:

\[ \nabla_{12} x_t = x_t - x_{t-12} \]

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

Conclusión

Como se puede observar en los graficas proporcionadas con anterioridad, el termino de busqueda llamado “sabritas” disminuyó a partir del 2006 esto se debe a la concientizacion hacia los efectos de comer comida chatarra, por lo que a partir del 2010 se proporcionaron unas busquedas mas estables respecto a este termino.