Estás leyendo la publicación: Un tutorial completo sobre Arauto para análisis y modelado de series temporales
El análisis y el modelado de series temporales son una de las partes complejas de la ciencia de datos y el aprendizaje automático. Un experto en modelado de series de tiempo necesita realizar varias pruebas e iterar entre los modelos para obtener resultados óptimos. ¿Qué pasa si usando una herramienta podemos hacer que este complejo procedimiento sea muy fácil y explicable para los principiantes? Esto suena como una declaración muy útil. Entonces, en este artículo, discutiremos una herramienta que puede hacer que el análisis de series de tiempo sea muy fácil y explicable, llamado Arauto. Los puntos principales que se discutirán en este artículo se enumeran a continuación.
Tabla de contenido
- ¿Qué es Arauto?
- Instalación de Arauto
- Uso de Arauto para el modelado de series temporales
¿Qué es Arauto?
Arauto es un proyecto de código abierto para el análisis de series temporales mediante el cual podemos realizar varios análisis sobre nuestros datos de series temporales. Además, podemos usar varios modelos de series temporales de la familia ARIMA usándolo. Algunos de los ejemplos de los modelos son AR, MA, ARMA, ARIMA, SARIMA, ARIMAX y SARIMAX.
Podemos decir que Arauto es una herramienta que nos permite realizar análisis y modelado de series temporales sin necesidad de escribir mucho código. Al proporcionar una experiencia intuitiva, admite variables exógenas. Con esta herramienta, podemos personalizar el proceso, desde elegir una función de transformación específica hasta probar diferentes parámetros de series temporales. Las características de arauto que se pueden utilizar entre el análisis de series temporales son las siguientes:
- Admite variables independientes, o podemos decir regresores exógenos.
- Usando la función de descomposición estacional, podemos analizar la tendencia, la estacionalidad y la residencia de la serie temporal.
- Tiene una función para verificar la estacionariedad en la serie de tiempo usando la prueba de Dickey-Fuller.
- Se pueden realizar varias transformaciones en la serie temporal, como diferencias de primer orden y diferencias logarítmicas estacionales.
- Tienen la facilidad de gráficos y funciones ACF y PACF que se pueden utilizar para realizar estimaciones de plazos.
- Hay una instalación para realizar el ajuste de hiperparámetros utilizando la tecnología de búsqueda de cuadrícula.
- Al final de cualquier procedimiento de análisis o modelado, podemos obtener los códigos python de arauto para ese procedimiento.
- Una de las mejores características de Arauto es que podemos obtener sugerencias para el procedimiento de acuerdo con los datos.
Instalando Arauto usando Google Colab
Podemos instalar este proyecto en la web, docker o en el sistema local. Como estoy usando Google Colab en el proceso, también sabremos cómo podemos hacer que funcione en el entorno de Google Colab.
Comencemos por instalarlo en el entorno de Google Colab. Al final del procedimiento, aprenderemos cómo podemos usar conda en Colab y cómo podemos crear un entorno virtual de python en Colab. Dado que estamos utilizando Colab, primero debemos montar nuestra unidad en el tiempo de ejecución. Los códigos dados a continuación se pueden utilizar para montar la unidad.
desde google.colab import drive drive.mount(‘/content/drive’)
Producción:
Al hacer clic en el enlace, obtendremos un código de autorización y con el código montaremos la unidad en el tiempo de ejecución. Usando el siguiente código, podemos instalar conda en el entorno de Google Colab.
!pip install -q condacolab import condacolab condacolab.install()
Producción:
Verifiquemos la versión de conda que hemos recibido.
!conda –versión
Producción:
Comprobemos la ubicación donde hemos instalado el conda.
!que conda
Producción:
Luego de esta instalación, la conda está preparada para trabajar con el proyecto Arauto. Comencemos el proceso de instalación de Arauto. Usando el siguiente código, podemos clonar el repositorio de GitHub en Google Drive.
!git clonar https://github.com/paulozip/arauto.git
Producción:
El siguiente código nos ayudará a configurar el paquete clonado como nuestro directorio de trabajo.
!cd arauto
Hagamos un entorno virtual de python donde podamos instalar el proyecto Arauto.
#creatring environment !conda create –name arauto_env
Producción:
El siguiente código puede ayudarnos a activar el entorno que hemos creado anteriormente.
# active su entorno conda %%bash source active arauto_env python # Los comandos de python están listos para ejecutarse dentro de su entorno import sys print(“Python version”) print (sys.version)
Producción:
Después de la activación del entorno, estamos listos para instalar el proyecto utilizando las siguientes líneas de código:
!pip requisitos de instalación.txt
Producción:
Estos son los siguientes paquetes que tenemos en los requisitos.txt.
Después de la instalación, estamos listos para usar Arauto para el análisis y modelado de series de tiempo. Usando el siguiente código podemos iniciar la aplicación Streamlit.
!streamlit ejecutar /content/arauto/run.py
Producción:
Mediante los enlaces podemos acceder a la aplicación. También podemos usar directamente la aplicación web de Aruto haciendo clic en el enlace.
Uso de Arauto para el análisis y modelado de series temporales
Como en la introducción de Arauto, hablamos de sus características. En esta sección, usaremos algunas de sus características para que podamos crear una comprensión básica del uso del proyecto Arauto. Para practicar el análisis y modelado de series de tiempo, tenemos la facilidad de los siguientes conjuntos de datos.
Siempre que se genera una serie de tiempo, genera una frecuencia de tiempo y de acuerdo a la serie podemos usar la siguiente opción de frecuencia.
Después de seleccionar los datos y la frecuencia, estamos listos para el análisis de series de tiempo. Desplazarnos hacia abajo en el panel del lado izquierdo nos proporcionará las siguientes opciones.
Con estas opciones, podemos seleccionar el recuento de datos en el conjunto de validación y elegir los gráficos de acuerdo con nuestra elección y requerimiento. A continuación, se muestran algunos de los gráficos y pruebas realizados con el archivo month_air_passenger.csv:
Información histórica
En el gráfico anterior, podemos ver la tendencia general de la serie temporal que se sigue a lo largo de los años siguientes.
descomposición estacional
En la imagen de arriba, podemos ver diferentes componentes de la serie temporal (estacionalidad, tendencia y residencia).
Gráficas ACF y PACF
En los gráficos anteriores, podemos ver los gráficos para ACF y PACF. Para mantener la estacionariedad de los datos, debemos realizar la transformación de datos. Para lo cual podemos elegir e iterar fácilmente entre las siguientes opciones.
Para realizar la transformación de datos de fuerza, Arauto tiene una función automatizada que ya sugiere la mejor transformación con la prueba ADF como la siguiente.
En los resultados anteriores, podemos ver cuál es la mejor opción para la transformación. Con esto, también recibimos sugerencias para el mejor modelo y valores de parámetros para ajustarse a los datos.
Ahora, simplemente eligiendo el período de pronóstico y haciendo clic en el botón “Haz tu magia”, podemos entrenar el modelo con datos y obtener los resultados. Las imágenes a continuación son los resultados que obtengo del modelado usando solo las opciones sugeridas por Arauto.
Predicción de conjuntos de trenes
Predicción del conjunto de pruebas
Pronóstico fuera de muestra
El pronóstico anterior se produjo en los paneles de control de Plotly y parece que las estamos copiando. Con esto, también obtenemos el código para el procedimiento que se puede usar para cotejar el modelo y el análisis de Aruto.
Para realizar el análisis y modelado sobre los datos autogenerados podemos utilizar la API REST de Arauto para su envío. Al modificar el siguiente código de acuerdo con la ruta de los datos, podemos cargar los datos.
curl -X POST \ http://SERVER_ADDRESS:5000/upload_file \ -H ‘content-type: multipart/form-data’ \ -F file=@RUTA_A_SU_ARCHIVO
Aquí hemos visto la implementación del análisis de series temporales en la aplicación Arauto.
Ultimas palabras
En este artículo, hemos visto el paquete Arauto y cómo sus características pueden hacer que el análisis y el modelado de series de tiempo sean más sólidos y precisos. Dado que solo se requieren unos pocos códigos en la instalación, podemos decir que es una herramienta de código bajo para el análisis de series temporales. Animo a los lectores a usar tales herramientas para hacer que el análisis sea conceptualmente más fuerte y robusto que antes.
Referencias: