Introducción
El análisis predictivo utiliza datos históricos y técnicas estadísticas para predecir futuros eventos. Este módulo se centra en los modelos y algoritmos más comunes utilizados en el análisis predictivo, proporcionando una base sólida para su aplicación en el ámbito de los negocios.
Conceptos Clave
- Análisis Predictivo: Proceso de utilizar datos históricos para hacer predicciones sobre eventos futuros.
- Modelos Predictivos: Estructuras matemáticas que representan relaciones entre variables para hacer predicciones.
- Algoritmos: Conjuntos de reglas y procedimientos utilizados para realizar cálculos y resolver problemas.
Tipos de Modelos Predictivos
- Regresión Lineal
- Descripción: Modelo que asume una relación lineal entre la variable dependiente y una o más variables independientes.
- Aplicación: Predicción de ventas, precios de viviendas, etc.
- Ejemplo:
from sklearn.linear_model import LinearRegression import numpy as np # Datos de ejemplo X = np.array([[1], [2], [3], [4], [5]]) y = np.array([1.5, 3.5, 3.0, 4.5, 6.0]) # Crear el modelo model = LinearRegression() model.fit(X, y) # Predicción y_pred = model.predict(np.array([[6]])) print(y_pred) # Salida: [7.2]
- Regresión Logística
- Descripción: Modelo utilizado para predecir la probabilidad de un evento binario (sí/no).
- Aplicación: Predicción de abandono de clientes, aprobación de créditos, etc.
- Ejemplo:
from sklearn.linear_model import LogisticRegression import numpy as np # Datos de ejemplo X = np.array([[1], [2], [3], [4], [5]]) y = np.array([0, 0, 1, 1, 1]) # Crear el modelo model = LogisticRegression() model.fit(X, y) # Predicción y_pred = model.predict(np.array([[6]])) print(y_pred) # Salida: [1]
- Árboles de Decisión
- Descripción: Modelo que utiliza una estructura de árbol para tomar decisiones basadas en las características de los datos.
- Aplicación: Clasificación de clientes, segmentación de mercado, etc.
- Ejemplo:
from sklearn.tree import DecisionTreeClassifier import numpy as np # Datos de ejemplo X = np.array([[1], [2], [3], [4], [5]]) y = np.array([0, 0, 1, 1, 1]) # Crear el modelo model = DecisionTreeClassifier() model.fit(X, y) # Predicción y_pred = model.predict(np.array([[6]])) print(y_pred) # Salida: [1]
- Bosques Aleatorios (Random Forest)
- Descripción: Conjunto de árboles de decisión que trabajan juntos para mejorar la precisión de las predicciones.
- Aplicación: Predicción de ventas, análisis de riesgo, etc.
- Ejemplo:
from sklearn.ensemble import RandomForestClassifier import numpy as np # Datos de ejemplo X = np.array([[1], [2], [3], [4], [5]]) y = np.array([0, 0, 1, 1, 1]) # Crear el modelo model = RandomForestClassifier(n_estimators=10) model.fit(X, y) # Predicción y_pred = model.predict(np.array([[6]])) print(y_pred) # Salida: [1]
- Redes Neuronales
- Descripción: Modelos inspirados en el cerebro humano que son capaces de aprender patrones complejos en los datos.
- Aplicación: Reconocimiento de imágenes, procesamiento de lenguaje natural, etc.
- Ejemplo:
from keras.models import Sequential from keras.layers import Dense import numpy as np # Datos de ejemplo X = np.array([[1], [2], [3], [4], [5]]) y = np.array([0, 0, 1, 1, 1]) # Crear el modelo model = Sequential() model.add(Dense(10, input_dim=1, activation='relu')) model.add(Dense(1, activation='sigmoid')) # Compilar el modelo model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # Entrenar el modelo model.fit(X, y, epochs=10, batch_size=1) # Predicción y_pred = model.predict(np.array([[6]])) print(y_pred) # Salida: [[0.8]]
Ejercicio Práctico
Ejercicio: Predicción de Ventas con Regresión Lineal
Objetivo: Utilizar un modelo de regresión lineal para predecir las ventas de un producto basado en datos históricos.
Datos:
import numpy as np # Datos de ejemplo (Mes, Ventas) X = np.array([[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]]) y = np.array([100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650])
Instrucciones:
- Dividir los datos en conjuntos de entrenamiento y prueba.
- Crear y entrenar un modelo de regresión lineal.
- Evaluar el modelo utilizando el conjunto de prueba.
- Realizar predicciones para los próximos 3 meses.
Solución:
from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression import numpy as np # Datos de ejemplo X = np.array([[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12]]) y = np.array([100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650]) # Dividir los datos X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Crear el modelo model = LinearRegression() model.fit(X_train, y_train) # Evaluar el modelo score = model.score(X_test, y_test) print(f'Precisión del modelo: {score * 100:.2f}%') # Predicciones para los próximos 3 meses X_future = np.array([[13], [14], [15]]) y_future_pred = model.predict(X_future) print(f'Predicciones para los próximos 3 meses: {y_future_pred}')
Conclusión
En esta sección, hemos explorado varios modelos y algoritmos utilizados en el análisis predictivo, incluyendo la regresión lineal, la regresión logística, los árboles de decisión, los bosques aleatorios y las redes neuronales. Cada uno de estos modelos tiene sus propias aplicaciones y ventajas, y la elección del modelo adecuado depende del problema específico que se esté abordando.
Resumen de Conceptos Clave
- Regresión Lineal: Ideal para predecir valores continuos.
- Regresión Logística: Útil para problemas de clasificación binaria.
- Árboles de Decisión: Eficaces para problemas de clasificación y regresión.
- Bosques Aleatorios: Mejoran la precisión mediante la combinación de múltiples árboles de decisión.
- Redes Neuronales: Capaces de aprender patrones complejos en los datos.
Preparación para el Siguiente Tema
En el próximo módulo, profundizaremos en el análisis prescriptivo, que se centra en la optimización y simulación para tomar decisiones informadas.
Curso de Analítica de Negocios
Módulo 1: Introducción a la Analítica de Negocios
- Conceptos Básicos de Analítica de Negocios
- Importancia de la Analítica en las Operaciones Comerciales
- Tipos de Analítica: Descriptiva, Predictiva y Prescriptiva
Módulo 2: Herramientas de Analítica de Negocios
- Introducción a las Herramientas de Analítica
- Microsoft Excel para Analítica de Negocios
- Tableau: Visualización de Datos
- Power BI: Análisis y Visualización
- Google Analytics: Análisis Web
Módulo 3: Técnicas de Análisis de Datos
- Limpieza y Preparación de Datos
- Análisis Descriptivo: Resumen y Visualización
- Análisis Predictivo: Modelos y Algoritmos
- Análisis Prescriptivo: Optimización y Simulación
Módulo 4: Aplicaciones de la Analítica de Negocios
Módulo 5: Implementación de Proyectos de Analítica
- Definición de Objetivos y KPIs
- Recopilación y Gestión de Datos
- Análisis y Modelado de Datos
- Presentación de Resultados y Toma de Decisiones
Módulo 6: Casos Prácticos y Ejercicios
- Caso Práctico 1: Análisis de Ventas
- Caso Práctico 2: Optimización de Inventarios
- Ejercicio 1: Creación de Dashboards en Tableau
- Ejercicio 2: Análisis Predictivo con Excel