---
title: "Arima Estacionalidad"
author: "Ricardo R. Palma"
date: "21 de marzo de 2022"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```



## ARIMA   S-ARIMA



### Introducción
ARIMA es una técnica básica para el pronóstico de series de tiempo complejas , si son series estacionales se usa S-ARIMA (Seasonal). Este artículo provee una descripción paso a paso para hacer el ajuste y parametrización la biblioteca arima usando R.

Arima es modelo muy popular para simulado y pronóstico de escenarios para empresas de base tecnológica, es flexible ideal para trabajar modelos con variaciones estacionales a partir de información histórica de datos que no son relativos al producto innovador, pero que sí son complementarios o sustitutos. Especialmente para hacer predicciones en los escenarios futuros. Este modelo básico de pronóstico y sus técnicas asociadas pueden ser usados como base para modelos más complejos, como los casos en los que la empresas innovadoras lanzan acciones o fondos de crowdfunding. En este caso de estudio nosotros haremos sobre un ejemplo que examina una serie de tiempo de la demanda de bicicletas en una zona urbana (bicicletas públicas de alquiler) que están relacionadas con el lanzamiento al mercado de una app para proveer información a los dueños de negocios sobre recorridos frecuentes de potenciales clientes que pasan por sus locales.  Trataremos de ajustar los parámetros de arima para que se adecuen a este modelo tomando los datos del pasado y proyectando los datos que tenemos en la actualidad (entrenamiento de modelo) para que se ajusten más tarde a la demanda real en el futuro. También generaremos una lista de revisión de los pasos a seguir para ajustar otros tipos de modelos.

ARIMA por sus siglas en inglés , acrónimo del inglés **a**utoregressive **i**ntegrated **m**oving **a**verage , o Modelo autorregresivo integrado de media móvil es muy utilizado en estadística y econometría, en particular en series temporales, un modelo autorregresivo integrado de promedio móvil o simplemente un sistema que se comporta como ARIMA es un modelo estadístico que utiliza variaciones y regresiones de datos estadísticos con el fin de encontrar patrones para una predicción hacia el futuro. Se trata de un modelo dinámico de series temporales, es decir, las estimaciones futuras vienen explicadas por los datos del pasado y no por variables independientes.
Fue desarrollado a finales de los sesenta del siglo XX. Box y Jenkins (1976)

### Business as Usual

El modelo ARIMA necesita identificar los coeficientes y número de regresiones que se utilizarán. Este modelo es muy sensible a la precisión con que se determinen sus coeficientes.

Se suele expresar como ARIMA(p,d,q) donde los parámetros p, d y q son números enteros no negativos que indican el orden de las distintas componentes del modelo — respectivamente, las componentes autorregresiva, integrada y de media móvil. Cuando alguno de los tres parámetros es cero, es común omitir las letras correspondientes del acrónimo — AR para la componente autorregresiva, I para la integrada y MA para la media móvil. Por ejemplo, ARIMA(0,1,0) se puede expresar como I(1) y ARIMA(0,0,1) como MA(1).

El modelo ARIMA puede generalizarse aún más para considerar el efecto de la estacionalidad. En ese caso, se habla de un modelo SARIMA (seasonal autoregressive integrated moving average).

El modelo ARIMA (p,d,q) se puede representar como:

$$ Y_t= -(\Delta^{d} Y_{t}- Y{t}) + \phi_{0} +\sum _{i=1}^{p}\phi _{i} \Delta ^{d}Y_{t-i} -\sum _{i=1}^{q}\theta _{i}\varepsilon _{t-i}+\varepsilon _{t} \displaystyle  $$



en donde $d$ corresponde a las d diferencias que son necesarias para convertir la serie original en estacionaria, $\phi_{1},\dot,\dot,\dot,\phi{p}$ son los parámetros pertenecientes a la parte "autorregresiva" del modelo, ${\displaystyle \theta _{1},\ldots ,\theta _{q}}{\displaystyle \theta _{1},\ldots ,\theta _{q}}$ los parámetros pertenecientes a la parte "medias móviles" del modelo. 


$\phi_{0}$ es una constante para cada modelo y $\varepsilon _{t}$ es el término de error (llamado también innovación o perturbación estocástica esta última asociada más para modelos econométricos uniecuacionales o multiecuacionales).

Se debe tomar en cuenta que:

$${\displaystyle \Delta Y_{t}=Y_{t}-Y_{t-1}}$$


## Caso de estudio

Comenzaremos modelando los datos de una serie temporal. Usando R, convertiremos los datos disponibles en formato de datos de serie temporal. Para hacer esto, ejecutaremos el siguiente comando:



```{r}
RawData=scan('https://themys.sid.uncu.edu.ar/~rpalma/R-cran/Routers.txt')
plot(RawData, main="Instalacion de Routers ITC (fibra óptica)",ylab="routers",xlab="mes")
```






## Venta de routers de uso hogareños en América Latina

Para el análisis arima es necesario que especifiquemos la duración de la estacionalidad. ¿Se trata de una estacionalidad semanal?, ¿es por horas?, etc. Para ello especificaremos la frecuencia. En nuestro caso se trata de una estacionalidad anula, por ello la frecuencia será 12 meses. En este caso suponemos (tenemos la hypótesis) que se trata de un fenómeno de repetición anual.

```{r}
tsData = ts(RawData, start = c(2005,1), frequency = 12)
print(tsData)
plot(tsData,main="Comienzo de contrato con Huawei",ylab="Equipos OptiX PTN 905E", xlab="Año")
```


Podemos deducir del gráfico en sí mismo que los puntos de datos siguen un patrón de subidas y caídas en una tendencia ascendente. Ahora necesitamos hacer un análisis para averiguar la no estacionariedad exacta y la estacionalidad en los datos.

## Pre-Análisis Exploratorio de Datos (PAED)}



\begin{enumerate}
  \item Análisis de autocorrelación para examinar la dependencia en serie. Se utiliza para estimar qué valor en el pasado tiene una correlación con el valor actual. Proporciona la estimación p, d, q para los modelos ARIMA.
  \item Análisis espectral para examinar el comportamiento cíclico. Se realiza para describir cómo la variación en una serie temporal puede ser explicada por componentes cíclicos. También se conoce como un análisis en dominio de la frecuencia. Usando esto, los componentes periódicos en un ambiente ruidoso se pueden separar.
  \item Estimación y descomposición de la tendencia. Se utiliza para el ajuste estacional. Busca construir, a partir de una serie temporal observada, una serie de componentes (que podrían usarse para reconstruir la serie original) donde cada una de ellas tiene una característica determinada.
\end{enumerate}




Antes de realizar cualquiera de estos pasos en los datos, debemos comprender los tres componentes de los datos de una serie temporal:     

\begin{itemize}
  \item Tendencia: un aumento o disminución a largo plazo de los datos se denomina tendencia. No tiene porque ser necesariamente lineal. Es el patrón subyacente en los datos a lo largo del tiempo. 
  
  \item Estacional o Periódico: cuando una serie está influenciada por factores estacionales, es decir, un trimestre del año, mes o días de una semana, la estacionalidad existe en la serie. Siempre es de un período fijo y conocido. P.ej. – Un aumento repentino en las ventas durante el verano, etc.   

  \item Cíclico: cuando los datos muestran subidas y caídas que no son del período fijo, lo llamamos patrón cíclico. Por ejemplo – La duración de estas fluctuaciones suele ser de al menos 2 años.

\end{itemize}


 En R podemos averiguar estos componentes de la serie temporal con los siguientes comandos:

```{r}
componentes.ts = decompose(tsData)
plot(componentes.ts)
```

 

 

En este gráfico podemos observar 4 sub-graficos:
\begin{itemize}
  \item Observed: los datos actuales de instalación de routers

\item Trend: el movimiento general (variación) hacia arriba o hacia abajo de los puntos de datos

\item  Seasonal: cualquier patrón mensual / anual de los puntos de los datos
\item  Random – parte inexplicable de los datos , tales como la crisis financiera mundial, imposibilidad de importar, etc.


Observando de cerca cada uno de estos gráficos, podemos descubrir si los datos satisfacen todos los supuestos del modelado ARIMA, principalmente, la estacionariedad y la estacionalidad.

\end{itemize}

A continuación, debemos eliminar la parte no estacionaria de ARIMA. Para facilitar el análisis aquí, también eliminaremos la parte estacional de los datos. La parte estacional puede eliminarse del análisis y agregarse más tarde, o puede tratarse en el propio modelo ARIMA.

Para conseguir estacionariedad:     

diferencia los datos – calcula las diferencias entre observaciones consecutivas, aplica el logaritmo o raíz cuadrada a los datos de la serie para estabilizar la varianza no constante.      
Si los datos contienen una tendencia, ajusta algún tipo de curva a los datos y luego modela los residuales de ese ajuste.

**Prueba de raíz unitaria:** esta prueba se usa para descubrir la primera diferencia o regresión que se debe usar en los datos de tendencias para hacerla estacionaria. En la prueba, llamada de Kwiatkowski-Phillips-Schmidt-Shin (KPSS), los valores pequeños de p sugieren que se requiera una diferenciación.


El código R para la prueba de raíz unitaria:

```{r}
#install.packages("fUnitRoots")
library("fUnitRoots")
urkpssTest(tsData, type = c("tau"), lags = c("short"),use.lag = NULL, doplot = TRUE)
```

Las barras largas (piernas) en los gráficos generales y parciales de ACF nos dicen en que lugares tenemos que tener cuidado si utilizamos el podelo para pronosticar.



Después eliminamos la no estacionariedad: (tendencia lineal creciente). Esto nos permite encontrar que causa o acciones (como campañas de marketing) han tenido efectos expansivos, pero no sostenibles en el tiempo.
En nuestro caso de estudio aparece claramente la crisis financiera mundial del 2008/09 y el cierre de las importaciones.



```{r}
tsstationary = diff(tsData, differences=1)
plot(tsstationary)
```



Hay diversos gráficos y funciones que nos pueden ayudar a detectar la estacionalidad:  

\begin{itemize}
  \item Un diagrama de subseries estacional

  \item  Diagrama de caja múltiple
  \item Gráfico de autocorrelación
  \item \textbf{ndiffs ()} se utiliza para determinar el número de primeras diferencias necesarias para que las series temporales no sean estacionales
\end{itemize}





Codigo R para calcular la autocorrelación:


```{r}
acf(tsData,lag.max=140)
```
Este gráfico nos muestra las acciones que AFC tuvo que realizar para poder hacer el gráfico sin tendencia de crecimiento.



La función de autocorrelación \emph{(acf ())} proporciona la autocorrelación en todos los retrasos posibles. La autocorrelación en el retraso 0 se incluye por defecto, lo que siempre toma el valor 1, ya que representa la correlación entre los datos y ellos mismos. Como podemos observar en el gráfico anterior, la autocorrelación continúa disminuyendo a medida que aumenta el retraso, lo que confirma que no existe una asociación lineal entre las observaciones separadas por retrasos mayores.



```{r}
timeseriesseasonallyadjusted <- tsData 
tsstationary <- diff(timeseriesseasonallyadjusted, differences=1)
tsstationary
```


Para eliminar la estacionalidad de los datos, restamos el componente estacional de la serie original(media cero) y luego lo diferenciamos para que sea estacionario (varianza constante e independiente).

Después de eliminar la estacionalidad y hacer que los datos sean estacionarios, se verá así:



```{r}
plot(tsstationary,xlab="Mes/año",ylab="Desvio Facturación")
```



El suavizado se hace generalmente para ayudarnos a ver mejor los patrones, las tendencias en las series temporales. Generalmente alisa las irregularidades para ver una señal más clara. Para datos estacionales, podríamos suavizar la estacionalidad para que podamos identificar la tendencia. El suavizado no nos proporciona un modelo, pero puede ser un buen primer paso para describir varios componentes de la serie.

Para suavizar las series de tiempo:

\begin{itemize}

  \item  Promedio móvil ordinario (único, centrado): en cada punto del tiempo determinamos los promedios de los valores observados que preceden a un tiempo determinado. Para eliminar la estacionalidad de una serie, para que podamos ver mejor una tendencia, usaríamos un promedio móvil con una longitud = lapso estacional. El lapso estacional es el período de tiempo después del cual se repite una estacionalidad, por ejemplo, – 12 meses si se nota estacionalidad cada mes de diciembre. Por lo tanto, en la serie suavizada, cada valor suavizado se ha promediado a lo largo del período de la temporada completa.  
  
  \item Promedio ponderado exponencialmente: en cada punto del tiempo, aplica factores de ponderación que disminuyen exponencialmente. La ponderación de cada dato anterior disminuye exponencialmente y nunca llega a cero.

\end{itemize}


## Ajuste del modelo

Es posible ajustar el modelo para que mejore los pronósticos. El modelo está fuertemente influenciado por la calidad de los datos de entrada, pero aún siendo malos la estacionalidad permite mejorar al modelo para eliminar tanto como se a posible la influencia de los *residuals*.
Una vez que tenemos los datos listos y han satisfecho todas las suposiciones del modelo, para determinar el orden del modelo que se ajustará a los datos, necesitamos tres variables: p, d y q que son enteros positivos que se refieren al orden de las partes medias autorregresivas, integradas y móviles del modelo, respectivamente.

Para identificar que valores de p y q serán apropiados, necesitamos ejecutar las funciones acf() y pacf()

\textbf{pacf ()} en el retardo k-esimo es la función de autocorrelación que describe la correlación entre todos los puntos de datos que están exactamente k pasos antes, después de tener en cuenta su correlación con los datos entre esos k pasos. Ayuda a identificar el número de coeficientes de autorregresión (AR) (valor p) en un modelo \emph{ARIMA}.

El código R para ejecutar los comandos \textbf{acf() y pacf()}:


```{r}
acf(tsstationary, lag.max=70)
pacf(tsstationary, lag.max=140)
```



La forma de acf () para definir valores de p y q es mirar los gráficos y repasando la tabla podemos determinar qué tipo de modelo seleccionar y cuáles serán los valores de p, d y q.


## Presentación de tablas

Como tenemos gran cantidad de datos en tablas exploraremos formas de mejorar la apariencia, tanto en html como en pdf. Es por ello que utilizaremos la biblioteca kableExtra.

En rigos esto no pertenece al modelo ARIMA, por lo que puedes no utilizar estas formas de embellecer las tablas o ajustar para que se encuadren dentro de una sola página en los PDF.

```{r}
library(kableExtra)

