Forecasting y Machine Learning con Python
Podemos aplicar Python a diversos temas laborales, entre estos encontramos las potentes herramientas para la construcción de modelos predictivos aplicados a los procesos de Forecast de muchas empresas.
Python tanto en las líneas de Machine Learning como de Time Series nos presentan numerosas herramientas para realizar nuestro trabajo de Forecast. Los modelos tienen diferentes orientaciones y usos, una de las diferenciaciones pueden los resultados que se esperan sean arrojados por el modelo, estos pueden ser:
De clasificación. Estos modelos utilizan valores pasados y realizarán predicciones de clasificación binaria, es decir cumple o no cumple, 1 o 0, entre otros. Ejemplos prácticos pueden ser la predicción de si un cliente abandona o no el servicio, es de riesgo o no, probabilidad de compra si o no, entre otros.
De regresión. En estos modelos utilizamos datos históricos para la predicción de valores continuos futuros, por ejemplo: precio, sueldo, edad, etc. Podemos incorporar múltiples variables independientes para la predicción de la variable dependiente.
Como podemos ver, tanto los modelos de clasificación como de regresión utilizan datos pasados para sus predicciones y a su vez, son considerados algoritmos de aprendizaje supervisado. La diferencia es el tipo de problemas para los que son utilizados, los modelos regresivos son para predecir los valores continuos como precio, sueldo, edad, etc. y los algoritmos de clasificación se utilizan para predecir / clasificar los valores discretos como Masculino o Femenino, Verdadero o Falso, Spam o no spam, etc.
Los modelos de Time Series tradicionales son desde sus inicios del tipo regresivos y se utilizan para predecir en base a datos pasados, valores futuros continuos como precio, ventas, temperaturas, utilización, entre otros. Estos modelos en su mayoría son del tipo univariantes, por lo tanto, a partir de una variable independiente, para el caso representada por el tiempo, se tiene por objetivo predecir una variable dependiente tal como podría ser ventas, precios, temperaturas, entre otros.
Ver ejemplos de modelos implementados.
Muchas veces necesitaremos mejorar nuestros Forecast preparados con Time Series, dependiendo del modelo que utilicemos podremos incorporar por ejemplo fechas de eventos especiales que afecten nuestra predicción, por ejemplo, muchas empresas de retail tienen marcadas diferencias en sus ventas en fechas de navidad y otras fechas especiales. Para estos casos hay modelos que permiten incorporar estos eventos. Además, también encontraremos opciones de incorporar otras series para ayudar al modelo a predecir la tendencia futura de nuestra variable target, por ejemplo, para empresas automotrices probablemente junto a las fechas, también tengan implicancias en sus ventas la tasa de desempleo del país y/o el tipo de cambio peso dólar y/o plazos de entrega, entre otras variables propias de cada tipo de negocio. En resumen, junto a las fechas, podemos mejorar nuestros Forecast incorporando fechas de eventos específicos que afectan el resultado, otras series con implicancias en los resultados tales como tasa desempleo, IPC, tipo de cambio entre otros.
Para aplicar los modelos aquí mencionados es necesario que se cuente con conocimientos al menos básicos en Python, es decir conocer la sintaxis de programación, tipos de datos, ciclos y también estar familiarizado con el ambiente Jupyter Notebook o Spyder, en particular para la carga y preparación de datos utilizando Pandas y Numpy.
Si necesitas capacitar a tu equipo en Python para Forecast y Machine Learning, consulta por nuestros cursos para empresas. El programa se puede ajustar según los objetivos de la empresa y del nivel de conocimientos previos de los participantes. Ver Curso.