Categoría: data science

  • Similitud de Pearson

    La Similitud de Pearson, basada en el Coeficiente de Correlación de Pearson, es una de las medidas de similitud más utilizadas en los sistemas de recomendación, especialmente en los enfoques de Filtrado Colaborativo (Collaborative Filtering). A diferencia de otras métricas que comparan directamente los valores de dos vectores, la similitud de Pearson evalúa la relación lineal entre ellos, teniendo en cuenta cómo varían respecto a su propia media.

    Esta característica permite identificar usuarios o elementos que presentan patrones de comportamiento similares, incluso cuando utilizan escalas de valoración diferentes. Por ejemplo, un usuario puede puntuar habitualmente entre 4 y 5 estrellas, mientras que otro utiliza con mayor frecuencia valores entre 2 y 3. Aunque sus puntuaciones absolutas sean distintas, ambos pueden mostrar preferencias muy similares. La correlación de Pearson es capaz de detectar esta relación.

    En este artículo se analizan los fundamentos, funcionamiento, ventajas, limitaciones e implementación práctica de la Similitud de Pearson en Python.

    ¿Qué es la Similitud de Pearson?

    La Similitud de Pearson es una medida estadística que cuantifica el grado de relación lineal entre dos conjuntos de valores.

    En sistemas de recomendación se utiliza para comparar:

    • Usuarios.
    • Productos.
    • Películas.
    • Libros.
    • Canciones.
    • Cualquier elemento representado mediante un conjunto de valoraciones.

    Su cálculo se basa en el Coeficiente de Correlación de Pearson, definido por la siguiente expresión:

    $$
    r=
    \frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}
    {\sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2}
    \sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}}
    $$

    donde:

    • \(x_i\) representa los valores del primer vector.
    • \(y_i\) representa los valores del segundo vector.
    • \(\bar{x}[latex] y [latex]\bar{y}\) son las medias de ambos vectores.

    El resultado indica el grado de asociación lineal entre ambos conjuntos de datos.

    ¿Cómo funciona?

    La Similitud de Pearson no compara directamente las puntuaciones, sino el comportamiento relativo de cada usuario o elemento respecto a su propia media.

    El proceso general consiste en:

    1. Calcular la media de cada vector.
    2. Restar la media a cada valor.
    3. Calcular el producto entre ambas desviaciones.
    4. Normalizar mediante las desviaciones estándar.
    5. Obtener una puntuación comprendida entre -1 y 1.

    Este enfoque permite eliminar el efecto de las diferencias individuales de escala.

    Interpretación de los valores

    El coeficiente de Pearson siempre se encuentra dentro del intervalo:

    $$
    -1 \le r \le 1
    $$

    La interpretación es la siguiente.

    ValorInterpretación
    1Correlación positiva perfecta
    0.8 a 1Muy alta similitud
    0.5 a 0.8Similitud moderada
    0Sin relación lineal
    -0.5 a 0Relación negativa moderada
    -1Correlación negativa perfecta

    En sistemas de recomendación normalmente interesan las correlaciones positivas elevadas.

    Ejemplo conceptual

    Supongamos dos usuarios que valoran varias películas.

    PelículaUsuario AUsuario B
    Acción53
    Drama42
    Ciencia ficción53
    Comedia21

    Aunque el Usuario B puntúa sistemáticamente dos estrellas menos, ambos muestran exactamente el mismo patrón de preferencias.

    La Similitud de Pearson detectará una correlación muy próxima a 1, mientras que otras métricas basadas únicamente en las diferencias absolutas podrían considerar que ambos usuarios son menos similares.

    Diferencia respecto a la Similitud del Coseno

    Aunque ambas métricas comparan vectores, presentan diferencias importantes.

    • La Similitud del Coseno compara la dirección de los vectores.
    • La Similitud de Pearson compara cómo varían los valores respecto a sus medias.

    Esto hace que Pearson resulte más adecuada cuando distintos usuarios utilizan escalas de valoración diferentes.

    ¿Por qué es importante en los sistemas de recomendación?

    En muchos sistemas de recomendación, cada usuario posee un estilo propio al asignar puntuaciones.

    Por ejemplo:

    UsuarioEscala habitual
    Usuario A4–5 estrellas
    Usuario B2–3 estrellas

    Aunque ambos disfruten exactamente de las mismas películas, sus puntuaciones absolutas serán distintas.

    La Similitud de Pearson elimina este sesgo individual y permite identificar patrones de preferencia similares.

    Por esta razón, ha sido una de las métricas clásicas del Filtrado Colaborativo Basado en Usuarios (User-Based Collaborative Filtering).

    Beneficios

    La Similitud de Pearson ofrece numerosas ventajas.

    • Tiene en cuenta las diferencias individuales de escala.
    • Detecta patrones de comportamiento similares.
    • Reduce el efecto del sesgo en las valoraciones.
    • Produce resultados fácilmente interpretables.
    • Funciona especialmente bien con datos de puntuaciones.
    • Es ampliamente utilizada en sistemas de recomendación clásicos.
    • Se encuentra implementada en numerosas bibliotecas de Machine Learning.

    ¿Cuándo utilizar la Similitud de Pearson?

    Es recomendable utilizarla cuando:

    • Se comparan usuarios mediante puntuaciones.
    • Existen diferencias en la escala utilizada por cada usuario.
    • Se desarrollan sistemas de Filtrado Colaborativo.
    • Se analizan relaciones lineales entre variables.
    • Se trabaja con matrices Usuario-Ítem.
    • Se desea identificar usuarios con gustos similares.

    No suele ser la mejor opción para datos binarios o representaciones TF-IDF.

    Ventajas y desventajas

    VentajasDesventajas
    Elimina el efecto de la escala individualSolo detecta relaciones lineales
    Muy adecuada para valoracionesSensible a valores atípicos
    Fácil interpretaciónRequiere suficientes elementos comunes
    Muy utilizada en Filtrado ColaborativoNo funciona bien con datos muy dispersos
    Compensa diferencias entre usuariosPuede ser inestable con pocas observaciones

    Limitaciones

    Aunque es una métrica muy potente, presenta ciertas limitaciones.

    • Solo detecta relaciones lineales.
    • Puede verse afectada por valores extremos.
    • Requiere que ambos usuarios hayan valorado suficientes elementos comunes.
    • Resulta poco fiable cuando existen muy pocas coincidencias.
    • No es adecuada para datos binarios.
    • En matrices muy dispersas puede producir correlaciones poco representativas.

    En aplicaciones modernas suele combinarse con técnicas adicionales de ponderación o con modelos basados en factorización matricial.

    Similitud de Pearson vs otras medidas

    MedidaQué comparaConsidera la mediaTipo de datos recomendado
    Similitud de PearsonRelación linealValoraciones
    Similitud del CosenoDirección de los vectoresNoTexto, TF-IDF, Embeddings
    Índice de JaccardElementos compartidosNoDatos binarios
    Distancia EuclidianaDistancia geométricaNoVariables numéricas
    Distancia ManhattanDiferencias absolutasNoVariables numéricas

    La elección depende del tipo de datos y del problema a resolver.

    Aplicaciones en Data Science y Machine Learning

    La Similitud de Pearson tiene aplicaciones en numerosos ámbitos.

    Entre las más habituales destacan:

    • Sistemas de recomendación.
    • Filtrado colaborativo basado en usuarios.
    • Filtrado colaborativo basado en elementos.
    • Análisis de preferencias.
    • Minería de datos.
    • Análisis exploratorio de datos.
    • Estadística.
    • Análisis financiero.
    • Bioinformática.
    • Ciencias sociales.
    • Psicometría.

    Su principal aplicación sigue siendo la comparación de perfiles de usuarios mediante puntuaciones.

    Implementación en Python

    Calcular la correlación entre dos usuarios

    import pandas as pd
    
    usuario_a = pd.Series([5, 4, 5, 2])
    usuario_b = pd.Series([3, 2, 3, 1])
    
    correlacion = usuario_a.corr(usuario_b)
    
    print(correlacion)
    

    Resultado:

    1.0

    Utilizando NumPy

    import numpy as np
    
    usuario_a = np.array([5, 4, 5, 2])
    usuario_b = np.array([3, 2, 3, 1])
    
    correlacion = np.corrcoef(
        usuario_a,
        usuario_b
    )[0, 1]
    
    print(correlacion)
    

    Calcular la matriz de correlación

    import pandas as pd
    
    ratings = pd.DataFrame({
        "Usuario_A": [5, 4, 5, 2],
        "Usuario_B": [3, 2, 3, 1],
        "Usuario_C": [1, 5, 2, 4]
    })
    
    matriz = ratings.corr(method="pearson")
    
    print(matriz)
    

    Resultado aproximado:

                Usuario_A  Usuario_B  Usuario_C
    Usuario_A       1.000      1.000     -0.77
    Usuario_B       1.000      1.000     -0.77
    Usuario_C      -0.770     -0.770      1.00

    Esta matriz constituye la base de muchos algoritmos de recomendación basados en usuarios.

    Encontrar los usuarios más similares

    usuario = "Usuario_A"
    
    similares = (
        matriz[usuario]
        .sort_values(ascending=False)
    )
    
    print(similares)
    

    Este procedimiento permite identificar rápidamente los usuarios con patrones de valoración más parecidos.

    Complejidad computacional

    El cálculo de la Similitud de Pearson depende del número de observaciones compartidas.

    Para dos vectores con n elementos comunes:

    • El cálculo de una correlación tiene una complejidad aproximada de O(n).

    Cuando se desea calcular la similitud entre todos los usuarios de una matriz:

    • La complejidad puede aproximarse a O(m² · n),

    donde:

    • m representa el número de usuarios.
    • n el número medio de elementos valorados.

    En conjuntos de datos muy grandes suelen emplearse técnicas de reducción de dimensionalidad o aproximación de vecinos para reducir el coste computacional.

    Buenas prácticas

    Para utilizar correctamente la Similitud de Pearson se recomienda:

    • Comparar únicamente usuarios con suficientes valoraciones en común.
    • Eliminar valores atípicos cuando sea posible.
    • Utilizar matrices de valoraciones limpias y consistentes.
    • Complementar la correlación con un número mínimo de coincidencias.
    • Evaluar otras medidas de similitud para comparar resultados.
    • Validar experimentalmente el rendimiento del recomendador.

    Conclusión

    La Similitud de Pearson es una de las medidas más utilizadas para comparar usuarios y elementos en sistemas de recomendación basados en Filtrado Colaborativo. Al centrarse en la relación lineal entre las valoraciones y no en sus valores absolutos, permite identificar patrones de preferencias similares incluso cuando los usuarios utilizan escalas de puntuación diferentes.

    Su facilidad de interpretación, su sólida base estadística y su amplia disponibilidad en bibliotecas como Pandas y NumPy la convierten en una herramienta muy valiosa para construir sistemas de recomendación clásicos. No obstante, su eficacia depende de disponer de suficientes valoraciones compartidas y de comprender sus limitaciones frente a datos dispersos o relaciones no lineales. Elegir la medida de similitud adecuada y validarla sobre el problema concreto sigue siendo un paso fundamental para desarrollar recomendadores precisos y robustos.

  • Similitud Coseno

    La Similitud del Coseno (Cosine Similarity) es una de las medidas de similitud más utilizadas en Ciencia de Datos, Machine Learning y Sistemas de Recomendación. Su principal objetivo es medir el grado de semejanza entre dos vectores analizando el ángulo que forman entre sí, en lugar de comparar directamente sus magnitudes.

    Esta característica la convierte en una métrica especialmente útil cuando interesa comparar patrones de comportamiento o distribuciones de características, independientemente del tamaño o la cantidad de información contenida en cada vector. Por este motivo, la similitud del coseno es ampliamente utilizada en recomendadores basados en contenido, procesamiento del lenguaje natural (NLP), recuperación de información, búsqueda semántica y análisis de documentos.

    ¿Qué es la Similitud del Coseno?

    La Similitud del Coseno es una medida matemática que cuantifica el grado de semejanza entre dos vectores calculando el coseno del ángulo que forman.

    A diferencia de otras métricas como la distancia euclidiana, la similitud del coseno no compara la longitud de los vectores, sino únicamente su orientación.

    Dos vectores que apuntan en la misma dirección tendrán una similitud máxima, aunque uno sea considerablemente mayor que el otro.

    Matemáticamente se define como:

    $$
    \text{Cosine Similarity}=
    \frac{\mathbf{A}\cdot\mathbf{B}}
    {|\mathbf{A}||\mathbf{B}|}
    $$

    donde:

    • A · B representa el producto escalar entre ambos vectores.
    • ‖A‖ es la norma del vector A.
    • ‖B‖ es la norma del vector B.

    ¿Cómo funciona?

    El funcionamiento de la similitud del coseno puede resumirse en los siguientes pasos.

    1. Representar cada elemento mediante un vector.
    2. Calcular el producto escalar entre ambos vectores.
    3. Calcular la norma de cada vector.
    4. Dividir el producto escalar entre el producto de las normas.
    5. Obtener una puntuación comprendida normalmente entre -1 y 1.

    Cuanto menor sea el ángulo entre los vectores, mayor será la similitud.

    Interpretación de los valores

    El resultado depende del ángulo formado por ambos vectores.

    ValorInterpretación
    1Vectores idénticos en dirección
    0Sin relación (vectores ortogonales)
    -1Direcciones completamente opuestas (cuando existen valores negativos)

    En la mayoría de aplicaciones de recomendación y NLP, donde los vectores contienen valores no negativos, el rango efectivo suele estar entre 0 y 1.

    Ejemplo conceptual

    Supongamos dos usuarios que han puntuado películas.

    PelículaUsuario AUsuario B
    Acción54
    Drama43
    Comedia11

    Aunque las puntuaciones no sean exactamente iguales, ambos usuarios muestran un patrón muy parecido.

    La similitud del coseno detectará esta semejanza porque los vectores apuntan prácticamente en la misma dirección.

    ¿Por qué es importante en los sistemas de recomendación?

    En un recomendador basado en similitud interesa comparar los patrones de preferencias y no el número total de interacciones.

    Por ejemplo:

    UsuarioPelículas vistas
    A30
    B300

    Si ambos usuarios muestran preferencias similares, deberían considerarse parecidos aunque uno haya visto muchas más películas.

    La similitud del coseno elimina el efecto del tamaño del vector y compara únicamente la dirección de las preferencias.

    Beneficios

    La similitud del coseno ofrece numerosas ventajas.

    • Es independiente de la magnitud del vector.
    • Funciona muy bien con datos dispersos (Sparse Data).
    • Resulta especialmente adecuada para texto y documentos.
    • Es ampliamente utilizada en sistemas de recomendación.
    • Se integra fácilmente con algoritmos de Machine Learning.
    • Es eficiente computacionalmente.
    • Produce resultados fácilmente interpretables.

    ¿Cuándo utilizar la Similitud del Coseno?

    Es recomendable utilizarla cuando:

    • Se trabaja con documentos de texto.
    • Se utilizan representaciones TF-IDF.
    • Se emplean embeddings.
    • Se desarrollan sistemas de recomendación basados en contenido.
    • Se comparan perfiles de usuarios.
    • Existen datos de alta dimensionalidad.
    • La magnitud de los vectores no resulta relevante.

    Es una de las mejores opciones cuando interesa comparar patrones más que cantidades absolutas.

    Ventajas y desventajas

    VentajasDesventajas
    Independiente de la magnitudNo considera diferencias de escala cuando estas son importantes
    Excelente para datos dispersosPuede producir resultados poco intuitivos con valores negativos
    Muy utilizada en NLPIgnora la distancia absoluta entre vectores
    Fácil de calcularRequiere representación vectorial
    Escalable a grandes conjuntos de datosPuede no ser adecuada para variables puramente numéricas continuas

    Limitaciones

    Aunque es una de las métricas más utilizadas, presenta ciertas limitaciones.

    • Ignora la magnitud de los vectores.
    • No detecta diferencias en el volumen de información.
    • Puede no ser apropiada para datos donde la distancia absoluta sea importante.
    • Requiere que los datos puedan representarse mediante vectores.
    • Cuando existen muchos vectores, el cálculo de todas las similitudes puede resultar costoso.

    En aplicaciones de gran escala suele combinarse con técnicas de indexación o búsqueda aproximada de vecinos (Approximate Nearest Neighbors).

    Similitud del Coseno vs otras medidas

    MedidaQué comparaMagnitudTipo de datos recomendado
    Similitud del CosenoDirección del vectorNoTexto, TF-IDF, Embeddings
    Correlación de PearsonRelación linealParcialmenteValoraciones
    Distancia EuclidianaDistancia geométricaVariables numéricas
    Distancia ManhattanDiferencias absolutasVariables numéricas
    Índice de JaccardElementos compartidosNoDatos binarios

    La similitud del coseno suele ser la opción preferida cuando los datos presentan una alta dimensionalidad y son dispersos.

    Aplicaciones en Data Science y Machine Learning

    La Similitud del Coseno tiene aplicaciones en numerosos ámbitos.

    Entre las más habituales destacan:

    • Sistemas de recomendación.
    • Procesamiento del Lenguaje Natural (NLP).
    • Recuperación de información.
    • Motores de búsqueda.
    • Búsqueda semántica.
    • Clasificación de documentos.
    • Detección de documentos similares.
    • Comparación de embeddings.
    • Clustering.
    • Recuperación de imágenes.
    • Sistemas de preguntas y respuestas.
    • Inteligencia Artificial Generativa (RAG).

    Es una de las métricas más utilizadas para comparar representaciones vectoriales.

    Implementación en Python

    Calcular la similitud entre dos vectores

    from sklearn.metrics.pairwise import cosine_similarity
    import numpy as np
    
    A = np.array([[2, 3]])
    B = np.array([[4, 6]])
    
    similaridad = cosine_similarity(A, B)
    
    print(similaridad)
    
    [[1.]]

    Comparar varios vectores

    from sklearn.metrics.pairwise import cosine_similarity
    import numpy as np
    
    X = np.array([
        [2, 3],
        [4, 6],
        [5, 1]
    ])
    
    similaridad = cosine_similarity(X)
    
    print(similaridad)
    

    Resultado aproximado:

    [[1.00 1.00 0.69]
     [1.00 1.00 0.69]
     [0.69 0.69 1.00]]

    La matriz obtenida contiene la similitud entre todos los pares de vectores.

    Similitud del Coseno con TF-IDF

    from sklearn.feature_extraction.text import TfidfVectorizer
    from sklearn.metrics.pairwise import cosine_similarity
    
    documentos = [
        "Machine learning con Python",
        "Aprendizaje automático usando Python",
        "Recetas de cocina italiana"
    ]
    
    vectorizador = TfidfVectorizer()
    
    X = vectorizador.fit_transform(documentos)
    
    similaridad = cosine_similarity(X)
    
    print(similaridad)
    

    Este es uno de los usos más habituales de la Similitud del Coseno en procesamiento del lenguaje natural.

    Obtener los elementos más similares

    import numpy as np
    
    indice = 0
    
    similares = np.argsort(
        similaridad[indice]
    )[::-1]
    
    print(similares)
    

    Esta técnica constituye la base de numerosos sistemas de recomendación basados en contenido.

    Complejidad computacional

    El cálculo de la similitud del coseno depende del número de vectores y de su dimensionalidad.

    En una matriz con n vectores y d características:

    • El cálculo entre dos vectores tiene una complejidad aproximada de O(d).
    • Calcular todas las similitudes entre n vectores requiere aproximadamente O(n² · d).

    En conjuntos de datos muy grandes suele recurrirse a técnicas como:

    • Índices vectoriales.
    • Approximate Nearest Neighbors (ANN).
    • FAISS.
    • Annoy.
    • HNSW.

    Estas herramientas permiten acelerar significativamente la búsqueda de elementos similares.

    Buenas prácticas

    Para utilizar correctamente la Similitud del Coseno se recomienda:

    • Representar correctamente los datos mediante vectores.
    • Utilizar TF-IDF cuando se comparan documentos.
    • Emplear embeddings cuando se trabaja con información semántica.
    • Normalizar los datos cuando sea necesario.
    • Evaluar distintas medidas de similitud antes de seleccionar una.
    • Utilizar técnicas de búsqueda aproximada cuando existan millones de vectores.
    • Validar experimentalmente el rendimiento del sistema de recomendación.

    Conclusión

    La Similitud del Coseno es una de las métricas más importantes dentro de los sistemas de recomendación y del análisis de datos vectoriales. Al comparar la orientación de los vectores en lugar de su magnitud, permite identificar patrones de comportamiento similares incluso cuando existen diferencias significativas en la cantidad de información disponible.

    Su facilidad de implementación, su eficiencia y su excelente rendimiento con datos dispersos la han convertido en una herramienta fundamental en áreas como el procesamiento del lenguaje natural, la recuperación de información, los sistemas de recomendación basados en contenido y las aplicaciones modernas basadas en embeddings. Comprender su funcionamiento, ventajas y limitaciones resulta esencial para seleccionar la medida de similitud más adecuada en cada problema de Data Science y Machine Learning.

  • Introducción a las Medidas de Similitud en Sistemas de Recomendación

    Las medidas de similitud constituyen uno de los componentes fundamentales de los sistemas de recomendación modernos. Su objetivo es cuantificar el grado de semejanza entre usuarios, productos o cualquier otro tipo de elemento para identificar patrones comunes y generar recomendaciones personalizadas.

    En un sistema de recomendación, la calidad de las sugerencias depende en gran medida de la capacidad del algoritmo para encontrar usuarios con gustos similares o elementos con características parecidas. Para ello, se utilizan funciones matemáticas conocidas como medidas de similitud, capaces de transformar la relación entre dos objetos en un valor numérico que representa su nivel de semejanza.

    Existen numerosas medidas de similitud, cada una diseñada para diferentes tipos de datos y problemas. Algunas son especialmente adecuadas para datos numéricos, mientras que otras funcionan mejor con texto, datos binarios o vectores de alta dimensión. En este artículo se presenta una visión conceptual de las principales medidas utilizadas en sistemas de recomendación. En artículos posteriores se estudiará cada una de ellas de forma individual.

    ¿Qué son las medidas de similitud?

    Las medidas de similitud son funciones matemáticas que permiten cuantificar el grado de parecido entre dos objetos.

    Dependiendo del sistema de recomendación, estos objetos pueden representar:

    • Usuarios.
    • Productos.
    • Películas.
    • Libros.
    • Canciones.
    • Artículos.
    • Documentos.
    • Imágenes.
    • Productos de comercio electrónico.

    El resultado del cálculo suele expresarse mediante una puntuación que indica cuánto se parecen ambos elementos.

    En general:

    • Un valor elevado indica una mayor similitud.
    • Un valor reducido indica una menor similitud.

    La interpretación exacta depende de la medida utilizada.

    ¿Por qué son importantes en los sistemas de recomendación?

    Las medidas de similitud constituyen el mecanismo que permite a un sistema decidir qué usuarios o elementos son comparables.

    Gracias a ellas es posible:

    • Recomendar productos similares.
    • Encontrar usuarios con gustos parecidos.
    • Descubrir contenido relacionado.
    • Personalizar recomendaciones.
    • Mejorar la experiencia del usuario.
    • Incrementar la precisión del sistema.

    Sin una medida de similitud adecuada, un recomendador no tendría un criterio objetivo para seleccionar los elementos más relevantes.

    ¿Cómo funcionan?

    Aunque cada métrica utiliza una formulación matemática diferente, el proceso general suele seguir los mismos pasos.

    1. Representar usuarios o elementos mediante un conjunto de características.
    2. Seleccionar la medida de similitud adecuada.
    3. Comparar los pares de elementos.
    4. Obtener una puntuación de similitud.
    5. Ordenar los resultados.
    6. Recomendar los elementos más similares.

    Este procedimiento constituye la base de numerosos algoritmos de recomendación.

    Representación de los datos

    Antes de calcular la similitud, es necesario transformar la información en una representación adecuada.

    Las representaciones más habituales son:

    • Matriz Usuario-Ítem.
    • Matriz Ítem-Características.
    • Variables numéricas.
    • Variables binarias.
    • TF-IDF.
    • Embeddings.
    • Vectores de características.

    La elección de la representación condiciona la medida de similitud más apropiada.

    Principales medidas de similitud

    Existen numerosas métricas de similitud. Cada una presenta ventajas para determinados tipos de datos.

    Similitud del Coseno

    La similitud del coseno mide el ángulo existente entre dos vectores, independientemente de su longitud.

    Es especialmente adecuada para:

    • Documentos.
    • TF-IDF.
    • Embeddings.
    • Sistemas basados en contenido.
    • Procesamiento del Lenguaje Natural (NLP).

    Su rango habitual es:

    • 1 → máxima similitud.
    • 0 → sin relación.
    • -1 → direcciones opuestas (cuando existen valores negativos).

    Correlación de Pearson

    La correlación de Pearson mide el grado de relación lineal entre dos variables o vectores.

    En sistemas de recomendación se utiliza principalmente para comparar usuarios o elementos teniendo en cuenta sus patrones de valoración.

    Es especialmente útil cuando interesa comparar preferencias independientemente de la escala utilizada por cada usuario.

    Índice de Jaccard

    El índice de Jaccard compara dos conjuntos mediante la proporción de elementos compartidos respecto al total de elementos distintos.

    Es especialmente adecuado para:

    • Datos binarios.
    • Etiquetas.
    • Intereses.
    • Preferencias.
    • Sistemas donde únicamente interesa conocer si existe o no una interacción.

    Distancia Euclidiana

    La distancia euclidiana mide la distancia geométrica entre dos puntos en un espacio multidimensional.

    Cuanto menor sea la distancia, mayor será la similitud entre ambos objetos.

    Se utiliza principalmente con:

    • Variables numéricas.
    • Sistemas híbridos.
    • Modelos basados en distancias.

    Distancia Manhattan

    La distancia Manhattan calcula la distancia entre dos puntos sumando las diferencias absolutas de cada dimensión.

    Su nombre proviene de la disposición en cuadrícula de las calles de Manhattan, donde la distancia real se mide recorriendo calles horizontales y verticales en lugar de una línea recta.

    Es especialmente útil cuando:

    • Los datos presentan muchas dimensiones.
    • Se utilizan variables numéricas.
    • Se desea reducir la influencia de valores extremos respecto a otras métricas.

    Será desarrollada en un artículo independiente.

    Comparación entre las principales medidas

    MedidaTipo de datos recomendadoQué comparaValores
    Similitud del CosenoTexto, TF-IDF, EmbeddingsDirección de los vectores-1 a 1
    Correlación de PearsonVariables numéricasRelación lineal entre valoraciones-1 a 1
    Índice de JaccardDatos binarios o categóricosElementos compartidos0 a 1
    Distancia EuclidianaVariables numéricasDistancia geométrica0 a ∞
    Distancia ManhattanVariables numéricasDiferencias absolutas0 a ∞

    Cada una resulta más adecuada para determinados tipos de datos y problemas.

    ¿Cómo elegir una medida de similitud?

    La elección depende principalmente de la naturaleza de los datos.

    Como orientación general:

    • Similitud del Coseno para documentos, texto y embeddings.
    • Correlación de Pearson para valoraciones de usuarios.
    • Índice de Jaccard para datos binarios.
    • Distancia Euclidiana para variables numéricas continuas.
    • Distancia Manhattan cuando interesa una métrica menos sensible a determinadas distribuciones de los datos.

    No existe una medida universalmente superior; la elección debe adaptarse al problema y validarse experimentalmente.

    Ejemplos de utilización

    • Plataforma de películas: Se comparan usuarios según las películas que han valorado para recomendar nuevos títulos.
    • Comercio electrónico: Se comparan productos mediante sus características para recomendar artículos similares.
    • Plataforma musical: Se identifican usuarios con hábitos de escucha parecidos para sugerir nuevas canciones.
    • Portal de noticias: Se comparan artículos utilizando sus descripciones para recomendar contenido relacionado.

    Beneficios

    El uso de medidas de similitud ofrece numerosas ventajas.

    • Permiten personalizar las recomendaciones.
    • Mejoran la precisión del sistema.
    • Facilitan el descubrimiento de nuevos contenidos.
    • Incrementan la satisfacción del usuario.
    • Constituyen la base de numerosos algoritmos de recomendación.
    • Son aplicables a múltiples dominios.

    ¿Cuándo utilizar medidas de similitud?

    Es recomendable utilizarlas cuando:

    • Se desarrollan sistemas de recomendación.
    • Se comparan perfiles de usuarios.
    • Se buscan elementos similares.
    • Se trabaja con filtrado colaborativo.
    • Se implementan sistemas basados en contenido.
    • Se desarrollan motores de búsqueda.
    • Se realizan tareas de recuperación de información.

    Ventajas y desventajas

    VentajasDesventajas
    Fácil interpretaciónNo existe una métrica óptima para todos los problemas
    Mejoran la personalizaciónAlgunas requieren normalización previa
    Amplio campo de aplicaciónEl coste computacional puede ser elevado
    Compatibles con numerosos algoritmosLa elección depende del tipo de datos
    Constituyen la base de muchos recomendadoresAlgunas métricas son sensibles a valores atípicos

    Limitaciones

    Aunque son fundamentales en los sistemas de recomendación, presentan algunas limitaciones.

    • La calidad de las recomendaciones depende de la calidad de los datos.
    • Algunas medidas no funcionan correctamente con datos muy dispersos.
    • El cálculo puede resultar costoso cuando existen millones de usuarios o elementos.
    • No todas las métricas capturan relaciones semánticas complejas.
    • Algunas requieren normalización o preprocesamiento previo.

    Por ello, en aplicaciones reales suelen combinarse con técnicas de reducción de dimensionalidad, aprendizaje profundo o búsquedas aproximadas de vecinos.

    Relación con los tipos de sistemas de recomendación

    Las medidas de similitud se utilizan de forma diferente según el tipo de recomendador.

    Tipo de sistemaMedidas utilizadas con mayor frecuencia
    Filtrado colaborativo basado en usuariosCoseno, Pearson
    Filtrado colaborativo basado en elementosCoseno, Pearson
    Filtrado basado en contenidoCoseno, Jaccard
    Sistemas híbridosCoseno, Euclidiana, Manhattan
    Recomendadores basados en conocimientoDepende del dominio y de las características disponibles

    Cada arquitectura selecciona la medida que mejor representa la relación entre usuarios o elementos.

    Aplicaciones en Data Science y Machine Learning

    Las medidas de similitud no se limitan a los sistemas de recomendación. También aparecen en numerosas áreas de la Ciencia de Datos. Algunas aplicaciones incluyen:

    • Sistemas de recomendación.
    • Procesamiento del Lenguaje Natural (NLP).
    • Motores de búsqueda.
    • Recuperación de información.
    • Clustering.
    • Clasificación mediante KNN.
    • Detección de fraude.
    • Visión por computador.
    • Bioinformática.
    • Detección de documentos duplicados.

    Implementación básica en Python

    Aunque cada medida dispone de su propia implementación, Scikit-Learn proporciona funciones para calcular muchas de ellas.

    Similitud del Coseno

    from sklearn.metrics.pairwise import cosine_similarity
    similaridad = cosine_similarity(X)

    Correlación de Pearson

    import pandas as pd
    correlacion = df.corr(method="pearson")

    Índice de Jaccard

    from sklearn.metrics import jaccard_score
    score = jaccard_score(y_true, y_pred)

    Distancia Euclidiana

    from sklearn.metrics.pairwise import euclidean_distances
    distancias = euclidean_distances(X)

    Distancia Manhattan

    from sklearn.metrics.pairwise import manhattan_distances
    distancias = manhattan_distances(X)

    En los artículos dedicados a cada medida se profundizará en su formulación matemática, interpretación e implementación práctica.

    Buenas prácticas

    Para utilizar correctamente las medidas de similitud se recomienda:

    • Seleccionar la métrica según el tipo de datos.
    • Normalizar las variables cuando sea necesario.
    • Evaluar varias medidas antes de elegir una.
    • Reducir la dimensionalidad cuando existan muchas variables.
    • Validar experimentalmente el rendimiento del sistema.
    • Optimizar el cálculo de similitudes en conjuntos de datos muy grandes.
    • Documentar la métrica utilizada y justificar su elección.

    Conclusión

    Las medidas de similitud constituyen uno de los pilares fundamentales de los sistemas de recomendación, ya que permiten cuantificar objetivamente el grado de semejanza entre usuarios, productos o cualquier otro tipo de elemento. La elección de una métrica adecuada influye directamente en la calidad de las recomendaciones y debe realizarse teniendo en cuenta la naturaleza de los datos y el tipo de recomendador implementado.

    Métricas como la Similitud del Coseno, la Correlación de Pearson, el Índice de Jaccard, la Distancia Euclidiana y la Distancia Manhattan representan algunos de los enfoques más utilizados debido a su eficacia y versatilidad. En los siguientes artículos se estudiará cada una de estas medidas de forma individual, analizando sus fundamentos matemáticos, ventajas, limitaciones, implementación en Python y aplicaciones prácticas dentro de los sistemas de recomendación.

  • 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.

  • 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.

  • Ratios

    En numerosos problemas de Data Science, las variables originales no siempre representan adecuadamente la información necesaria para construir modelos predictivos precisos. En muchas ocasiones, la relación entre dos variables aporta mucho más valor que sus valores individuales. Una de las formas más habituales de capturar estas relaciones consiste en crear ratios, una de las técnicas más utilizadas dentro de la Ingeniería de Características (Feature Engineering).

    Los ratios permiten expresar la proporción entre dos variables y describir comportamientos relativos en lugar de valores absolutos. Esta característica los convierte en una herramienta especialmente útil en ámbitos como las finanzas, el marketing, la salud, la industria, el comercio electrónico y la analítica empresarial.

    ¿Qué son los ratios?

    Un ratio es una variable derivada obtenida mediante la división de una variable entre otra para expresar una relación proporcional entre ambas. Su objetivo es proporcionar una medida relativa que permita comparar observaciones independientemente de su tamaño o magnitud. Matemáticamente, un ratio se expresa como:

    $$\text{Ratio}=\frac{\text{Variable A}}{\text{Variable B}}$$

    ¿Por qué son importantes?

    Los valores absolutos pueden resultar engañosos cuando se comparan entidades de distinto tamaño.

    Por ejemplo:

    EmpresaVentas
    A1.000.000 €
    B500.000 €

    A primera vista parece que la empresa A obtiene mejores resultados.

    Sin embargo:

    EmpresaVentasEmpleadosVentas por Empleado
    A1.000.000 €10010.000 €
    B500.000 €2025.000 €

    Ahora observamos que la empresa B es considerablemente más eficiente. Los ratios eliminan el efecto del tamaño y facilitan comparaciones más justas.

    ¿Cómo funcionan los ratios?

    Los ratios se construyen dividiendo dos variables relacionadas entre sí. El proceso habitual consiste en:

    1. Identificar dos variables con relación lógica.
    2. Definir cuál será el numerador y cuál el denominador.
    3. Calcular el cociente entre ambas.
    4. Incorporar el nuevo ratio al conjunto de datos.
    5. Evaluar si mejora el rendimiento del modelo.

    Es importante que exista una relación conceptual entre ambas variables para que el ratio tenga significado.

    Tipos de ratios

    • Ratios de productividad: miden el rendimiento respecto a un recurso utilizado.
    • Ratios financieros: relacionan magnitudes económicas.
    • Ratios comerciales: relacionan indicadores de ventas y marketing.
    • Ratios demográficos: relacionan poblaciones o grupos.
    • Ratios temporales: relacionan una magnitud con el tiempo.

    Beneficios de utilizar ratios

    La creación de ratios aporta numerosas ventajas.

    • Normaliza variables de distinta escala.
    • Facilita comparaciones entre entidades.
    • Reduce el efecto del tamaño absoluto.
    • Incrementa el poder predictivo de algunos modelos.
    • Resume información compleja en una única variable.
    • Facilita la interpretación de resultados.
    • Incorpora conocimiento del negocio.

    En muchos casos, un ratio resulta más informativo que las variables originales por separado.

    ¿Cuándo utilizar ratios?

    Su utilización es recomendable cuando:

    • Existen variables relacionadas entre sí.
    • Se desea eliminar el efecto del tamaño.
    • Se comparan entidades de distinta dimensión.
    • Se trabaja con indicadores de rendimiento.
    • Se buscan medidas relativas.
    • Se pretende mejorar la capacidad predictiva del modelo.

    Los ratios son especialmente útiles cuando las variables representan cantidades acumuladas o totales.

    Ventajas y desventajas

    VentajasDesventajas
    Eliminan el efecto del tamañoPueden ser inestables cuando el denominador es pequeño
    Mejoran la comparabilidadRequieren una relación lógica entre variables
    Incrementan la interpretabilidadPueden generar valores extremos
    Suelen mejorar modelos linealesNo siempre aportan información adicional
    Fácil implementaciónEs necesario controlar divisiones por cero

    Limitaciones

    Aunque los ratios son muy útiles, presentan ciertas limitaciones.

    • El denominador puede tomar valores cercanos a cero.
    • Pueden producir valores extremadamente grandes.
    • Algunas relaciones carecen de significado práctico.
    • Es posible introducir ruido si las variables no están relacionadas.
    • Algunos ratios pueden estar altamente correlacionados.
    • En ocasiones requieren transformaciones adicionales para reducir la asimetría.

    Por ello, es recomendable analizar su distribución antes de utilizarlos en un modelo.

    Ratios vs valores absolutos

    Valores absolutosRatios
    Representan cantidades totalesRepresentan relaciones entre cantidades
    Dependen del tamañoSon independientes de la escala
    Dificultan comparacionesFacilitan comparaciones
    Suelen presentar mayor variabilidadNormalizan parte de la variabilidad
    Pueden ocultar eficienciaReflejan productividad o rendimiento

    Los ratios complementan a los valores absolutos y, en muchos casos, aportan una visión más útil del fenómeno analizado.

    Ratios y Machine Learning

    El impacto de los ratios depende del algoritmo utilizado.

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

    Los modelos lineales suelen beneficiarse especialmente de los ratios, ya que estos permiten representar relaciones que el algoritmo no puede aprender automáticamente.

    Aplicaciones en Data Science y Machine Learning

    Los ratios aparecen en prácticamente todos los sectores.

    Algunas aplicaciones incluyen:

    • Scoring crediticio.
    • Detección de fraude.
    • Marketing digital.
    • Analítica web.
    • Predicción de ventas.
    • Comercio electrónico.
    • Recursos humanos.
    • Diagnóstico médico.
    • Predicción energética.
    • Analítica financiera.
    • Industria manufacturera.
    • Turismo y hotelería.

    En todos estos ámbitos, los ratios ayudan a describir el comportamiento relativo de las observaciones y suelen incrementar la capacidad predictiva de los modelos.

    Implementación en Python

    Crear un ratio simple

    import pandas as pd
    
    df = pd.DataFrame({
        'ventas': [500000, 750000, 600000],
        'empleados': [10, 15, 12]
    })
    
    df['ventas_por_empleado'] = (
        df['ventas'] / df['empleados']
    )
    
    print(df)
    
       ventas  empleados  ventas_por_empleado
    0  500000         10               50000.0
    1  750000         15               50000.0
    2  600000         12               50000.0
    

    Evitar divisiones por cero

    import numpy as np
    import pandas as pd
    
    df = pd.DataFrame({
        'ventas': [500000, 750000, 600000],
        'empleados': [10, 0, 12]
    })
    
    df['ventas_por_empleado'] = np.where(
        df['empleados'] != 0,
        df['ventas'] / df['empleados'],
        np.nan
    )
    
    print(df)
    

    Crear varios ratios simultáneamente

    df = pd.DataFrame({
        'ventas': [200000, 350000],
        'beneficio': [40000, 70000],
        'clientes': [5000, 7000]
    })
    
    df['beneficio_por_cliente'] = (
        df['beneficio'] / df['clientes']
    )
    
    df['ventas_por_cliente'] = (
        df['ventas'] / df['clientes']
    )
    
    df['margen'] = (
        df['beneficio'] / df['ventas']
    )
    
    print(df)
    

    Aplicar una transformación logarítmica

    Cuando los ratios presentan distribuciones muy asimétricas, puede ser útil aplicar una transformación logarítmica.

    import numpy as np
    
    df['log_ventas_por_empleado'] = np.log1p(
        df['ventas_por_empleado']
    )
    

    La función log1p() calcula:

    $$\log(1+x)$$

    y es adecuada para variables con valores iguales o cercanos a cero.

    Buenas prácticas

    Para utilizar ratios de forma efectiva se recomienda:

    • Crear únicamente ratios con significado de negocio.
    • Analizar la distribución de los valores generados.
    • Evitar divisiones por cero.
    • Revisar la presencia de valores extremos.
    • Comprobar la correlación con otras variables.
    • Validar su impacto mediante validación cruzada.
    • Documentar la fórmula utilizada para cada ratio.
    • Considerar transformaciones adicionales cuando exista una fuerte asimetría.

    Conclusión

    Los ratios constituyen una de las técnicas más utilizadas dentro de la Ingeniería de Características debido a su capacidad para representar relaciones proporcionales entre variables. Al expresar medidas relativas en lugar de valores absolutos, permiten comparar observaciones de distinta escala, capturar indicadores de eficiencia y enriquecer la información disponible para los modelos de Machine Learning.

    Su aplicación es especialmente relevante en ámbitos como las finanzas, el marketing, la salud o la analítica empresarial, donde los indicadores relativos suelen ser más representativos que las magnitudes absolutas. No obstante, su construcción debe realizarse con criterio, asegurando que exista una relación lógica entre las variables utilizadas y controlando aspectos como las divisiones por cero o la presencia de valores extremos. Cuando se diseñan adecuadamente, los ratios pueden convertirse en algunas de las características más valiosas de un conjunto de datos y contribuir de forma significativa a mejorar el rendimiento y la interpretabilidad de los modelos predictivos.

  • Introducción a las Variables Derivadas

    En la mayoría de los proyectos de Data Science, los datos originales rara vez contienen toda la información necesaria para construir modelos predictivos de alto rendimiento. Aunque las variables disponibles pueden describir correctamente un fenómeno, muchas veces es necesario transformarlas o combinarlas para extraer información más útil. Este proceso da lugar a las variables derivadas, una de las técnicas más importantes dentro de la Ingeniería de Características (Feature Engineering).

    Las variables derivadas permiten crear nuevas características a partir de una o varias variables existentes con el objetivo de representar mejor el problema que se desea modelar. En muchos casos, estas nuevas variables son más informativas que las originales y pueden mejorar significativamente el rendimiento de un modelo de Machine Learning.

    Este artículo introduce el concepto de variables derivadas y presenta los principales tipos de transformaciones que se utilizan en la práctica. En artículos posteriores se profundizará en cada técnica de forma individual.

    ¿Qué son las variables derivadas?

    Una variable derivada es una nueva característica creada mediante operaciones matemáticas, estadísticas, temporales o lógicas sobre una o varias variables existentes.

    A diferencia de las variables originales, que provienen directamente de la fuente de datos, las variables derivadas representan información adicional construida para facilitar el aprendizaje de los algoritmos. Por ejemplo, supongamos un conjunto de datos con las siguientes variables:

    price = [20.35, 10.15, 13.99]
    cuantity = [5, 8, 15]
    amount = price * cuantity

    En este caso, el importe total es una variable derivada obtenida multiplicando el precio por la cantidad.

    ¿Por qué son importantes?

    Los algoritmos de Machine Learning aprenden a partir de las características disponibles. Si estas no representan adecuadamente el fenómeno estudiado, el modelo tendrá dificultades para identificar patrones útiles. Las variables derivadas permiten incorporar conocimiento del dominio directamente en los datos, facilitando el aprendizaje del modelo.

    Por ejemplo:

    • La edad suele ser más útil que la fecha de nacimiento.
    • El margen de beneficio aporta más información que el precio de venta y el coste por separado.
    • La tasa de crecimiento de las ventas puede ser más relevante que el volumen absoluto de ventas.

    En muchos proyectos, una única variable derivada puede aportar más capacidad predictiva que varias variables originales.

    ¿Cómo funcionan las variables derivadas?

    El proceso consiste en transformar una o varias variables existentes para generar nuevas características que describan mejor la información disponible.

    Generalmente, el flujo de trabajo incluye:

    1. Analizar las variables originales.
    2. Identificar relaciones relevantes entre ellas.
    3. Diseñar nuevas características basadas en conocimiento del dominio.
    4. Incorporar las nuevas variables al conjunto de datos.
    5. Evaluar su impacto sobre el modelo.
    6. Conservar únicamente aquellas que aporten valor predictivo.

    Este proceso suele ser iterativo y requiere combinar conocimientos de estadística, programación y comprensión del problema de negocio.

    Principales tipos de variables derivadas

    Existen numerosas formas de generar variables derivadas. Algunas de las más utilizadas son:

    • Ratios.
    • Diferencias.
    • Porcentajes.
    • Márgenes.
    • Tasas de crecimiento.
    • Índices compuestos.
    • Variables temporales.
    • Variables agregadas.
    • Interacciones entre variables.
    • Variables polinomiales.
    • Variables binarias derivadas.
    • Variables basadas en reglas de negocio.

    Cada una de estas técnicas responde a necesidades diferentes y será desarrollada en artículos específicos.

    Tipos de operaciones utilizadas

    Las variables derivadas pueden construirse mediante diferentes operaciones.

    OperaciónEjemplo
    SumaVentas nacionales + internacionales
    RestaPrecio − Coste
    MultiplicaciónPrecio × Cantidad
    DivisiónVentas / Empleados
    PotenciasEdad²
    Logaritmoslog(Ingresos)
    Funciones temporalesMes, trimestre, día de la semana
    Condiciones lógicasCliente Premium = Sí/No

    La elección de la operación depende del problema que se desea resolver.

    Beneficios de las variables derivadas

    La creación de variables derivadas ofrece numerosas ventajas.

    • Incrementa la capacidad predictiva de los modelos.
    • Facilita la detección de patrones complejos.
    • Reduce la necesidad de algoritmos más sofisticados.
    • Incorpora conocimiento del negocio.
    • Mejora la interpretabilidad de los resultados.
    • Permite resumir información relevante.
    • Enriquece la representación de los datos.

    En muchos casos, las variables derivadas tienen un mayor poder explicativo que las variables originales.

    ¿Cuándo utilizar variables derivadas?

    Su utilización es recomendable cuando:

    • Los datos originales son poco informativos.
    • Existen relaciones conocidas entre variables.
    • Se desea incorporar conocimiento del dominio.
    • El modelo presenta bajo rendimiento.
    • Se trabaja con variables temporales.
    • Se requieren indicadores sintéticos.
    • Se busca mejorar la interpretación de los resultados.

    Las variables derivadas forman parte habitual de cualquier proceso de Ingeniería de Características.

    Ventajas y desventajas

    VentajasDesventajas
    Mejoran la representación de los datosRequieren conocimiento del dominio
    Incrementan el rendimiento predictivoPueden aumentar la dimensionalidad
    Facilitan el aprendizaje del modeloAlgunas variables pueden ser redundantes
    Permiten capturar relaciones complejasExiste riesgo de sobreajuste
    Mejoran la interpretabilidadRequieren validación continua

    Limitaciones

    Aunque son una herramienta muy potente, presentan ciertas limitaciones.

    • No todas las variables derivadas aportan información útil.
    • Un número excesivo de características puede dificultar el entrenamiento.
    • Algunas transformaciones pueden introducir ruido.
    • Es posible generar variables altamente correlacionadas.
    • Requieren evaluar continuamente su impacto sobre el modelo.
    • Un diseño inadecuado puede provocar fuga de información (Data Leakage).

    Por ello, la creación de variables derivadas debe ir acompañada de un proceso de validación y selección de características.

    Variables derivadas vs variables originales

    Variables originalesVariables derivadas
    Proceden directamente de la fuente de datosSe generan a partir de otras variables
    Representan información básicaRepresentan información enriquecida
    No requieren transformaciónRequieren operaciones matemáticas o lógicas
    Suelen ser más generalesSuelen estar orientadas al problema
    Constituyen el punto de partidaAmplían la capacidad descriptiva del conjunto de datos

    Las variables derivadas complementan, pero no sustituyen, a las variables originales.

    Variables derivadas y Machine Learning

    El impacto de las variables derivadas depende del algoritmo utilizado.

    AlgoritmoBeneficio Potencial
    Regresión LinealMuy alto
    Regresión LogísticaMuy alto
    SVMAlto
    K-Nearest Neighbors (KNN)Alto
    Árboles de DecisiónModerado
    Random ForestModerado
    XGBoostModerado
    LightGBMModerado
    Redes NeuronalesVariable

    Los modelos lineales suelen beneficiarse especialmente de una buena ingeniería de variables derivadas, ya que estas permiten capturar relaciones que el algoritmo no puede aprender por sí solo.

    Buenas prácticas

    Para crear variables derivadas de forma efectiva se recomienda:

    • Comprender el problema de negocio antes de diseñar nuevas variables.
    • Priorizar características con significado práctico.
    • Evitar generar variables redundantes.
    • Validar el impacto de cada característica mediante experimentación.
    • Controlar la multicolinealidad entre variables.
    • Automatizar el proceso mediante pipelines cuando sea posible.
    • Documentar todas las transformaciones realizadas.
    • Evitar el Data Leakage utilizando únicamente información disponible en el momento de la predicción.

    Conclusión

    Las variables derivadas constituyen uno de los pilares fundamentales de la Ingeniería de Características. Su objetivo es transformar la información disponible en representaciones más útiles para los algoritmos de Machine Learning, permitiendo capturar relaciones, patrones y comportamientos que las variables originales no reflejan de forma explícita.

    A través de operaciones matemáticas, estadísticas, temporales o lógicas, es posible generar características con un mayor poder explicativo y mejorar significativamente el rendimiento de los modelos predictivos. Sin embargo, su creación debe realizarse de forma planificada, apoyándose en el conocimiento del dominio y validando continuamente su contribución. En los siguientes artículos se abordarán en detalle las principales categorías de variables derivadas, como los ratios, las tasas de crecimiento, los márgenes y los índices compuestos, proporcionando una visión práctica de cómo utilizarlas para construir modelos más precisos y robustos.