Series Temporales/Modelos SARIMAX

En anteriores Post, ya hablamos sobre lo que hoy conocemos como DATA Analytics, pero ahora vamos a profundizar en un tipo de estructura que utilizaremos muy a menudo para construir modelos predictivos, las series temporales. Veremos también una visión de negocio de un tipo de modelo realmente interesante, SARIMAX.

Una serie temporal es una secuencia de N observaciones (datos) ordenadas y equidistantes cronológicamente sobre una característica (univariante) o sobre varias características (multivariante) de una unidad observable en diferentes momentos.

tasa-logaritmica-de-variacion-anual-del-pib-real-en-eeuu                    infalcion-interanual-en-espana

Tasa log de variación anual del PIB real en EEUU              Inflación interanual en ESPAÑA

Es muy interesante analizar el comportamiento de las series para poder predecir situaciones o acciones futuras, esto es extrapolable a cualquier tipo de negocio.

Un ejemplo fácil de comprender sería analizar la serie de facturación de un restaurante por día, y así optimizar la cantidad de recursos (ya sean alimentarios o de personal) necesarios para ahorrar en gastos. Esto es fácil de aplicar a otros muchos ámbitos.

Es tentativo pensar que vamos a ser efectivos si realizamos un modelo predictivo basándonos únicamente en el histórico de la misma serie(ARIMA por ejemplo). Esto es un error muy grave, ya que no podemos olvidar estacionalidades ni agentes externos. Sigamos con el ejemplo del restaurante, imaginad que un día tenemos un evento especial (una boda) en el restaurante, entonces ese día provocará un error en el supuesto modelo, ya que no tenemos como explicarlo y lo arrastraremos en la predicción. O, por ejemplo, que un día de invierno, llueve con mucha intensidad y el restaurante no tiene apenas clientes, luego también obtendremos un error grave.

De tal modo, ya podemos sacar varias conclusiones de esto:

                1)            Es necesario tener en cuenta la estacionalidad

                2)            Es necesario tener en cuenta los agentes externos a nuestra serie

Así, lo óptimo es crear un modelo para nuestro output que explique las tendencias y las estacionalidades de la serie, pero también es necesario sostenerlo con varios sub modelos que expliquen la varianza del mismo.

¿A qué me refiero con Sub modelos?

Me refiero a la creación de modelos independientes que contengan series que expliquen diversas casuísticas, por ejemplo, una serie constante de ceros, donde solo haya un 1, que sea el día de la boda antes comentado. Con esto lo que sucederá es que el efecto que tiene ese día en el modelo, será descartado. Esto mismo podríamos hacer con los festivos nacionales. También podemos introducir como sub modelo una serie con la intensidad de lluvia, etc …

Por tanto, tendremos un modelo con una serie temporal como output, que tiene como inputs estas series temporales, las cuales darán las funciones de transferencia del modelo.

Este tipo de modelos integrados con componentes autorregresivos, con medias móviles, varias estacionalidades y funciones de transferencia (Inputs) se llaman modelos SARIMAX.

¿Qué herramientas soportan estos modelos?

Como es de esperar, con R y Python es posible construirlos, pero es bastante tedioso ya que no son lenguajes orientados a este tipo de datos.

Por ello, yo recomiendo otra herramienta un tanto especial:

                TOL(Time Oriented Language)

Esta herramienta está poco difundida, pero también es “Open Source” y proporciona todo lo necesario para realizar este tipo de modelos. Además, es mucho más potente con estas estructuras que R o Python.

Os dejo el enlace a la web:

                https://www.tol-project.org/

En futuros post hablaremos detenidamente de esta herramienta tan interesante.

Espero vuestros comentarios y un saludo.

Pedro José Mendoza

analytics

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s