```


Contendio de los titulos y mensajes de la tabla.

```{r}
# library(kableExtra)

t <- c(
"Forma" ,
"Modelo", 

"Serie exponencial decayendo a 0 "  
,
"Modelo Auto Regresivo (AR). Función pacf () que se
utilizará para identificar el orden del modelo"
,
"Picos alternativos positivos y negativos, decayendo a 0"
,
"Modelo Auto Regresivo (AR). Función pacf () que se
 utilizará para identificar el orden del modelo"
,
"Uno o más picos en serie, resto todos son 0"

,
"Modelo de media móvil (MA), identifica el orden donde el gráfico se convierte en 0"
,
"Después de algunos retrasos en general la serie va decayendo."
,
"Modelo mezclado AR & MA"
,
"La serie total es 0 o casi 0"
 ,
"Datos aleatorios "
,
"Valores medios a intervalos fijos"
,
"Necesitamos incluir el término AR de estacionalidad"
,
"Picos visibles que no decaen a 0"
, 
"Series no son estacionarias"
)

Tt <- matrix(t,8,2,byrow = TRUE)




```

Impresión de talba con escala normal

```{r}
kbl(Tt)
```


```{r}
kbl(Tt, booktabs = T, linesep = "") %>%
kable_styling(latex_options = "striped", stripe_index = c(1,2, 5:6))
```

### Tabla con caption

Como regla general las tablas deben llevar un título (caption o copete) que indique que es lo que nos están mostrando.

```{r}
kbl(Tt, caption = "¿Qué paramétrica usar?", booktabs = T) %>%
kable_styling(latex_options = c("striped", "hold_position"))
```

### Tabla escalada 

Este efecto dde escalar las tablas es inapropiado para el formato html, pero se observan muy bien en PDF. La tipografía no pierde nitidez.

```{r}
kbl(rbind(Tt,Tt,Tt), booktabs = T) %>%
kable_styling(latex_options = c("striped", "scale_down")) %>%
 kable_styling(font_size = 7)
