Autor: Fernando

  • Analytic Approach (Enfoque Analítico)

    Transformar un problema de negocio en un problema de Ciencia de Datos

    Una vez comprendido el problema del mundo real durante la fase de Business Understanding, el siguiente paso consiste en determinar cómo puede resolverse mediante técnicas de Ciencia de Datos.

    Esta etapa recibe el nombre de Analytic Approach (Enfoque Analítico) y constituye el puente entre el conocimiento del dominio y la implementación técnica de la solución.

    Mientras que en la fase anterior se definieron el problema, los objetivos, los usuarios, las restricciones y los criterios de éxito, en esta etapa se responde a una nueva pregunta:

    ¿Qué tipo de análisis o de solución basada en Ciencia de Datos permitirá resolver este problema?

    Es importante destacar que todavía no se seleccionan algoritmos concretos. No se decide si utilizar Random Forest, XGBoost, Redes Neuronales o cualquier otro modelo. Esas decisiones pertenecen a la fase de Modeling.

    En esta etapa únicamente se determina cuál es el enfoque analítico más adecuado para abordar el problema.


    ¿Qué es Analytic Approach?

    Analytic Approach es la fase de la metodología en la que se transforma un problema del mundo real en un problema de Ciencia de Datos.

    Su finalidad es identificar el tipo de solución analítica más apropiada para alcanzar los objetivos definidos durante la fase de Business Understanding.

    Dependiendo del problema, la solución podrá abordarse mediante:

    • Clasificación.
    • Regresión.
    • Series temporales.
    • Clustering.
    • Sistemas de recomendación.
    • Detección de anomalías.
    • Procesamiento del Lenguaje Natural (NLP).
    • Visión Artificial.
    • Inteligencia Artificial Generativa.
    • Otras técnicas de aprendizaje automático.

    La elección del enfoque condicionará todas las etapas posteriores del proyecto, incluyendo los datos necesarios, las métricas de evaluación y los modelos que finalmente podrán utilizarse.


    ¿Por qué constituye una etapa independiente?

    Uno de los errores más frecuentes consiste en pasar directamente desde la comprensión del negocio al análisis de los datos.

    Sin embargo, antes de comenzar a trabajar con el dataset es necesario responder una cuestión fundamental:

    ¿Qué tipo de problema voy a resolver?

    La respuesta determinará completamente el desarrollo posterior del proyecto.

    Por ejemplo, supongamos que queremos desarrollar un sistema relacionado con el almacenamiento global de agua.

    Dependiendo del objetivo planteado durante la fase de Business Understanding, el enfoque analítico podría ser completamente distinto.

    Objetivo 1

    Estimar cuánta agua estará almacenada dentro de seis meses.

    En este caso el problema corresponde a una regresión o a una predicción de series temporales.


    Objetivo 2

    Determinar si una región sufrirá una sequía.

    Ahora el problema pasa a ser una clasificación binaria.


    Objetivo 3

    Agrupar regiones con comportamientos hidrológicos similares.

    En este caso el enfoque adecuado sería un problema de clustering.


    Objetivo 4

    Detectar comportamientos anómalos en los sensores.

    Aquí el problema pertenece al ámbito de la detección de anomalías.

    Como puede observarse, el conjunto de datos podría ser exactamente el mismo, mientras que el enfoque analítico cambia completamente según el objetivo del proyecto.

    Por este motivo, esta fase debe realizarse antes de comenzar el análisis de los datos.


    Objetivos de Analytic Approach

    El propósito de esta etapa consiste en definir cómo será abordado el problema desde el punto de vista de la Ciencia de Datos.

    Entre sus principales objetivos destacan:

    • Traducir el problema de negocio a un problema analítico.
    • Seleccionar el tipo de aprendizaje más adecuado.
    • Definir el objetivo que deberá aprender el modelo.
    • Determinar cómo se evaluará el rendimiento de la solución.
    • Establecer las bases técnicas del proyecto.

    Esta información servirá como guía para todas las fases posteriores de la metodología.


    Relación con Business Understanding

    Aunque ambas etapas están estrechamente relacionadas, persiguen objetivos diferentes.

    Business Understanding responde a la pregunta:

    ¿Qué problema necesita resolverse?

    Mientras que Analytic Approach responde:

    ¿Qué tipo de solución basada en Ciencia de Datos puede resolver ese problema?

    Por ejemplo:

    Business Understanding

    Problema:

    Las autoridades sanitarias desean aumentar la cobertura de vacunación frente a la gripe H1N1.


    Analytic Approach

    Enfoque:

    Construir un modelo de clasificación binaria capaz de predecir la probabilidad de que una persona acepte vacunarse.

    Todavía no se ha elegido ningún algoritmo.

    Únicamente se ha identificado el tipo de problema analítico.


    Preguntas que debe responder Analytic Approach

    Antes de continuar con la metodología, esta fase debería responder, al menos, las siguientes cuestiones.

    ¿Qué tipo de problema representa?

    Es la pregunta principal de esta etapa.

    Algunas posibilidades habituales son:

    • Clasificación.
    • Regresión.
    • Series temporales.
    • Clustering.
    • Detección de anomalías.
    • Recomendación.
    • Procesamiento del Lenguaje Natural.
    • Visión Artificial.

    La respuesta condicionará completamente el resto del proyecto.


    ¿Qué variable o fenómeno se desea predecir?

    Debe definirse claramente cuál será el objetivo del modelo.

    Por ejemplo:

    Proyecto H1N1

    Variable objetivo:

    • Vacunado.
    • No vacunado.

    Proyecto de almacenamiento global de agua

    Variable objetivo:

    • Volumen de agua almacenada.

    Proyecto de fraude bancario

    Variable objetivo:

    • Operación fraudulenta.
    • Operación legítima.

    ¿Qué tipo de aprendizaje será necesario?

    Una vez definido el problema, debe determinarse el paradigma de aprendizaje más adecuado.

    Algunas posibilidades son:

    • Aprendizaje supervisado.
    • Aprendizaje no supervisado.
    • Aprendizaje semi-supervisado.
    • Aprendizaje por refuerzo.

    En la mayoría de competiciones de Machine Learning el problema suele pertenecer al aprendizaje supervisado.


    ¿Cómo se evaluará el éxito?

    Antes de construir ningún modelo debe definirse la métrica que permitirá comparar distintas soluciones.

    Algunos ejemplos son:

    • Accuracy.
    • Precision.
    • Recall.
    • F1-Score.
    • ROC-AUC.
    • RMSE.
    • MAE.
    • MAPE.

    La elección de la métrica dependerá completamente del tipo de problema identificado.


    Flujo de trabajo de Analytic Approach

    Aunque cada proyecto presenta particularidades, esta fase suele desarrollarse siguiendo una secuencia bastante estable.

    1. Revisar los objetivos definidos durante Business Understanding

    Antes de seleccionar un enfoque analítico es necesario verificar que los objetivos del proyecto están claramente definidos.

    Esta fase no debe modificar el problema de negocio, sino utilizarlo como punto de partida.


    2. Traducir el problema del dominio a un problema analítico

    Consiste en expresar el problema utilizando el lenguaje propio de la Ciencia de Datos.

    Por ejemplo:

    Problema del dominio

    Identificar qué personas aceptarán vacunarse.

    Problema analítico

    Clasificación binaria.


    3. Determinar el tipo de aprendizaje

    En función del problema identificado, se selecciona el paradigma de aprendizaje más adecuado.

    Por ejemplo:

    • Supervisado.
    • No supervisado.
    • Semi-supervisado.
    • Aprendizaje por refuerzo.

    4. Definir la variable objetivo

    Debe establecerse claramente cuál será la salida esperada del modelo.

    En algunos proyectos será una categoría; en otros, un valor continuo o incluso una secuencia temporal.


    5. Seleccionar las métricas de evaluación

    Por último, se definen las métricas que permitirán medir objetivamente el rendimiento del modelo durante las fases posteriores del proyecto.

    Estas métricas deberán mantenerse durante todo el ciclo de desarrollo para garantizar una evaluación consistente.


    Resultado esperado de Analytic Approach

    Al finalizar esta etapa debe existir un documento técnico que describa con claridad:

    • El tipo de problema de Ciencia de Datos que representa el proyecto.
    • El paradigma de aprendizaje seleccionado.
    • La variable objetivo que aprenderá el modelo.
    • Las métricas que permitirán evaluar su rendimiento.
    • La justificación del enfoque analítico elegido.

    Este documento servirá como puente entre el conocimiento del dominio adquirido durante Business Understanding y las siguientes fases de la metodología, comenzando por Data Requirements, donde se definirán los datos necesarios para desarrollar la solución propuesta.

  • Business Understanding (Comprensión del negocio)

    La primera etapa de cualquier proyecto de Ciencia de Datos

    Todo proyecto de Ciencia de Datos comienza mucho antes de cargar un conjunto de datos o escribir la primera línea de código. Antes de seleccionar algoritmos, analizar variables o entrenar modelos de Machine Learning, es imprescindible comprender el problema que se pretende resolver.

    Esta fase inicial recibe el nombre de Business Understanding (Comprensión del negocio) y constituye el punto de partida de metodologías ampliamente utilizadas como CRISP-DM, IBM Data Science Methodology o Team Data Science Process (TDSP).

    Aunque su nombre hace referencia al “negocio”, este concepto no debe interpretarse únicamente en un contexto empresarial. El término business hace referencia al dominio del problema, independientemente de que se trate de una empresa, una administración pública, una investigación científica, una competición de Machine Learning o un proyecto personal.

    Por ejemplo:

    • En un proyecto sobre predicción del almacenamiento global de agua, el “negocio” es la hidrología y la gestión de los recursos hídricos.
    • En un proyecto de predicción de vacunación frente a la gripe H1N1, el dominio corresponde a la salud pública y la epidemiología.
    • En un sistema de detección de fraude, el contexto es el sector financiero.
    • En un recomendador de cursos, el dominio es la educación.

    En todos los casos, el objetivo es el mismo: comprender el problema real antes de intentar resolverlo mediante ciencia de datos.

    ¿Qué es Business Understanding?

    Business Understanding es la fase en la que se analiza el problema desde el punto de vista del dominio de aplicación para definir claramente qué se pretende conseguir, por qué es importante resolverlo y cómo se medirá el éxito del proyecto.

    Durante esta etapa todavía no se trabaja con los datos. El foco se sitúa en comprender el contexto, las necesidades y las limitaciones del problema. En otras palabras, esta fase responde a preguntas como:

    • ¿Qué problema se quiere resolver?
    • ¿Por qué existe ese problema?
    • ¿Quién necesita la solución?
    • ¿Qué impacto tendrá resolverlo?
    • ¿Cómo se evaluará el éxito del proyecto?
    • ¿Qué papel desempeñará la ciencia de datos en la solución?

    El resultado debe ser una definición precisa del problema que sirva de guía para todas las fases posteriores.

    ¿Por qué es la primera etapa del proyecto?

    Una de las causas más frecuentes de fracaso en proyectos de Ciencia de Datos consiste en desarrollar modelos técnicamente muy buenos para resolver un problema que nunca fue correctamente definido.

    Es habitual comenzar un proyecto abriendo un archivo CSV y explorando las variables disponibles. Sin embargo, hacerlo sin comprender previamente el contexto puede conducir a errores importantes.

    Por ejemplo, imaginemos un proyecto cuyo objetivo es predecir el almacenamiento global de agua.

    Si el científico de datos desconoce cómo funciona el ciclo hidrológico, difícilmente podrá interpretar correctamente variables relacionadas con:

    • Precipitaciones.
    • Evapotranspiración.
    • Humedad del suelo.
    • Acuíferos.
    • Embalses.
    • Cobertura de nieve.
    • Temperatura.

    Del mismo modo, en un proyecto sobre vacunación frente a la gripe H1N1 resulta fundamental comprender previamente aspectos como:¿

    • ¿Cómo se desarrollan las campañas de vacunación?
    • ¿Qué factores influyen en la decisión de vacunarse?
    • ¿Qué grupos presentan mayor riesgo?
    • ¿Qué utilidad tendría predecir la aceptación de la vacuna?

    Este conocimiento permitirá posteriormente interpretar correctamente las variables del conjunto de datos y tomar decisiones de preprocesamiento mucho más fundamentadas.

    Objetivos de Business Understanding

    La fase de Business Understanding persigue varios objetivos fundamentales:

    • Comprender el problema desde la perspectiva del dominio de aplicación.
    • Definir claramente los objetivos del proyecto.
    • Identificar quién utilizará los resultados.
    • Establecer los criterios que determinarán el éxito del proyecto.
    • Detectar restricciones técnicas, temporales o legales.
    • Transformar un problema del mundo real en un problema susceptible de resolverse mediante ciencia de datos.

    Todos estos objetivos constituyen la base sobre la que se construirá el resto del proyecto.

    Preguntas que debe responder Business Understanding

    Antes de continuar con la metodología, esta fase debería permitir responder, como mínimo, a las siguientes preguntas:

    ¿Cuál es el problema real?

    Debe describirse el problema utilizando el lenguaje propio del dominio, evitando hablar todavía de algoritmos o modelos.

    Por ejemplo:

    Incorrecto

    Desarrollar un modelo de clasificación.

    Correcto

    Identificar qué personas presentan mayor probabilidad de vacunarse frente a la gripe H1N1 para optimizar las campañas de salud pública.

    ¿Por qué es importante resolverlo?

    Todo proyecto debe aportar algún tipo de valor.

    Ese valor puede traducirse en:

    • Reducción de costes.
    • Optimización de recursos.
    • Mejora de procesos.
    • Incremento de beneficios.
    • Apoyo a la toma de decisiones.
    • Generación de conocimiento científico.

    ¿Quién utilizará la solución?

    Es importante identificar a los usuarios finales del proyecto. Conocer a los destinatarios ayuda a orientar correctamente el desarrollo del proyecto. Dependiendo del caso, pueden ser:

    • Empresas.
    • Organismos públicos.
    • Investigadores.
    • Médicos.
    • Ingenieros.
    • Agricultores.
    • Usuarios finales.

    ¿Qué impacto tendrá la solución?

    Debe explicarse cómo contribuirá el proyecto a resolver el problema identificado. Por ejemplo: En un proyecto de predicción del almacenamiento global de agua, un sistema de predicción preciso podría permitir:

    • Anticipar periodos de sequía.
    • Optimizar la gestión de embalses.
    • Mejorar la planificación agrícola.
    • Facilitar la toma de decisiones por parte de las administraciones públicas.

    En un proyecto de predicción de vacunación H1N1, el modelo podría utilizarse para:

    • Identificar grupos con baja probabilidad de vacunación.
    • Diseñar campañas de concienciación más eficaces.
    • Optimizar la distribución de recursos sanitarios.

    Resultado esperado de Business Understanding

    Al finalizar esta fase todavía no se ha analizado ningún dato.

    Sin embargo, el equipo debe disponer de un documento que describa con claridad:

    • El problema que se pretende resolver.
    • El contexto del dominio.
    • Los objetivos del proyecto.
    • Los usuarios o entidades interesados.
    • El impacto esperado.
    • Las restricciones conocidas.
    • Los criterios que determinarán el éxito del proyecto.

    Este documento constituye la referencia para todas las fases posteriores de la metodología y permite asegurar que el desarrollo técnico del proyecto permanezca alineado con el problema real que se desea resolver.

    Flujo de trabajo de Business Understanding

    Aunque cada proyecto presenta características particulares, la fase de Business Understanding suele seguir una secuencia de trabajo bastante similar. El objetivo es comprender completamente el problema antes de comenzar a trabajar con los datos.

    Una metodología reproducible puede estructurarse en las siguientes tareas.

    1. Definir el problema del mundo real

    El primer paso consiste en describir el problema utilizando el lenguaje propio del dominio y no el de la Ciencia de Datos. En esta etapa todavía no se habla de algoritmos, variables o modelos predictivos.

    Por ejemplo:

    Proyecto de almacenamiento global de agua

    Los recursos hídricos disponibles disminuyen debido al cambio climático y a la creciente demanda de agua. Disponer de predicciones precisas del almacenamiento de agua permitiría mejorar la planificación y gestión de estos recursos.

    Proyecto H1N1

    No todas las personas aceptan vacunarse frente a la gripe H1N1. Identificar los factores asociados a la vacunación puede ayudar a mejorar las campañas de salud pública.

    Sistema de detección de fraude

    Las entidades financieras necesitan detectar operaciones fraudulentas antes de que provoquen pérdidas económicas.

    El resultado de esta tarea debe ser una descripción clara del problema que cualquier persona pueda comprender sin necesidad de conocimientos técnicos.

    2. Comprender el dominio del problema

    Una vez definido el problema, es necesario estudiar cómo funciona el dominio en el mundo real. Esta es probablemente la actividad más importante de toda la fase de Business Understanding. El objetivo consiste en responder preguntas como:

    • ¿Cómo funciona realmente el proceso?
    • ¿Qué factores intervienen?
    • ¿Qué conceptos son fundamentales?
    • ¿Qué organismos o entidades participan?
    • ¿Qué indicadores son relevantes?

    Por ejemplo, antes de analizar un conjunto de datos sobre almacenamiento global de agua sería recomendable comprender conceptos como:

    • Ciclo hidrológico.
    • Aguas superficiales.
    • Aguas subterráneas.
    • Humedad del suelo.
    • Evapotranspiración.
    • Cobertura de nieve.
    • Embalses.
    • Acuíferos.
    • Balance hídrico.

    En un proyecto sanitario sería conveniente estudiar previamente:

    • Funcionamiento de la enfermedad.
    • Factores de riesgo.
    • Protocolos médicos.
    • Variables epidemiológicas.
    • Campañas de prevención.

    Este conocimiento permitirá posteriormente interpretar correctamente las variables del conjunto de datos.

    3. Identificar a los interesados (Stakeholders)

    Todo proyecto pretende aportar valor a uno o varios usuarios. Conocer a los usuarios finales ayuda a comprender mejor cuáles son sus necesidades y expectativas. Es importante identificar quién utilizará los resultados obtenidos.

    Algunos ejemplos son:

    • Empresas.
    • Administraciones públicas.
    • Hospitales.
    • Investigadores.
    • Departamentos de marketing.
    • Agricultores.
    • Organismos internacionales.

    4. Definir los objetivos del proyecto

    Una vez comprendido el problema, deben establecerse los objetivos concretos que se pretenden alcanzar. Estos objetivos deben describirse desde la perspectiva del negocio o del dominio de aplicación.

    Por ejemplo:

    Proyecto de almacenamiento global de agua

    • Mejorar la gestión de los recursos hídricos.
    • Anticipar periodos de sequía.
    • Facilitar la planificación agrícola.

    Proyecto H1N1

    • Incrementar la cobertura vacunal.
    • Identificar grupos de riesgo.
    • Optimizar las campañas de vacunación.

    Todavía no se habla del algoritmo que se utilizará.

    5. Identificar restricciones

    Todo proyecto presenta limitaciones que condicionan el desarrollo de la solución. Entre las más habituales se encuentran:

    • Disponibilidad de datos.
    • Calidad de los datos.
    • Tiempo disponible.
    • Recursos computacionales.
    • Restricciones legales.
    • Coste económico.
    • Requisitos de interpretabilidad.

    Estas restricciones deberán tenerse en cuenta durante todo el proyecto.

    6. Identificar riesgos

    También resulta conveniente identificar los posibles riesgos antes de comenzar el análisis.

    Por ejemplo:

    • Datos incompletos.
    • Sesgos en el conjunto de datos.
    • Cambios futuros en el fenómeno estudiado.
    • Errores de medición.
    • Información desactualizada.

    Detectar estos riesgos desde el principio facilita la planificación del proyecto.

    7. Definir los criterios de éxito

    Uno de los errores más frecuentes consiste en considerar que un proyecto tiene éxito simplemente porque el modelo obtiene una buena métrica. En realidad, el éxito debe definirse antes de comenzar el proyecto.

    Algunos ejemplos podrían ser:

    • Superar el rendimiento del modelo base.
    • Alcanzar un determinado valor de ROC-AUC.
    • Reducir el error de predicción.
    • Disminuir el número de falsos negativos.
    • Obtener un modelo suficientemente interpretable.
    • Reducir el tiempo de cálculo.

    Estos criterios servirán posteriormente para evaluar si la solución realmente cumple los objetivos planteados.

    8. Traducir el problema a Ciencia de Datos

    La última tarea consiste en transformar el problema del mundo real en un problema que pueda resolverse mediante técnicas de Ciencia de Datos. Esta transición marca el final de la fase de Business Understanding y el comienzo de la siguiente etapa de la metodología.

    Por ejemplo:

    Problema realProblema de Ciencia de Datos
    Predecir quién aceptará vacunarseProblema de clasificación binaria
    Estimar el almacenamiento futuro de aguaProblema de regresión o series temporales
    Detectar operaciones fraudulentasClasificación binaria
    Recomendar cursos de formaciónSistema de recomendación

    A partir de este momento el proyecto ya está preparado para definir el enfoque analítico (Analytic Approach) y comenzar la planificación técnica de la solución.

    Resultado esperado de la fase

    Al finalizar Business Understanding se debe disponer de un documento que describa de forma clara y estructurada:

    • El problema que se pretende resolver.
    • El contexto del dominio.
    • Los conceptos fundamentales del área de conocimiento.
    • Los objetivos del proyecto.
    • Los usuarios o entidades interesadas.
    • Las restricciones existentes.
    • Los riesgos identificados.
    • Los criterios de éxito.
    • La traducción del problema a un problema de Ciencia de Datos.

    Este documento constituye la referencia para todas las etapas posteriores y permite mantener el proyecto alineado con las necesidades reales del dominio de aplicación, evitando que las decisiones técnicas se tomen desconectadas del problema que se desea resolver.

  • LLM Classification Finetuning

    LLM Classification Finetuning

    Predicción de Preferencias Humanas entre Modelos de Lenguaje (LLM)

    La inteligencia artificial conversacional ha experimentado un crecimiento extraordinario durante los últimos años. Modelos como GPT, Gemini, Claude, Llama o Qwen son capaces de responder preguntas, redactar textos, generar código o resolver problemas complejos. Sin embargo, disponer de un modelo técnicamente potente no garantiza que sus respuestas sean las que los usuarios prefieren.

    En este proyecto participaremos en una competición de Kaggle cuyo objetivo es desarrollar un modelo de aprendizaje automático capaz de predecir qué respuesta será la preferida por un usuario cuando compara las respuestas generadas por dos grandes modelos de lenguaje (LLM). Este tipo de problemas constituye uno de los pilares del desarrollo de asistentes de inteligencia artificial modernos y está estrechamente relacionado con el aprendizaje por refuerzo basado en retroalimentación humana (RLHF).

    Actualmente el proyecto se encuentra en fase de elaboración. En los próximos artículos iremos documentando todo el proceso, desde el análisis exploratorio de los datos hasta la construcción y evaluación de diferentes modelos de Machine Learning y Deep Learning.

    Objetivo del proyecto

    El objetivo consiste en construir un clasificador que, a partir de un prompt y de las respuestas generadas por dos modelos de lenguaje distintos, sea capaz de predecir cuál de ellas será elegida por el usuario.

    Cada conversación pertenece a una de las siguientes categorías:

    • Victoria del Modelo A.
    • Victoria del Modelo B.
    • Empate entre ambas respuestas.

    El modelo deberá estimar la probabilidad de cada una de estas tres clases.

    ¿Por qué es importante este problema?

    Los grandes modelos de lenguaje se utilizan cada vez más en aplicaciones reales como asistentes virtuales, buscadores inteligentes, herramientas de programación o sistemas de atención al cliente.

    Sin embargo, evaluar automáticamente la calidad de una respuesta sigue siendo un problema abierto. Dos respuestas pueden ser técnicamente correctas y, aun así, los usuarios pueden preferir una sobre otra por motivos como:

    • Claridad.
    • Precisión.
    • Longitud adecuada.
    • Naturalidad.
    • Organización de la información.
    • Facilidad de comprensión.

    Aprender estas preferencias humanas permite desarrollar asistentes más útiles y satisfactorios para los usuarios.

    Relación con RLHF

    Esta competición está directamente relacionada con el aprendizaje por refuerzo a partir de retroalimentación humana (Reinforcement Learning from Human Feedback, RLHF).

    En lugar de entrenar un modelo únicamente con datos etiquetados, se utilizan las preferencias reales de los usuarios para construir un modelo de recompensa (Reward Model) capaz de estimar cuál de dos respuestas resulta más atractiva.

    Posteriormente, estos modelos de recompensa pueden emplearse para mejorar el entrenamiento de nuevos LLM mediante técnicas de aprendizaje por refuerzo.

    El conjunto de datos

    Los datos proceden de Chatbot Arena, una plataforma donde miles de usuarios comparan respuestas generadas por distintos modelos de lenguaje sin conocer cuál las ha producido.

    Cada registro contiene información similar a:

    • El prompt introducido por el usuario.
    • La respuesta del Modelo A.
    • La respuesta del Modelo B.
    • La decisión final del usuario.

    Esta información proporciona un conjunto de datos muy valioso para estudiar las preferencias humanas frente a respuestas generadas por inteligencia artificial.

    Métrica de evaluación

    La competición utiliza como métrica la pérdida logarítmica (Log Loss).

    Esta métrica evalúa la calidad de las probabilidades predichas por el modelo. Cuanto menor sea la pérdida logarítmica, mejores serán las predicciones.

    A diferencia de la precisión (Accuracy), la Log Loss penaliza especialmente las predicciones muy seguras cuando resultan incorrectas.

    Tecnologías que utilizaremos

    A lo largo del proyecto exploraremos diferentes enfoques, desde modelos clásicos de Machine Learning hasta modelos basados en Transformers.

    Entre las herramientas previstas se encuentran:

    • Python.
    • Pandas.
    • NumPy.
    • Scikit-learn.
    • LightGBM.
    • XGBoost.
    • CatBoost.
    • Hugging Face Transformers.
    • Sentence Transformers.
    • PyTorch.
    • Plotly para visualización.

    También analizaremos el rendimiento de diferentes técnicas de representación del texto mediante embeddings modernos.

    Metodología del proyecto

    El desarrollo seguirá una metodología completa de ciencia de datos.

    Las principales fases serán:

    1. Comprensión del problema.
    2. Análisis exploratorio de los datos (EDA).
    3. Limpieza y preparación del texto.
    4. Ingeniería de características.
    5. Construcción de modelos base.
    6. Modelos basados en embeddings.
    7. Fine-tuning de Transformers.
    8. Optimización de hiperparámetros.
    9. Validación y evaluación.
    10. Generación de la predicción final para Kaggle.

    Cada etapa contará con su correspondiente notebook y explicación detallada.

    Qué aprenderemos durante el proyecto

    Este proyecto permitirá profundizar en numerosos conceptos relacionados con el procesamiento del lenguaje natural y el aprendizaje automático.

    Entre ellos destacan:

    • Clasificación multiclase.
    • Procesamiento de lenguaje natural (NLP).
    • Representación vectorial de texto.
    • Embeddings.
    • Transformers.
    • Modelos de preferencia.
    • RLHF.
    • Fine-tuning de modelos preentrenados.
    • Validación cruzada.
    • Ensamblado de modelos.

    Estado del proyecto

    Actualmente el proyecto se encuentra en fase inicial.

    En las próximas publicaciones iremos documentando paso a paso el desarrollo completo de la solución, mostrando tanto los aciertos como los problemas encontrados durante el proceso. El objetivo no será únicamente obtener una buena posición en la clasificación de Kaggle, sino construir un proyecto reproducible y con un fuerte enfoque didáctico que sirva como referencia para cualquier persona interesada en el aprendizaje automático aplicado al procesamiento del lenguaje natural.

    Conclusión

    La predicción de preferencias humanas entre respuestas generadas por modelos de lenguaje representa uno de los desafíos más interesantes dentro del campo de la inteligencia artificial actual. Combina técnicas de Machine Learning, Deep Learning y Procesamiento del Lenguaje Natural con un objetivo claramente orientado a mejorar la interacción entre personas y sistemas conversacionales.

    A lo largo de este proyecto exploraremos distintas estrategias para abordar este problema, compararemos múltiples modelos y analizaremos sus resultados de forma rigurosa. Además de participar en la competición de Kaggle, el proyecto servirá como una excelente oportunidad para profundizar en tecnologías que desempeñan un papel fundamental en el desarrollo de los asistentes de inteligencia artificial de última generación.

  • Urban Air Pollution Prediction by Ngao Labs

    Urban Air Pollution Prediction by Ngao Labs

    La contaminación atmosférica representa uno de los mayores desafíos ambientales y de salud pública a nivel mundial. Entre los distintos contaminantes presentes en el aire, las partículas finas PM2.5 son especialmente preocupantes debido a su reducido tamaño, que les permite penetrar profundamente en los pulmones e incluso alcanzar el torrente sanguíneo, aumentando el riesgo de enfermedades respiratorias, cardiovasculares y otros problemas de salud.

    Restricciones sobre la publicación y uso de los datos

    El conjunto de datos utilizado en este proyecto es proporcionado exclusivamente para la participación en la competición Bootcamp Challenge by Ngao Labs: Urban Air Pollution Prediction organizada en la plataforma Zindi.

    De acuerdo con las normas de la competición, los datos no pueden ser redistribuidos, publicados ni compartidos con terceros, incluyendo su publicación en repositorios públicos como GitHub, Kaggle o cualquier otro servicio de almacenamiento accesible públicamente. Asimismo, no está permitido utilizar el conjunto de datos para fines distintos a los contemplados por la competición.

    Por este motivo, este artículo documenta únicamente la metodología empleada, el proceso de análisis, la ingeniería de características, los modelos desarrollados y los resultados obtenidos, sin reproducir ni distribuir el conjunto de datos original. Las visualizaciones, tablas y ejemplos que puedan incluirse respetarán en todo momento las condiciones de uso establecidas por la organización del desafío.

    Estado del proyecto

    En elaboración (la competición comienza el 28 de junio de 2026).

    En este proyecto se desarrollará un modelo de Machine Learning capaz de predecir la concentración diaria de partículas PM2.5 en ciudades de todo el mundo utilizando información meteorológica y observaciones obtenidas por el satélite Sentinel-5P. El objetivo es estimar la calidad del aire incluso en regiones donde no existen estaciones terrestres de monitorización, proporcionando una herramienta de gran utilidad para la vigilancia ambiental y la toma de decisiones.

    Este trabajo forma parte del Bootcamp Challenge by Ngao Labs: Urban Air Pollution Prediction, una competición organizada en la plataforma Zindi cuyo propósito es fomentar el aprendizaje práctico mediante la resolución de problemas reales de ciencia de datos.

    Actualmente la competición aún no ha comenzado, por lo que el conjunto de datos todavía no está disponible para los participantes. Una vez publicado, este proyecto documentará todas las fases del desarrollo, desde el análisis exploratorio de los datos hasta la construcción, evaluación y optimización del modelo predictivo.

    Objetivo del proyecto

    El objetivo principal consiste en construir un modelo de regresión capaz de predecir la concentración diaria de partículas PM2.5 para múltiples ciudades utilizando información procedente de:

    • Observaciones del satélite Sentinel-5P.
    • Variables meteorológicas.
    • Información temporal.
    • Variables ambientales proporcionadas por la organización.

    El reto consiste en aproximar una medida que normalmente requiere sensores terrestres mediante información obtenida desde satélites y otras fuentes ambientales.

    ¿Qué es PM2.5?

    PM2.5 hace referencia a las partículas en suspensión con un diámetro inferior a 2,5 micrómetros, aproximadamente treinta veces más pequeñas que el grosor de un cabello humano.

    Estas partículas pueden permanecer suspendidas en la atmósfera durante largos periodos y desplazarse cientos de kilómetros. Debido a su tamaño, penetran profundamente en el sistema respiratorio y están asociadas con:

    • Enfermedades respiratorias.
    • Enfermedades cardiovasculares.
    • Incremento del riesgo de ictus.
    • Agravamiento del asma.
    • Mayor vulnerabilidad frente a infecciones respiratorias.

    Por ello, la concentración de PM2.5 constituye uno de los principales indicadores utilizados para evaluar la calidad del aire.

    Importancia de la predicción de la calidad del aire

    La monitorización de la calidad del aire depende habitualmente de estaciones terrestres equipadas con sensores especializados. Sin embargo, muchas regiones del mundo, especialmente en países en desarrollo, cuentan con una cobertura muy limitada.

    La utilización de datos satelitales combinados con técnicas de Machine Learning permite estimar los niveles de contaminación incluso en zonas sin infraestructura de medición, facilitando:

    • Sistemas de alerta temprana.
    • Estudios epidemiológicos.
    • Planificación urbana.
    • Evaluación de políticas medioambientales.
    • Investigación sobre cambio climático.
    • Gestión de riesgos para la salud pública.

    Descripción de la competición

    El desafío consiste en predecir la concentración diaria de partículas PM2.5 utilizando información meteorológica y observaciones atmosféricas registradas por el satélite Sentinel-5P.

    El conjunto de datos abarca aproximadamente los últimos tres meses e incluye cientos de ciudades distribuidas por diferentes regiones del mundo.

    Se trata de un problema de aprendizaje supervisado de regresión, donde el objetivo es estimar una variable continua correspondiente a la concentración diaria de PM2.5.

    Tecnologías previstas

    Durante el desarrollo del proyecto se emplearán diferentes herramientas del ecosistema de ciencia de datos en Python, entre ellas:

    • Python
    • Pandas
    • NumPy
    • Matplotlib
    • Seaborn
    • Scikit-learn
    • LightGBM
    • XGBoost (si está permitido por las reglas de la competición)
    • CatBoost
    • Optuna para optimización de hiperparámetros

    La selección definitiva de modelos dependerá de las características del conjunto de datos una vez esté disponible.

    Metodología

    El proyecto seguirá una metodología completa de ciencia de datos que incluirá:

    • Comprensión del problema.
    • Análisis exploratorio de datos (EDA).
    • Limpieza y preparación del conjunto de datos.
    • Ingeniería de características.
    • Selección de variables.
    • Entrenamiento de modelos.
    • Optimización de hiperparámetros.
    • Validación del modelo.
    • Generación de predicciones para la competición.
    • Análisis de resultados y conclusiones.

    Toda la documentación del proceso será publicada progresivamente conforme avance el desarrollo del proyecto.

    Estado actual

    La competición comenzará el 28 de junio de 2026, por lo que en este momento el conjunto de datos todavía no está disponible.

    Una vez publicados los datos se incorporarán nuevas secciones con:

    • Análisis exploratorio.
    • Estudio de valores ausentes.
    • Análisis de correlaciones.
    • Ingeniería de variables.
    • Evaluación de modelos.
    • Comparativa de algoritmos.
    • Resultados obtenidos.
    • Conclusiones finales.

    Próximos pasos

    Tras la apertura oficial de la competición se documentarán todas las fases del proyecto, incluyendo tanto los aspectos técnicos como las decisiones adoptadas durante el desarrollo del modelo predictivo.

    Este artículo se actualizará de forma continua hasta la finalización del proyecto, mostrando el proceso completo seguido para construir una solución de predicción de contaminación atmosférica basada en datos satelitales y técnicas modernas de Machine Learning.

  • Barbados Historic Handwriting Challenge

    Barbados Historic Handwriting Challenge

    La digitalización del patrimonio documental constituye uno de los mayores desafíos actuales dentro de la preservación histórica. Millones de documentos manuscritos permanecen almacenados en archivos de todo el mundo sin estar disponibles en formato digital debido a la dificultad que supone transcribir textos escritos a mano hace siglos.

    El R.O.A.D. Barbados Historic Handwriting Challenge, organizado por Zindi, propone desarrollar un modelo de Inteligencia Artificial capaz de reconocer automáticamente escritura manuscrita histórica procedente de los archivos nacionales de Barbados. El objetivo es convertir imágenes de documentos históricos en texto digital, facilitando su conservación, búsqueda y estudio por parte de investigadores, historiadores y la sociedad en general.

    Estado del proyecto

    Última actualización: 26 de junio de 2026

    🚧 Proyecto en desarrollo

    Objetivo del proyecto

    El objetivo consiste en desarrollar un sistema de Handwritten Text Recognition (HTR) capaz de transcribir correctamente palabras manuscritas presentes en documentos históricos de los siglos XVIII y XIX.

    Cada muestra del conjunto de datos contiene una imagen recortada con una o varias palabras escritas a mano. El modelo deberá aprender a interpretar distintos estilos de escritura antigua, tinta degradada, documentos deteriorados y otras imperfecciones propias del paso del tiempo.

    El resultado esperado es una transcripción textual lo más fiel posible al contenido original.

    El reto

    Este proyecto presenta numerosas dificultades que lo diferencian de un problema clásico de OCR:

    • Escritura manuscrita muy variable.
    • Caligrafía de los siglos XVIII y XIX.
    • Documentos con tinta desvanecida.
    • Papel deteriorado.
    • Manchas y ruido visual.
    • Espaciado irregular entre caracteres y palabras.
    • Diferentes tamaños y estilos de escritura.

    Todo ello convierte este desafío en un problema avanzado de visión por computador y reconocimiento de texto.

    Dataset

    El conjunto de datos está compuesto por aproximadamente 6.000 imágenes obtenidas a partir de documentos históricos reales conservados en los archivos nacionales de Barbados. Cada imagen contiene una línea manuscrita con una o varias palabras.

    Los documentos originales incluyen:

    • Escrituras de propiedad.
    • Testamentos.
    • Inventarios.
    • Registros legales.
    • Documentación administrativa histórica.

    Por razones de licencia, el conjunto de datos únicamente puede utilizarse durante la competición y no puede redistribuirse ni emplearse para otros fines.

    Tecnologías previstas

    Durante el desarrollo del proyecto se evaluarán distintas técnicas empleadas habitualmente en reconocimiento de texto manuscrito, entre ellas:

    • Python
    • PyTorch
    • OpenCV
    • Transformers
    • Vision Transformers (ViT)
    • Modelos CNN + BiLSTM + CTC
    • TrOCR
    • Donut
    • Técnicas de Data Augmentation
    • Beam Search Decoding

    La selección definitiva dependerá de los resultados obtenidos durante la fase experimental.

    Métrica de evaluación

    La competición utiliza una evaluación combinada basada en dos métricas:

    • Character Error Rate (CER), que mide los errores a nivel de carácter.
    • Word Error Rate (WER), que mide los errores a nivel de palabra.

    La puntuación final corresponde a la media ponderada entre ambas métricas, otorgando el mismo peso a cada una.

    Este sistema permite evaluar tanto la precisión ortográfica como la calidad global de la transcripción.

    Estado del proyecto

    Actualmente el proyecto se encuentra en fase de preparación.

    Las siguientes etapas previstas serán:

    • Exploración del dataset.
    • Análisis de las imágenes.
    • Preprocesamiento.
    • Construcción del primer modelo base.
    • Optimización y experimentación con arquitecturas HTR.
    • Evaluación y envío de resultados a la competición.
    • Documentación completa del desarrollo.

    Una vez comience oficialmente la competición, esta página irá incorporando todas las fases del proyecto, desde el análisis exploratorio hasta la construcción del modelo final y las conclusiones obtenidas.

    Próximamente

    Próximamente se publicarán:

    • Exploración del dataset.
    • Análisis de calidad de las imágenes.
    • Preprocesamiento para reconocimiento de escritura.
    • Modelos base de Handwritten Text Recognition.
    • Entrenamiento y validación.
    • Comparativa entre arquitecturas.
    • Resultados y conclusiones finales.
  • Forecasting Global Water Storage Challenge

    Forecasting Global Water Storage Challenge

    Este proyecto documenta el desarrollo de una solución para la competición A Step Ahead of Drought: Forecasting Global Water Storage Challenge, organizada en la plataforma Zindi como parte de la iniciativa AI for Good de la International Telecommunication Union (ITU). La competición comenzará el 7 de julio de 2026, por lo que actualmente el proyecto se encuentra en fase de planificación y preparación del entorno de trabajo. Esta página se actualizará periódicamente durante todo el desarrollo del proyecto.

    Estado del proyecto

    🚧 Proyecto en desarrollo

    Última actualización: 26 de junio de 2026

    Descripción

    La predicción temprana de las sequías representa uno de los mayores desafíos actuales en el ámbito de la hidrología, la climatología y la gestión sostenible de los recursos naturales. A diferencia de otros desastres naturales, las sequías evolucionan lentamente, lo que dificulta detectar con suficiente antelación el deterioro de las reservas de agua y adoptar medidas preventivas que reduzcan su impacto sobre la agricultura, los ecosistemas, el abastecimiento de agua y la economía.

    En esta competición se propone desarrollar un modelo de Machine Learning capaz de predecir el Total Water Storage (TWS) correspondiente al mes siguiente utilizando información obtenida mediante observación satelital y variables hidrológicas relacionadas con el estado del suelo y las condiciones climáticas.

    El Total Water Storage (TWS) representa la cantidad total de agua almacenada sobre y bajo la superficie terrestre, incluyendo aguas subterráneas, humedad del suelo, nieve y aguas superficiales. Estas mediciones son obtenidas por la misión satelital GRACE de la NASA. Sin embargo, los productos oficiales presentan un retraso aproximado de entre dos y tres meses respecto al momento de adquisición, limitando su utilización para la monitorización casi en tiempo real de las condiciones hidrológicas.

    El objetivo principal consiste en construir un modelo capaz de estimar el valor futuro de TWS con un horizonte de predicción de un mes, proporcionando una herramienta que pueda contribuir a una detección más temprana de condiciones de sequía.

    Este proyecto servirá como un caso práctico de aplicación de técnicas avanzadas de Ciencia de Datos sobre un problema real de observación de la Tierra, combinando análisis espacial, series temporales y aprendizaje automático.

    Objetivos del proyecto

    Los principales objetivos que se pretenden alcanzar durante el desarrollo son:

    • Comprender la estructura y características del conjunto de datos proporcionado por la competición.
    • Analizar datos geoespaciales almacenados en formato NetCDF utilizando Python y xarray.
    • Realizar un Análisis Exploratorio de Datos (EDA) específico para variables hidrológicas y climáticas.
    • Estudiar la evolución temporal del almacenamiento total de agua.
    • Desarrollar nuevas variables mediante técnicas de Ingeniería de Características.
    • Construir diferentes modelos de regresión para la predicción del TWS.
    • Comparar distintas estrategias de validación temporal.
    • Analizar la interpretabilidad del modelo mediante técnicas de Explainable AI.
    • Documentar todo el proceso siguiendo buenas prácticas reproducibles.

    Tecnologías previstas

    Durante el desarrollo del proyecto se utilizarán principalmente las siguientes herramientas:

    • Python
    • Pandas
    • NumPy
    • Xarray
    • Scikit-learn
    • LightGBM
    • CatBoost
    • XGBoost
    • Plotly
    • Matplotlib
    • GeoPandas
    • Jupyter Notebook

    Dependiendo de los resultados obtenidos, también se evaluará la utilización de técnicas más avanzadas para modelado espacial y aprendizaje profundo.

    Metodología prevista

    El desarrollo seguirá una metodología estructurada similar a la utilizada en otros proyectos de Ciencia de Datos documentados en este sitio web.

    Las principales fases serán:

    1. Comprensión del problema.
    2. Exploración del conjunto de datos.
    3. Limpieza y preparación de los datos.
    4. Ingeniería de características.
    5. Análisis espacial y temporal.
    6. Entrenamiento de modelos de Machine Learning.
    7. Optimización de hiperparámetros.
    8. Evaluación del rendimiento.
    9. Interpretabilidad del modelo.
    10. Elaboración de la solución final.

    Cada una de estas etapas contará con su propia documentación técnica, análisis y conclusiones.

    Contenido que se irá incorporando

    A medida que avance la competición esta página se actualizará con nuevas secciones, entre las que se incluyen:

    • Introducción al conjunto de datos.
    • Exploración de las variables.
    • Análisis de valores perdidos.
    • Visualizaciones geoespaciales.
    • Análisis temporal del Total Water Storage.
    • Ingeniería de características espaciales y temporales.
    • Desarrollo de modelos base.
    • Comparativa entre algoritmos.
    • Optimización mediante búsqueda de hiperparámetros.
    • Interpretabilidad mediante SHAP.
    • Resultados obtenidos.
    • Conclusiones y trabajo futuro.

    Sobre la competición

    La competición plantea un problema de regresión a gran escala con más de dos millones de observaciones de entrenamiento. Además del rendimiento predictivo, la evaluación final considera aspectos relacionados con la transparencia, la mitigación de sesgos, la reutilización del modelo, la sostenibilidad computacional y la aplicabilidad práctica de la solución desarrollada.

    Este enfoque convierte el reto en una excelente oportunidad para aplicar técnicas modernas de Ciencia de Datos sobre un problema de gran impacto social y medioambiental.

    Estado actual

    Actualmente el proyecto se encuentra en fase de preparación.

    Las primeras tareas previstas serán:

    • Configuración del entorno de trabajo.
    • Descarga y exploración inicial del conjunto de datos.
    • Estudio de la estructura de los archivos NetCDF.
    • Diseño del flujo de trabajo para el análisis exploratorio.
    • Definición de la estrategia de validación temporal.

    Las siguientes actualizaciones se publicarán conforme avance el desarrollo del proyecto y se disponga de nuevos resultados.

    Conclusión

    Este proyecto pretende documentar de forma completa el desarrollo de una solución de Machine Learning para la predicción del almacenamiento total de agua utilizando datos de observación terrestre. Además de buscar un buen rendimiento en la competición, el objetivo es construir una solución reproducible, interpretable y bien documentada que sirva como caso práctico de aplicación de técnicas de Ciencia de Datos, análisis geoespacial y aprendizaje automático sobre un problema real con impacto ambiental.

    Esta página permanecerá en constante actualización hasta la finalización del proyecto, incorporando tanto los avances técnicos como las decisiones de diseño, experimentos y resultados obtenidos durante el desarrollo.

  • Predict H1N1 and Seasonal Flu Vaccines

    Predict H1N1 and Seasonal Flu Vaccines

    El proyecto Predict H1N1 and Seasonal Flu Vaccines tiene como objetivo desarrollar modelos de Machine Learning capaces de predecir si una persona recibirá la vacuna contra la gripe H1N1 y la vacuna contra la gripe estacional a partir de información demográfica, socioeconómica, médica y conductual.

    Este proyecto, basado en la competición de DrivenData, documenta de forma completa todas las etapas de un proyecto de Ciencia de Datos, desde el análisis exploratorio y el tratamiento de datos faltantes hasta la ingeniería de características, la construcción de modelos, la optimización de hiperparámetros y la evaluación del rendimiento mediante la métrica ROC-AUC.

    A lo largo del desarrollo se analizan en detalle los patrones de ausencia de datos, la importancia de las variables, la selección de características y las decisiones tomadas para construir un modelo robusto y reproducible, mostrando un flujo de trabajo completo aplicable a problemas reales de clasificación.

    Articulos relacionados

  • Diferencias, Porcentajes y Márgenes

    Dentro de la Ingeniería de Características (Feature Engineering), las variables derivadas permiten transformar los datos originales en nuevas características que representan mejor el fenómeno que se desea modelar. Entre las transformaciones más utilizadas se encuentran las diferencias, los porcentajes y los márgenes, tres técnicas sencillas pero muy eficaces para enriquecer un conjunto de datos.

    Aunque comparten el objetivo de generar información adicional a partir de variables existentes, cada una responde a necesidades distintas:

    • Las diferencias permiten medir cambios absolutos
    • Los porcentajes expresan relaciones proporcionales
    • Los márgenes cuantifican la ganancia o la diferencia entre ingresos y costes.

    Estas transformaciones aparecen con frecuencia en problemas relacionados con finanzas, marketing, comercio electrónico, industria y analítica empresarial.

    ¿Qué son las diferencias, los porcentajes y los márgenes?

    Las tres son variables derivadas construidas mediante operaciones matemáticas sencillas sobre una o varias variables originales.

    • Diferencias: miden el cambio absoluto entre dos valores.
    • Porcentajes: expresan una relación proporcional respecto a un valor de referencia.
    • Márgenes: representan la diferencia entre ingresos y costes, ya sea en valores absolutos o relativos.

    Aunque sus cálculos son simples, suelen aportar información mucho más útil que las variables originales.

    ¿Por qué son importantes?

    Los modelos de Machine Learning suelen obtener mejores resultados cuando trabajan con variables que representan relaciones significativas en lugar de valores aislados.

    Por ejemplo:

    • El beneficio aporta más información que conocer únicamente las ventas.
    • El porcentaje de conversión es más representativo que el número absoluto de clientes.
    • La diferencia entre temperaturas máxima y mínima puede describir mejor un fenómeno meteorológico que ambas variables por separado.

    Estas transformaciones permiten incorporar conocimiento del dominio directamente al conjunto de datos.

    ¿Cómo funcionan?

    Las tres técnicas parten de variables ya existentes.

    El proceso habitual consiste en:

    1. Identificar variables relacionadas.
    2. Aplicar la operación matemática correspondiente.
    3. Crear una nueva característica.
    4. Validar que la nueva variable aporte información útil.
    5. Incorporarla al modelo de Machine Learning.

    Aunque el procedimiento es sencillo, la selección de variables debe responder a una lógica de negocio o del problema analizado.

    Diferencias

    Las diferencias representan el cambio absoluto entre dos valores. Su fórmula general es:

    $$\text{Diferencia}=Valor_1-Valor_2$$

    Otro ejemplo habitual es la diferencia entre dos momentos temporales.

    Temperatura MáximaTemperatura Mínima
    28 °C18 °C

    Resultado:

    Amplitud Térmica
    10 °C

    Porcentajes

    Los porcentajes representan la proporción de una variable respecto a otra. Su fórmula es:

    $$
    \text{Porcentaje}=
    \frac{Parte}{Total}\times100
    $$

    Permiten comparar observaciones independientemente de su tamaño.

    Ejemplo

    Clientes TotalesClientes Nuevos
    50075

    Resultado:

    Porcentaje Nuevos
    15 %

    Este tipo de variables aparece constantemente en análisis de negocio.

    Márgenes

    Los márgenes representan la diferencia entre ingresos y costes. Pueden expresarse de dos formas.

    Margen absoluto

    $$
    Margen=
    Ingresos-Costes
    $$

    Ejemplo:

    VentasCostes
    50.000 €32.000 €

    Resultado:

    18.000 €

    Margen porcentual

    $$
    Margen=
    \frac{Beneficio}{Ventas}\times100
    $$

    Resultado:

    36 %

    Este indicador resulta especialmente útil para comparar empresas o productos con diferentes niveles de ventas.

    Comparación entre las tres técnicas

    TécnicaQué mideUnidad
    DiferenciasCambio absolutoMisma unidad de la variable
    PorcentajesProporción respecto al totalPorcentaje (%)
    MárgenesGanancia o rentabilidadValor absoluto o porcentaje

    Cada técnica responde a necesidades distintas y puede utilizarse de forma complementaria.

    Ejemplos de aplicación

    Análisis financiero

    Variables originales:

    VentasCostes
    120.000 €90.000 €

    Variables derivadas:

    • Diferencia: 30.000 €
    • Margen: 25 %

    Marketing digital

    Variables originales:

    ImpresionesClics
    50.0002.500

    Variable derivada:

    • Porcentaje de clics (CTR): 5 %

    Recursos humanos

    Variables originales:

    Salario ActualSalario Anterior
    2.300 €2.100 €

    Variable derivada:

    • Diferencia salarial: 200 €

    Beneficios

    La utilización de estas variables derivadas aporta numerosas ventajas.

    • Resumen información relevante.
    • Facilitan la interpretación.
    • Mejoran la representación de los datos.
    • Eliminan parte del efecto del tamaño absoluto.
    • Capturan relaciones entre variables.
    • Incorporan conocimiento del dominio.
    • Pueden mejorar el rendimiento de modelos predictivos.

    En muchos casos, estas nuevas características resultan más informativas que las variables originales.

    ¿Cuándo utilizar estas técnicas?

    Su utilización es recomendable cuando:

    • Existen relaciones claras entre variables.
    • Se desea comparar entidades de distinto tamaño.
    • Se trabaja con indicadores financieros.
    • Se analizan cambios temporales.
    • Se necesita medir productividad o eficiencia.
    • Se desarrollan indicadores de negocio.

    Son especialmente útiles cuando el comportamiento relativo tiene más importancia que los valores absolutos.

    Ventajas y desventajas

    VentajasDesventajas
    Muy fáciles de calcularNo siempre aportan información adicional
    Fácil interpretaciónPueden generar redundancia con otras variables
    Mejoran algunos modelos predictivosLos porcentajes requieren controlar divisiones por cero
    Incorporan conocimiento del negocioLos márgenes dependen del contexto empresarial
    Reducen la dependencia de los valores absolutosAlgunas diferencias pueden ser poco representativas

    Limitaciones

    Aunque son transformaciones muy utilizadas, presentan algunas limitaciones.

    • No todas las diferencias tienen significado práctico.
    • Los porcentajes pueden producir valores indefinidos cuando el denominador es cero.
    • Los márgenes solo son aplicables cuando existe una relación entre ingresos y costes.
    • Algunas variables derivadas pueden estar altamente correlacionadas.
    • En determinados problemas pueden resultar insuficientes para representar relaciones complejas.

    Por ello, suelen combinarse con otras técnicas de Ingeniería de Características.

    Comparación con otras variables derivadas

    TécnicaComplejidadAplicaciones
    DiferenciasBajaCambios absolutos
    PorcentajesBajaProporciones
    MárgenesBajaRentabilidad
    RatiosMediaRelaciones entre variables
    Tasas de crecimientoMediaEvolución temporal
    Índices compuestosAltaVariables sintéticas

    Estas técnicas representan un primer nivel de Ingeniería de Características y suelen utilizarse como base para transformaciones más avanzadas.

    Aplicaciones en Data Science y Machine Learning

    Las diferencias, porcentajes y márgenes aparecen en numerosos dominios.

    Algunas aplicaciones incluyen:

    • Predicción de ventas.
    • Scoring crediticio.
    • Detección de fraude.
    • Marketing digital.
    • Comercio electrónico.
    • Análisis financiero.
    • Recursos humanos.
    • Analítica deportiva.
    • Salud.
    • Industria.
    • Turismo y hotelería.
    • Business Intelligence.

    En todos estos ámbitos permiten construir variables con un elevado significado práctico.

    Implementación en Python

    Crear una diferencia

    import pandas as pd
    
    df = pd.DataFrame({
        'ventas': [120000, 95000],
        'costes': [90000, 70000]
    })
    
    df['beneficio'] = (
        df['ventas'] -
        df['costes']
    )
    
    print(df)
    

    Resultado:

       ventas  costes  beneficio
    0  120000   90000      30000
    1   95000   70000      25000

    Calcular diferencias temporales

    df = pd.DataFrame({
        'ventas': [100, 120, 135, 150]
    })
    
    df['diferencia'] = (
        df['ventas']
          .diff()
    )
    
    print(df)
    

    Resultado:

       ventas  diferencia
    0     100         NaN
    1     120        20.0
    2     135        15.0
    3     150        15.0

    Crear un porcentaje

    df = pd.DataFrame({
        'clientes': [500, 800],
        'clientes_nuevos': [75, 120]
    })
    
    df['porcentaje_nuevos'] = (
        df['clientes_nuevos'] /
        df['clientes']
    ) * 100
    
    print(df)
    

    Evitar divisiones por cero

    import numpy as np
    
    df['porcentaje'] = np.where(
        df['clientes'] != 0,
        (
            df['clientes_nuevos'] /
            df['clientes']
        ) * 100,
        np.nan
    )
    

    Calcular un margen absoluto

    df = pd.DataFrame({
        'ventas': [80000, 120000],
        'costes': [50000, 90000]
    })
    
    df['margen'] = (
        df['ventas'] -
        df['costes']
    )
    

    Calcular un margen porcentual

    df['margen_pct'] = (
        df['margen'] /
        df['ventas']
    ) * 100
    

    Crear varias variables derivadas simultáneamente

    df = pd.DataFrame({
        'ventas': [100000],
        'costes': [70000],
        'clientes': [500],
        'clientes_nuevos': [60]
    })
    
    df['beneficio'] = df['ventas'] - df['costes']
    
    df['margen_pct'] = (
        df['beneficio'] /
        df['ventas']
    ) * 100
    
    df['porcentaje_nuevos'] = (
        df['clientes_nuevos'] /
        df['clientes']
    ) * 100
    

    Buenas prácticas

    Para utilizar correctamente estas variables derivadas se recomienda:

    • Seleccionar variables con una relación lógica clara.
    • Controlar las divisiones por cero antes de calcular porcentajes o márgenes relativos.
    • Analizar la distribución de las nuevas variables.
    • Validar su contribución al rendimiento del modelo.
    • Documentar las fórmulas utilizadas.
    • Evitar crear variables redundantes.
    • Incorporar estas transformaciones dentro de pipelines reproducibles.
    • Complementarlas con otras técnicas de Ingeniería de Características cuando el problema lo requiera.

    Conclusión

    Las diferencias, los porcentajes y los márgenes constituyen algunas de las transformaciones más sencillas y, al mismo tiempo, más útiles dentro de la Ingeniería de Características. A partir de operaciones matemáticas básicas es posible generar variables que describen cambios absolutos, relaciones proporcionales o indicadores de rentabilidad, aportando una representación más rica y significativa de los datos.

    Aunque su implementación es relativamente simple, estas variables suelen desempeñar un papel importante en modelos de Machine Learning orientados a problemas de negocio, análisis financiero, marketing o series temporales. Utilizadas de forma adecuada y combinadas con otras técnicas de Ingeniería de Características, permiten enriquecer los conjuntos de datos y mejorar tanto la capacidad predictiva como la interpretabilidad de los modelos.

  • Índices Compuestos

    En numerosos proyectos de Data Science, una única variable no es suficiente para describir un fenómeno complejo. Conceptos como el riesgo financiero, la satisfacción de un cliente, el rendimiento académico o el estado de salud dependen de múltiples factores que interactúan entre sí. Analizar estas variables de forma individual puede dificultar la interpretación y limitar la capacidad predictiva de los modelos.

    Los índices compuestos son una técnica de Ingeniería de Características que permite combinar varias variables en una única característica sintética capaz de representar un concepto complejo de forma más compacta y significativa. Estos índices facilitan el análisis, reducen la dimensionalidad y, en muchos casos, mejoran el rendimiento de los modelos de Machine Learning.

    Su utilización es habitual en áreas como la economía, las finanzas, la medicina, el marketing, la industria y las ciencias sociales, donde es necesario resumir información procedente de múltiples indicadores.

    ¿Qué son los índices compuestos?

    Un índice compuesto es una variable derivada creada mediante la combinación de dos o más variables relacionadas con el objetivo de representar un concepto o dimensión que no puede medirse directamente mediante una única característica.

    A diferencia de un ratio, que relaciona dos variables mediante una división, un índice compuesto integra múltiples indicadores en una sola medida.

    Por ejemplo, para medir el riesgo de un cliente podrían combinarse las siguientes variables:

    EdadIngresosEndeudamientoHistorial de Pagos
    4545.000 €35 %Bueno

    Estas variables podrían utilizarse para construir un Índice de Riesgo Crediticio, que resuma el perfil del cliente en una única puntuación.

    ¿Por qué son importantes?

    Muchos fenómenos del mundo real son multidimensionales y no pueden describirse adecuadamente mediante una sola variable.

    Por ejemplo:

    • La calidad de vida depende de ingresos, educación, salud y seguridad.
    • El rendimiento de un empleado depende de productividad, puntualidad, calidad del trabajo y satisfacción del cliente.
    • El riesgo financiero depende de ingresos, deudas, patrimonio y comportamiento de pago.

    Los índices compuestos permiten sintetizar toda esta información en una única variable con mayor capacidad explicativa.

    ¿Cómo funcionan los índices compuestos?

    El proceso consiste en combinar varias variables mediante una regla matemática previamente definida. Generalmente incluye los siguientes pasos:

    1. Seleccionar las variables relevantes.
    2. Normalizar o estandarizar las variables si poseen escalas diferentes.
    3. Definir la importancia o peso de cada variable.
    4. Combinar las variables mediante una fórmula.
    5. Validar que el índice represente adecuadamente el fenómeno estudiado.

    El resultado es una nueva característica que resume la información contenida en varias variables originales.

    Componentes de un índice compuesto

    La mayoría de los índices compuestos incluyen tres elementos fundamentales.

    • Variables de entrada: Son las características originales utilizadas para construir el índice. Ejemplo: ingresos, endeudamiento, historial crediticio.
    • Normalización: Permite llevar todas las variables a una escala comparable. Algunas técnicas habituales son:
      • Min-Max Scaling.
      • Estandarización (Standard Scaling).
      • Escalado robusto.
      • Normalización por percentiles.
    • Método de agregación: Consiste en combinar las variables mediante una regla matemática. Puede utilizarse:
      • Suma.
      • Promedio.
      • Promedio ponderado.
      • Funciones matemáticas específicas.
      • Métodos estadísticos.

    Tipos de índices compuestos

    Existen diferentes formas de construir un índice compuesto.

    • Promedio simple: Todas las variables tienen la misma importancia.

    $$
    Índice=
    \frac{X_1+X_2+X_3}{3}
    $$

    • Promedio ponderado: Cada variable recibe un peso diferente. Es el método más utilizado en aplicaciones reales.

    $$
    Índice=
    0.5X_1+
    0.3X_2+
    0.2X_3
    $$

    • Índices basados en puntuaciones: Cada variable se transforma previamente en una puntuación común. Ejemplo:
    VariablePuntuación
    Ingresos80
    Endeudamiento60
    Historial95

    Índice final: 78.3

    • Índices basados en componentes principales: Se construyen utilizando técnicas como el Análisis de Componentes Principales (PCA) para resumir múltiples variables en una o varias componentes sintéticas. Este enfoque es especialmente útil cuando existe una fuerte correlación entre las variables.

    Ejemplos de índices compuestos

    Índice de salud

    PresiónIMCGlucosa
    1202490

    El índice resume el estado general de salud del paciente.

    Índice de satisfacción

    AtenciónCalidadTiempo de Espera
    987

    Se obtiene una puntuación global de satisfacción.

    Índice financiero

    LiquidezRentabilidadSolvencia
    1.812 %2.5

    El índice representa la salud financiera de la empresa.

    Beneficios de los índices compuestos

    La utilización de índices compuestos aporta numerosas ventajas.

    • Resumen múltiples variables en una sola.
    • Facilitan la interpretación.
    • Reducen la dimensionalidad.
    • Incorporan conocimiento del dominio.
    • Mejoran la representación de fenómenos complejos.
    • Pueden incrementar la capacidad predictiva.
    • Simplifican el análisis exploratorio.

    En muchos modelos, un índice compuesto puede aportar más información que las variables individuales por separado.

    ¿Cuándo utilizar índices compuestos?

    Es recomendable utilizarlos cuando:

    • Existen múltiples variables relacionadas.
    • Se desea representar un concepto abstracto.
    • Hay variables altamente correlacionadas.
    • Se busca simplificar el modelo.
    • Se requiere construir indicadores de negocio.
    • Se pretende mejorar la interpretabilidad.

    Son especialmente útiles cuando varias variables describen distintas dimensiones del mismo fenómeno.

    Ventajas y desventajas

    VentajasDesventajas
    Reducen la dimensionalidadRequieren definir una fórmula adecuada
    Facilitan la interpretaciónUna mala ponderación puede introducir sesgos
    Integran múltiples indicadoresPueden ocultar información individual
    Incorporan conocimiento del negocioLa construcción puede ser subjetiva
    Mejoran algunos modelos predictivosRequieren validación continua

    Limitaciones

    Aunque son una herramienta muy potente, presentan algunas limitaciones.

    • La elección de los pesos puede ser subjetiva.
    • Un índice mal diseñado puede perder información importante.
    • Es posible introducir correlaciones artificiales.
    • Algunas variables requieren normalización previa.
    • No existe una fórmula universal válida para todos los problemas.
    • Los índices deben actualizarse cuando cambian las condiciones del negocio.

    Por ello, su construcción debe apoyarse en criterios estadísticos y conocimiento del dominio.

    Índices compuestos vs ratios

    Índices CompuestosRatios
    Combinan múltiples variablesRelacionan dos variables
    Representan conceptos complejosRepresentan proporciones
    Suelen requerir normalizaciónNormalmente no requieren normalización
    Pueden utilizar ponderacionesGeneralmente utilizan una única división
    Reducen la dimensionalidadMantienen una relación directa entre dos variables

    Ambas técnicas son complementarias y pueden utilizarse conjuntamente en un mismo proyecto.

    Índices compuestos y Machine Learning

    El impacto depende del algoritmo utilizado.

    AlgoritmoBeneficio Potencial
    Regresión LinealAlto
    Regresión LogísticaAlto
    K-Nearest Neighbors (KNN)Moderado
    Support Vector Machine (SVM)Alto
    Árboles de DecisiónModerado
    Random ForestModerado
    XGBoostModerado
    LightGBMModerado
    Redes NeuronalesVariable

    Los índices compuestos suelen ser especialmente útiles cuando condensan información relevante procedente de múltiples variables correlacionadas.

    Aplicaciones en Data Science y Machine Learning

    Los índices compuestos tienen aplicaciones en numerosos sectores.

    Algunas de las más habituales son:

    • Scoring crediticio.
    • Evaluación del riesgo financiero.
    • Diagnóstico médico.
    • Segmentación de clientes.
    • Predicción de abandono de clientes (Churn).
    • Marketing digital.
    • Recursos humanos.
    • Educación.
    • Industria manufacturera.
    • Turismo y hotelería.
    • Economía.
    • Ciencias sociales.

    En todos estos ámbitos permiten representar conceptos complejos mediante una única variable fácilmente interpretable.

    Implementación en Python

    Crear un índice mediante promedio simple

    import pandas as pd
    
    df = pd.DataFrame({
        'calidad': [8, 7, 9],
        'servicio': [9, 8, 8],
        'precio': [7, 6, 9]
    })
    
    df['indice_satisfaccion'] = (
        df[['calidad', 'servicio', 'precio']]
        .mean(axis=1)
    )
    
    print(df)
    

    Crear un índice ponderado

    import pandas as pd
    
    df = pd.DataFrame({
        'ingresos': [80, 60, 90],
        'historial': [95, 70, 98],
        'endeudamiento': [40, 80, 35]
    })
    
    df['indice_riesgo'] = (
        0.4 * df['ingresos'] +
        0.4 * df['historial'] +
        0.2 * (100 - df['endeudamiento'])
    )
    
    print(df)
    

    En este ejemplo, el endeudamiento se invierte porque un valor menor representa un menor riesgo.

    Normalizar variables antes de construir el índice

    from sklearn.preprocessing import MinMaxScaler
    
    scaler = MinMaxScaler()
    
    variables = ['ingresos', 'historial', 'endeudamiento']
    
    df[variables] = scaler.fit_transform(df[variables])
    

    La normalización evita que las variables con escalas mayores dominen el índice.

    Crear un índice mediante PCA

    from sklearn.decomposition import PCA
    
    pca = PCA(n_components=1)
    
    df['indice_pca'] = pca.fit_transform(
        df[['ingresos', 'historial', 'endeudamiento']]
    )
    

    En este caso, el índice se obtiene automáticamente a partir de la primera componente principal.

    Buenas prácticas

    Para construir índices compuestos de calidad se recomienda:

    • Seleccionar variables que representen el mismo concepto.
    • Normalizar las variables cuando utilicen escalas distintas.
    • Justificar los pesos asignados mediante criterios estadísticos o conocimiento del dominio.
    • Evitar incluir variables redundantes.
    • Validar el comportamiento del índice mediante análisis exploratorio.
    • Evaluar su impacto sobre el modelo mediante validación cruzada.
    • Documentar claramente la fórmula utilizada.
    • Revisar periódicamente el índice para garantizar que continúa representando adecuadamente el fenómeno analizado.

    Conclusión

    Los índices compuestos constituyen una técnica de Ingeniería de Características que permite sintetizar múltiples variables en una única característica representativa de un concepto complejo. Mediante la combinación de indicadores relacionados, es posible reducir la dimensionalidad, facilitar la interpretación de los datos y enriquecer la información disponible para los modelos de Machine Learning.

    Su utilización es especialmente frecuente en problemas donde intervienen múltiples dimensiones, como el riesgo financiero, la satisfacción del cliente, la salud o el rendimiento organizacional. Aunque su construcción requiere una cuidadosa selección de variables, una adecuada normalización y una definición justificada de los pesos, los índices compuestos pueden convertirse en variables altamente informativas y contribuir de forma significativa a mejorar la capacidad predictiva y la interpretabilidad de los modelos analíticos.

  • Tasas de Crecimiento

    Las variables temporales contienen una gran cantidad de información sobre la evolución de un fenómeno a lo largo del tiempo. Sin embargo, en muchos casos los valores absolutos no reflejan adecuadamente la dinámica de cambio de una variable. Dos empresas pueden registrar el mismo volumen de ventas, pero una puede estar creciendo rápidamente mientras la otra experimenta una disminución constante.

    Las tasas de crecimiento son una técnica de Ingeniería de Características que permite medir la variación relativa de una variable entre dos o más periodos. Estas nuevas características proporcionan información sobre la velocidad y dirección del cambio, convirtiéndose en variables altamente predictivas en numerosos problemas de Data Science y Machine Learning.

    Su utilización es especialmente frecuente en análisis financieros, predicción de ventas, economía, marketing, analítica web y modelos basados en series temporales.

    ¿Qué son las tasas de crecimiento?

    Una tasa de crecimiento es una variable derivada que expresa el cambio relativo de una magnitud respecto a un periodo anterior. A diferencia de una diferencia absoluta, que mide únicamente cuánto ha aumentado o disminuido un valor, la tasa de crecimiento indica qué porcentaje representa dicho cambio respecto al valor inicial.

    La fórmula más utilizada es:

    $$\text{Tasa de Crecimiento} = \frac{Valor_{actual}-Valor_{anterior}} {Valor_{anterior}} $$

    Generalmente se expresa como porcentaje:

    $$
    \text{Tasa de Crecimiento (%)} =
    \frac{Valor_{actual}-Valor_{anterior}}
    {Valor_{anterior}}
    \times100
    $$

    ¿Por qué son importantes?

    Las tasas de crecimiento permiten comparar la evolución de entidades con tamaños muy diferentes.

    Por ejemplo:

    EmpresaVentas Año 1Ventas Año 2
    A1.000.000 €1.100.000 €
    B100.000 €150.000 €

    En términos absolutos:

    • Empresa A aumenta 100.000 €.
    • Empresa B aumenta 50.000 €.

    Sin embargo:

    EmpresaCrecimiento
    A10 %
    B50 %

    Ahora resulta evidente que la empresa B presenta un crecimiento mucho mayor.

    ¿Cómo funcionan las tasas de crecimiento?

    El proceso consiste en comparar una observación con otra correspondiente a un periodo anterior. Generalmente se siguen estos pasos:

    1. Ordenar los datos cronológicamente.
    2. Seleccionar el periodo de referencia.
    3. Calcular la diferencia relativa.
    4. Crear una nueva variable con la tasa de crecimiento.
    5. Incorporar la característica al conjunto de datos.

    Tipos de tasas de crecimiento

    • Crecimiento absoluto: Representa únicamente la diferencia entre dos periodos. \( Valor_{actual}-Valor_{anterior}\)
    • Crecimiento porcentual: Expresa el cambio relativo respecto al periodo anterior. Ejemplo: de 200 a 260 creció un 30%.
    • Crecimiento interanual (Year over Year – YoY): Compara un periodo con el mismo periodo del año anterior. Ejemplo: enero de 2024 vs enero de 2025. Permite eliminar efectos estacionales.
    • Crecimiento mensual (Month over Month – MoM): Compara un mes respecto al inmediatamente anterior. Ejemplo: marzo respecto a febrero. Es muy utilizado para seguimiento operativo.
    • Variación acumulada: representa el crecimiento total experimentado durante varios periodos consecutivos. Este indicador permite evaluar la evolución global de una serie temporal sin limitarse únicamente a las variaciones entre periodos consecutivos.
    • Crecimiento compuesto anual (CAGR): El Compound Annual Growth Rate (CAGR) representa la tasa media anual de crecimiento durante varios años. Su fórmula es:

    $$
    CAGR=
    \left(
    \frac{Valor_{final}}
    {Valor_{inicial}}
    \right)^{\frac{1}{n}}-1
    $$

    donde:

    • (n) representa el número de años.

    Es ampliamente utilizado en finanzas y planificación estratégica.

    Beneficios de utilizar tasas de crecimiento

    • Capturan tendencias temporales.
    • Normalizan cambios entre entidades de distinto tamaño.
    • Mejoran la capacidad predictiva.
    • Detectan aceleraciones y desaceleraciones.
    • Facilitan comparaciones históricas.
    • Reflejan la evolución del negocio.
    • Incorporan información dinámica al modelo.

    En muchos casos, la tendencia resulta más relevante que el valor absoluto.

    ¿Cuándo utilizar tasas de crecimiento?

    • Existen datos temporales.
    • Se analizan series cronológicas.
    • Se desea estudiar tendencias.
    • Se trabaja con ventas o ingresos.
    • Se monitorizan indicadores empresariales.
    • Se desarrollan modelos de forecasting.
    • Se buscan variables derivadas temporales.

    Son especialmente útiles cuando el comportamiento a lo largo del tiempo influye en la variable objetivo.

    Ventajas y desventajas

    VentajasDesventajas
    Reflejan la evolución temporalNo pueden calcularse para la primera observación
    Eliminan el efecto del tamaño absolutoSensibles a valores iniciales pequeños
    Mejoran la interpretaciónPueden producir valores extremos
    Capturan tendenciasRequieren datos ordenados cronológicamente
    Muy útiles en forecastingSon sensibles a valores atípicos

    Limitaciones

    Aunque son ampliamente utilizadas, presentan algunas limitaciones.

    • Requieren información histórica.
    • No pueden calcularse cuando el valor anterior es cero.
    • Son sensibles a pequeñas variaciones en denominadores reducidos.
    • Pueden amplificar el efecto de valores atípicos.
    • No representan adecuadamente cambios altamente irregulares.
    • En series muy volátiles pueden generar ruido.

    Por ello, en ocasiones se combinan con medias móviles u otras técnicas de suavizado.

    Tasas de crecimiento vs diferencias absolutas

    Diferencias AbsolutasTasas de Crecimiento
    Miden cambios en unidadesMiden cambios relativos
    Dependen de la escalaIndependientes del tamaño
    Dificultan comparacionesFacilitan comparaciones
    Más fáciles de interpretarMás útiles para analizar tendencias
    No reflejan proporcionalidadExpresan variación porcentual

    Ambas medidas son complementarias y pueden utilizarse conjuntamente.

    Tasas de crecimiento y Machine Learning

    Su impacto depende del algoritmo empleado.

    AlgoritmoBeneficio Potencial
    Regresión LinealMuy alto
    Regresión LogísticaAlto
    Árboles de DecisiónAlto
    Random ForestAlto
    XGBoostMuy alto
    LightGBMMuy alto
    Redes NeuronalesAlto
    Modelos de Series TemporalesMuy alto

    Las tasas de crecimiento suelen aportar información muy valiosa porque representan la evolución temporal de las variables.

    Aplicaciones en Data Science y Machine Learning

    Las tasas de crecimiento aparecen en numerosos sectores. Algunas aplicaciones incluyen:

    • Predicción de ventas.
    • Forecasting financiero.
    • Comercio electrónico.
    • Marketing digital.
    • Analítica web.
    • Predicción de demanda.
    • Detección de abandono de clientes.
    • Economía.
    • Energía.
    • Industria manufacturera.
    • Recursos humanos.
    • Turismo y hotelería.

    En cualquier problema donde exista una dimensión temporal, las tasas de crecimiento pueden convertirse en variables altamente predictivas.

    Implementación en Python

    Calcular crecimiento porcentual

    Pandas incorpora el método pct_change(), diseñado específicamente para calcular la variación porcentual entre observaciones consecutivas.

    import pandas as pd
    
    df = pd.DataFrame({
        'ventas': [100, 120, 150, 180]
    })
    
    df['crecimiento'] = (
        df['ventas']
        .pct_change()
    )
    
    print(df)
    
       ventas  crecimiento
    0     100          NaN
    1     120     0.200000
    2     150     0.250000
    3     180     0.200000
    

    Expresar el crecimiento como porcentaje

    df['crecimiento_pct'] = (
        df['ventas']
        .pct_change() * 100
    )
    0     NaN
    1    20.0
    2    25.0
    3    20.0
    

    Calcular crecimiento respecto a varios periodos

    El parámetro periods permite comparar con observaciones anteriores distintas de la inmediatamente anterior.

    df['crecimiento_2_periodos'] = (
        df['ventas']
        .pct_change(periods=2)
    )

    Esto resulta útil para analizar tendencias de mayor plazo.

    Calcular crecimiento manualmente

    df['crecimiento_manual'] = (
        (df['ventas'] - df['ventas'].shift(1))
        / df['ventas'].shift(1)
    )

    Esta implementación muestra explícitamente la fórmula matemática utilizada.

    Calcular CAGR

    import numpy as np
    
    valor_inicial = 100
    valor_final = 180
    años = 3
    
    cagr = (
        (valor_final / valor_inicial) ** (1 / años)
    ) - 1
    
    print(f"CAGR: {cagr:.2%}")
    
    CAGR: 21.64%

    Evitar divisiones por cero

    import numpy as np
    
    df['crecimiento'] = np.where(
        df['ventas'].shift(1) != 0,
        (
            (df['ventas'] - df['ventas'].shift(1))
            / df['ventas'].shift(1)
        ),
        np.nan
    )

    Esta práctica evita errores cuando el valor del periodo anterior es igual a cero.

    Buenas prácticas

    • Ordenar siempre los datos cronológicamente antes de realizar el cálculo.
    • Verificar la calidad de las fechas y periodos.
    • Controlar divisiones por cero.
    • Analizar la presencia de valores extremos.
    • Utilizar ventanas temporales coherentes con el problema.
    • Complementar las tasas de crecimiento con variables de nivel absoluto.
    • Validar su impacto mediante validación cruzada.
    • Documentar claramente el periodo utilizado para el cálculo.

    Conclusión

    Las tasas de crecimiento constituyen una de las variables derivadas más útiles dentro de la Ingeniería de Características cuando se trabaja con datos temporales. Al medir la variación relativa entre distintos periodos, permiten capturar tendencias, aceleraciones y cambios en el comportamiento de una variable que no son evidentes a partir de los valores absolutos.

    Su aplicación es habitual en áreas como las finanzas, el marketing, el comercio electrónico, la economía y la predicción de demanda, donde la evolución temporal desempeña un papel fundamental. Aunque requieren un tratamiento cuidadoso de aspectos como el orden cronológico, los valores iniciales iguales a cero y la presencia de datos atípicos, las tasas de crecimiento pueden aportar un elevado valor predictivo y mejorar significativamente el rendimiento de los modelos de Machine Learning cuando se diseñan y validan correctamente.