```


## Tabla a lo ancho

Del mismo modo no se aprecia en html, pero este comando puede compactar una tabla muy grande para que se imprima en PDF en una sola página en forma apaisada.

```{r}
kbl(Tt, booktabs = T) %>%
kable_styling(full_width = T) %>%
column_spec(1, width = "8cm")
```



## Tablas centradas

El siguiente comando tratará de incrustar la tabla PDF a una distancia equidistante de encabezado y el pie de página y distribuirá el texto arriba y abajo de la misma.

```{r}
kbl(Tt, booktabs = T) %>%
kable_styling(position = "center")
```
Aplicaremos estos modelos de tablas al caso de ARIMA que venimos desarrollando.


```{r}
Ttt <- data.frame(Tt)
kbl(Ttt, booktabs = T) %>%
kable_styling(full_width = F) %>%
  column_spec(1, bold = T, color = "red") %>%
column_spec(2, width = "30em")
```


El modelo que hemos aplanado con AFC, ahora nos permitiria trabajar con proyecciones como si se tratase de una regresión lineal. Luego Arima aplicará los parámetros $p,q,d$ para regenerar los datos pero ahora fuera del intervalo en el con el que construimos el modelo. 
Esto se denomina extrapolar el modelo linealmente y reconstruir su no linealidad.




```{r}
fitARIMA <- arima(tsData, order=c(1,1,1),seasonal =list(order = c(1,0,0), period = 12),method="ML")
#install.packages("lmtest")
library(lmtest)
coeftest(fitARIMA)
```


```{r}
fitARIMA <- arima(tsData, order=c(1,1,1), seasonal =list(order = c(1,0,0), period = 12),method="ML")
```




\begin{itemize}
  \item \textbf{orden} especifica la parte no estacional del modelo ARIMA: (p, d, q) se refiere al orden AR, el grado de diferencia y la orden MA.
    \item \textbf{estacional} especifica la parte estacional del modelo ARIMA, más el período (que por defecto es la frecuencia (x), es decir, 12 en este caso). Esta función requiere una lista con el orden de los componentes pero dado en un vector numérico de longitud 3, y el período.
      \item \textbf{método} se refiere al método de ajuste, que puede ser ``probabilidad máxima (ML)'' o ``minimizar la suma de cuadrados condicional (CSS)''. El valor predeterminado es la suma de cuadrados condicional.
\end{itemize}


El proceso de ajuste es un proceso recursivo y necesitamos ejecutar esta función arima () con diferentes valores (p, d, q) para encontrar el modelo más optimizado y eficiente.

La salida de fitarima () incluye los coeficientes ajustados y el error estándar para cada coeficiente. Observando los coeficientes podemos excluir los insignificantes. Podemos usar una función confint () para este propósito. Podemos usar una función confint () para este propósito.

## Intervalos de confianza de los modelos ajustados

```{r}
confint(fitARIMA)
```


### Elección del mejor modelo

R utiliza la estimación de máxima verosimilitud (MLE) para estimar el modelo ARIMA. Intenta maximizar
la probabilidad logarítmica para valores dados de p, d y q al encontrar estimaciones de parámetros para
maximizar la probabilidad de obtener los datos que hemos observado. Averigüa el Criterio de
Información de Akaike (AIC) para un conjunto de modelos e investigarlos modelos con los valores AIC
más bajos. Prueba el criterio de información bayesiano (BIC) de Schwarz e investiga los modelos con los
valores BIC más bajos. Al estimar los parámetros del modelo utilizando la estimación de máxima
verosimilitud, es posible aumentar la probabilidad agregando parámetros adicionales, lo que puede
resultar en un ajuste excesivo. El BIC resuelve este problema introduciendo un término de penalización
para el número de parámetros en el modelo. Junto con AIC y BIC, también debemos observar de cerca
los valores de los coeficientes y debemos decidir si incluir ese componente o no de acuerdo con su nivel
de significación.


### Medidas de diagnostico

Deben observarse los coeficientes de autocorrelación muestral de los residuos y comprobar que ninguno

de ellos supera el valor de las bandas de significatividad al $5\% (±1,96(1/T ))^{1/2}$. El valor T
 es una
aproximación de la varianza asintótica pero resulta sólo adecuada para valores grandes de «j». Se

aconseja,por tanto, utilizar distinta amplitud de bandas como por ejemplo $±(1/T )^{1/2}$ para los términos más
cercanos a cero.Intenta averiguar el patrón en los residuos del modelo elegido trazando el ACF de los
residuos y haciendo una prueba de portmanteau. Necesitamos probar modelos modificados si la gráfica
no parece un ruido blanco. Una vez que los residuos parezcan ruido blanco, calcularemos los
pronósticos.


### Prueba de Box-Ljung

Es una prueba para comprobar si una serie de observaciones en un período de tiempo especifico son
aleatorias o independientes en todos los retardos hasta el especificado. En lugar de probar la
aleatoriedad en cada retardo distinto, prueba la aleatoriedad «general» basada en un número de
retardos y, por lo tanto, es una prueba de comparación. Se aplica a los residuos de un modelo ARIMA
ajustado, no a la serie original, y en tales aplicaciones, la hipótesis que se está probando realmente es
que los residuos del modelo ARIMA no tienen autocorrelación.
Si los retardos no son independientes, un retardo puede estar relacionado con otros retardos k unidades
de tiempo después por lo que la autocorrelacion puede reducir la exactitud de un modelo predictivo
basado en el tiempo y conducir a una interpretación errónea de los datos.
El código R para obtener los resultados de la prueba Box (pruebas de muestreo Montecarlo de cuantil vs cuantiles muestreados):


```{r}

#install.packages("FitAR")
library(FitAR)
acf(fitARIMA$residuals,lag.max=140)
boxresult=LjungBoxTest (fitARIMA$residuals,k=2,StartLag=1)
plot(boxresult[,3],main= "Ljung-Box Q Test", ylab= "P-values", xlab= "Lag")
qqnorm(fitARIMA$residuals)
qqline(fitARIMA$residuals)

```


Como todos los gráficos apoyan el supuesto de que no hay un patrón en los residuales, podemos seguir
adelante y calcular el pronóstico.

## Función auto.arima ():

El paquete de pronóstico proporciona dos funciones: ets () y auto.arima () para la selección automática
de modelos exponenciales y modelos ARIMA.
La función auto.arima () en R utiliza una combinación de pruebas de raíz unitaria, minimización del AIC
y MLE para obtener un modelo ARIMA.
La prueba KPSS se usa para determinar el número de diferencias (d) En el algoritmo Hyndman-
Khandakar para el modelado ARIMA automático.
Los p, d y q luego se eligen minimizando el AICc. El algoritmo utiliza una búsqueda por pasos para
recorrer el espacio del modelo para seleccionar el mejor modelo con el AICc más pequeño.
Si d = 0, entonces se incluye la constante c; si d≥1 entonces la constante c se pone a cero. Las
variaciones en el modelo actual se consideran variando p y / o q del modelo actual en ± 1 e incluyendo /
excluyendo c del modelo actual.
El mejor modelo considerado hasta ahora (ya sea el modelo actual o una de estas variaciones) se
convierte en el nuevo modelo actual.
Ahora, este proceso se repite hasta que no se pueda encontrar un AIC inferior.


```{r}
#install.packages("forecast")
library(forecast)
auto.arima(tsData, trace=TRUE)

```


### Predecir utilizando un modelo ARIMA

Los parámetros del modelo ARIMA se pueden usar como un modelo predictivo para hacer pronósticos
de valores futuros de las series temporales, una vez que se selecciona el modelo más adecuado para los
datos de la serie temporal.
El valor d afecta a los intervalos de predicción; los intervalos de predicción aumentan de tamaño con
valores más altos de «d». Todos los intervalos de predicción serán esencialmente los mismos cuando d
= 0 porque la desviación estándar de la previsión a largo plazo irá a la desviación estándar de los datos
históricos.
Existe una función llamada predict () que se usa para predicciones a partir de los resultados de varias
funciones de ajuste de modelos. Se necesita un argumento n.ahead () que especifica la cantidad de
tiempo que se adelanta para predecir.


```{r}
predict(fitARIMA,n.ahead = 5)

```

La función forecast() en el paquete R de forecast también se puede utilizar para pronosticar valores
futuros de la serie temporal. Aquí también podemos especificar el nivel de confianza para los intervalos
de predicción utilizando el argumento de nivel.


```{r}
futurVal <- forecast(fitARIMA,h=10, level=c(99.5))
plot(futurVal)

```


Los pronósticos se muestran como una línea azul, con los intervalos de predicción del 80% como un
área sombreada oscura, y los intervalos de predicción del 95% como un área sombreada clara. Este es
el proceso general analizar para analizar datos de series temporales y pronosticar valores de las series
existentes utilizando ARIMA.

## Referencias:

Time Series Analysis Using ARIMA Model In R <https://datascienceplus.com/time-series-analysis-using-arima-model-in-r/> 




