Cómo seleccionar las variables realmente importantes

Introducción: por qué más columnas no significan mejores decisiones

Un conjunto de datos puede contener decenas o cientos de columnas y, sin embargo, necesitar solo unas pocas para responder correctamente a una pregunta. La selección de variables consiste en decidir qué información merece entrar en el análisis, qué aporta una señal aprovechable, qué introduce ruido, qué resulta redundante y qué exige una validación adicional.

Imaginemos que una pequeña empresa quiere anticipar qué clientes dejarán de comprar. Tiene a su disposición identificadores, fechas, importes, consultas, visitas a la web, notas comerciales y estados administrativos. Incluir todos esos campos sin examinarlos puede empeorar la interpretación, complicar el mantenimiento e incluso producir un modelo aparentemente excelente que en realidad utiliza datos conocidos solo después de que el cliente se haya marchado.

Seleccionar variables no equivale a quedarse con las columnas que presentan los números más llamativos. Significa combinar conocimiento del problema, disponibilidad real de la información, calidad del dato, análisis estadístico y pruebas que demuestren si cada variable ayuda a conseguir el resultado buscado.

Esta guía explica cómo realizar esa selección de manera rigurosa y práctica, tanto si se trabaja con una hoja de cálculo como si se desarrolla un proyecto de Ciencia de Datos con Python o una base de datos empresarial.

Índice de contenidos

  1. Qué significa seleccionar variables importantes
  2. Definir el objetivo y el momento de decisión
  3. Preparar un inventario de variables candidatas
  4. Descartar variables problemáticas antes de modelar
  5. Medir la relevancia de cada variable
  6. Detectar redundancia y relaciones entre variables
  7. Comparar los métodos de selección
  8. Tratar variables numéricas, categóricas y temporales
  9. Validar la selección sin engañarse con los resultados
  10. Ejemplo aplicado a una empresa de servicios
  11. Comprobar conjuntos de variables con Python
  12. Revisar la estabilidad y el mantenimiento
  13. Errores frecuentes y lista de comprobación
  14. Preguntas frecuentes
  15. Conclusión

Qué significa seleccionar las variables realmente importantes

Una variable es una característica registrada para cada unidad de análisis: un cliente, una operación, un equipo, una incidencia o un periodo. Puede representar una cantidad, una categoría, una fecha, una condición o una medida calculada. En una tabla, normalmente ocupa una columna.

La selección de variables —también llamada feature selection cuando se trabaja con modelos predictivos— consiste en escoger un subconjunto de características que resulte útil para una finalidad concreta. No debe confundirse con la ingeniería de variables, que transforma o combina datos existentes para generar nuevas características.

Una misma columna puede ser importante para un problema e irrelevante para otro. El volumen de facturación histórica podría aportar información para prever la demanda futura, pero resultar secundario si la pregunta consiste en detectar errores de escritura en direcciones postales.

Cuatro significados distintos de «importante»

  • Importancia operativa: la variable permite tomar una decisión o ejecutar una acción concreta, como revisar incidencias acumuladas.
  • Importancia predictiva: la variable mejora las predicciones sobre observaciones que no se han utilizado para ajustar el modelo.
  • Importancia explicativa: ayuda a comprender asociaciones entre factores y resultados, sin demostrar por sí sola una relación de causa y efecto.
  • Importancia práctica: aporta suficiente valor para justificar su obtención, actualización, protección y mantenimiento.

Una variable puede ser predictivamente potente y, aun así, no ser adecuada: quizá se conoce demasiado tarde, implica un coste excesivo para obtenerla, cambia de definición entre departamentos o actúa como indicador indirecto de información que no debería utilizarse para determinada decisión.

Por eso, el objetivo no es descubrir una clasificación universal de columnas, sino construir un conjunto de variables defendible para una decisión específica.

Primero define qué quieres conocer y cuándo podrás conocerlo

El error más caro de una selección de variables suele producirse antes de calcular ninguna correlación: empezar a analizar columnas sin haber formulado exactamente la pregunta.

Especifica el resultado y la unidad de análisis

Una formulación imprecisa sería «analizar los clientes». Una formulación útil sería «estimar, al cierre de cada mes, la probabilidad de que un cliente activo no realice ninguna compra durante los 90 días siguientes».

Esta segunda definición identifica cuatro elementos esenciales:

  1. Unidad de análisis: un cliente activo en una fecha de corte.
  2. Resultado: ausencia de compras durante los 90 días posteriores.
  3. Momento de decisión: el cierre del mes, antes de observar el resultado futuro.
  4. Uso previsto: priorizar acciones de seguimiento comercial, no emitir juicios sobre la persona.

Con esos elementos ya puede decidirse si «número de incidencias anteriores» es una variable admisible y si «motivo de baja» debe excluirse. La primera puede estar disponible en la fecha de corte; la segunda solo suele conocerse después de la baja y revelaría indebidamente el resultado.

Distingue predicción, diagnóstico y causalidad

Si se quiere predecir, interesa conocer qué variables mejoran el rendimiento fuera de los datos de entrenamiento. Si se quiere describir la actividad, interesa identificar indicadores claros y comparables. Si se quiere saber si una medida comercial causa una mejora, la selección exige además un diseño causal: controlar variables de confusión, respetar la secuencia temporal y no ajustar indiscriminadamente por consecuencias de la intervención.

Una asociación fuerte no convierte una variable en causa. Por ejemplo, muchas consultas al servicio de soporte pueden estar relacionadas con la pérdida de clientes, pero eso no demuestra que reducir artificialmente las consultas reduzca las bajas.

Elabora un inventario de variables candidatas antes de eliminarlas

Es conveniente empezar con un inventario que explique qué representa cada campo y de dónde procede. Esta pequeña inversión ahorra decisiones arbitrarias más adelante y ayuda a descubrir inconsistencias entre fuentes.

Ejemplo de inventario inicial para analizar la continuidad de clientes
Variable Significado Disponibilidad Observación inicial
antiguedad_meses Meses desde el alta Antes de la predicción Candidata útil
compras_90d Compras en los 90 días anteriores Antes de la predicción Candidata útil
tickets_90d Incidencias abiertas en los 90 días anteriores Antes de la predicción Revisar definición
canal_alta Origen comercial del alta Desde el registro Categórica
id_cliente Clave interna del registro Desde el registro Identificador, no predictor por defecto
fecha_baja Fecha efectiva de cancelación Después del resultado en muchos casos Posible fuga de información

Para cada candidata también deberían documentarse el tipo de dato, unidad de medida, frecuencia de actualización, periodo cubierto, porcentaje de valores ausentes, responsable y coste de obtención. Cuando intervienen varias aplicaciones, es importante comprobar que los campos se corresponden realmente. «Cliente activo» puede significar una cosa en facturación y otra en atención comercial.

Si aún no existe una definición común de los campos, conviene trabajar primero la documentación de los datos empresariales. Una selección estadística no puede corregir por sí misma un significado ambiguo.

Realiza un primer filtrado por utilidad, calidad y disponibilidad

Antes de utilizar métodos estadísticos, aplica reglas comprensibles. Este primer filtrado suele reducir considerablemente el trabajo y elimina columnas que nunca deberían haber participado en la comparación.

Excluye identificadores sin significado predictivo defendible

Un número de expediente, una clave de cliente o un identificador generado automáticamente sirven para enlazar registros y auditar resultados. Normalmente deben conservarse fuera de la matriz de variables predictoras. Si se introducen en el modelo, podrían capturar peculiaridades accidentales del conjunto de entrenamiento.

No obstante, la regla no es «eliminar cualquier código». Un código postal o una categoría de producto pueden contener información real; precisamente por eso requieren analizar significado, legitimidad de uso y riesgos de sesgo en lugar de tratarlos como simples números.

Detecta columnas constantes o casi constantes

Si todos los registros de una muestra tienen el mismo valor en una columna, ese campo no diferencia observaciones en esa muestra. Puede retirarse de ese análisis, aunque conviene comprobar si la constancia es temporal o procede de un error de extracción.

Las variables casi constantes requieren más atención. Un fallo de seguridad que solo aparece en el 0,5 % de los casos podría ser justamente lo que interesa detectar. La baja frecuencia, por sí sola, no demuestra falta de utilidad.

Revisa los valores ausentes sin aplicar umbrales universales

Una variable con muchos valores vacíos puede ser costosa de utilizar, pero no debe descartarse automáticamente. Pregunta por qué faltan los datos, si la ausencia se concentra en determinados grupos y si podrá obtenerse el campo cuando se tome la decisión.

La falta de respuesta puede contener información, aunque también reflejar un problema administrativo. Si se decide crear un indicador de ausencia, su cálculo e imputación deben realizarse con cuidado dentro del proceso de entrenamiento para evitar contaminación entre muestras.

Comprueba errores de captura y definiciones inestables

Un «importe anual» expresado unas veces en euros y otras en miles de euros no es una variable lista para analizar. Tampoco lo es una antigüedad calculada con criterios distintos según el sistema de origen.

La preparación y la selección son tareas diferentes pero relacionadas. Para abordar inconsistencias de origen, puede resultar útil revisar cómo mejorar la calidad de los datos antes de automatizar procesos; aquí el foco continúa siendo decidir qué campos utilizar una vez comprendidas esas limitaciones.

Elimina las fugas de información

La fuga de información aparece cuando una variable revela directa o indirectamente algo que no estaría disponible en el momento real de predecir. Ejemplos habituales son el resultado final de una incidencia, la fecha de cancelación de un servicio o el importe de una factura emitida después del periodo que se intenta anticipar.

También puede existir fuga en agregados aparentemente inocentes. «Total de compras del año» no debe utilizarse para una predicción hecha en marzo si ese total incluye compras realizadas entre abril y diciembre.

Regla práctica: para cada variable, escribe la pregunta «¿podría conocer este valor exacto el día en que tengo que decidir?». Si la respuesta es no, no sirve tal como está definida.

Cómo medir si una variable aporta información relevante

Una vez superado el filtrado inicial, es posible examinar las asociaciones entre cada candidata y el resultado. Ninguna medida aislada resuelve el problema completo: la técnica debe corresponderse con el tipo de dato y con el objetivo analítico.

Observa primero distribuciones y segmentos

Antes de calcular coeficientes, compara distribuciones. ¿Los clientes que dejan de comprar tenían menos actividad previa? ¿Los tiempos de resolución son mayores en ciertas categorías? ¿La variable conserva valores parecidos entre meses?

Las tablas de frecuencias, gráficos de dispersión, histogramas y comparaciones por segmentos ayudan a detectar valores anómalos, agrupaciones y relaciones que una sola cifra puede ocultar. Esta revisión exploratoria también permite formular hipótesis que después deberán contrastarse.

Correlaciones: útiles, pero limitadas

La correlación de Pearson resume la asociación lineal entre dos variables numéricas. La correlación de Spearman ayuda a estudiar relaciones monótonas mediante rangos y puede ser más adecuada cuando hay asimetrías u observaciones extremas.

Un coeficiente cercano a cero no demuestra que una variable carezca de interés. Puede existir una relación curva, un umbral o una interacción con otra variable. Y una correlación elevada puede deberse a factores comunes, al paso del tiempo o a una fuga de información.

Comparaciones para variables categóricas

Si una característica representa categorías —por ejemplo, canal de captación o tipo de contrato— puede estudiarse la distribución del resultado por grupo. En ciertos contextos son útiles pruebas como chi-cuadrado; sin embargo, su resultado depende del tamaño de la muestra y no debe confundirse la significación estadística con la utilidad para una decisión.

También importa el tamaño de las diferencias observadas, la cantidad de registros por categoría y si los resultados se repiten en otros periodos. Una categoría con solo tres casos no debería justificar una regla operativa de alcance general.

Información mutua y relaciones no lineales

La información mutua permite explorar dependencias que no tienen por qué ser lineales. Es útil para ordenar candidatas, pero su estimación depende de la muestra y del tratamiento de variables continuas y discretas. Un valor más alto no garantiza que añadir la columna mejore un modelo completo.

Pregúntate qué añade una variable respecto a las demás

La variable que parece más útil por separado puede volverse innecesaria al introducir otra que resume casi la misma información. Y una característica débil de forma aislada puede resultar valiosa combinada con otras. Por eso, el análisis individual es solo una primera aproximación.

Cómo detectar variables redundantes sin perder información valiosa

Supongamos que un negocio dispone de tres campos: facturación mensual, facturación trimestral y promedio mensual del trimestre. Es probable que compartan gran parte de la información. Mantener los tres puede ser razonable en un cuadro de mando, pero no necesariamente mejora un modelo predictivo.

La redundancia no se mide solo por nombres parecidos. Dos variables aparentemente diferentes pueden describir casi el mismo fenómeno. Por ejemplo, el número de pedidos y el número de facturas podrían estar muy relacionados en una actividad donde cada pedido genera exactamente una factura.

Construye una matriz de relaciones entre candidatas

Para variables numéricas, una matriz de correlaciones ayuda a localizar parejas muy asociadas. No conviene imponer una frontera universal como «si supera 0,80, eliminar»: la decisión depende del problema, del modelo y de cómo se utilizan ambas columnas.

Si hay correlación elevada, comprueba:

  • Cuál de las variables es más fiable y fácil de actualizar.
  • Cuál está disponible en el momento de decisión.
  • Cuál resulta más comprensible para las personas que usarán los resultados.
  • Si ambas añaden información al evaluarlas conjuntamente.
  • Si interesa conservar las dos por motivos de control, auditoría o interpretación.

Ten cuidado con la multicolinealidad

En modelos lineales, varias variables muy relacionadas pueden hacer inestables algunos coeficientes y dificultar su interpretación. Las técnicas de regularización pueden ayudar, pero no sustituyen la revisión del significado de las columnas.

En modelos basados en árboles también puede aparecer redundancia: el modelo puede repartir la importancia entre características similares. Por tanto, una variable con baja importancia individual no siempre es prescindible. Antes de eliminarla, conviene medir cómo cambia el resultado al retirar el grupo de variables relacionadas.

Relaciona redundancia con coste operativo

Si dos columnas ofrecen un rendimiento comparable, suele merecer la pena preferir la que requiere menos trabajo, tiene menos ausencias y procede de una fuente más estable. La selección correcta también simplifica las futuras integraciones y reduce puntos de fallo.

Qué métodos de selección de variables existen y cuándo utilizarlos

Los métodos de selección se suelen organizar en tres grandes familias. La diferencia principal es cómo estiman la utilidad de las variables y cuánto dependen del modelo final.

Métodos de filtrado: una revisión rápida antes del modelo

Los métodos filter asignan puntuaciones a las características sin entrenar necesariamente el modelo predictivo definitivo. Algunos ejemplos son la eliminación de variables constantes, las correlaciones, las pruebas estadísticas apropiadas al tipo de dato o la información mutua.

Ventaja: pueden reducir rápidamente el número de candidatas. Limitación: las puntuaciones independientes pueden ignorar interacciones y redundancias. Además, cualquier filtrado aprendido de los datos debe calcularse exclusivamente con los registros de entrenamiento de cada partición.

Métodos envolventes: probar subconjuntos y medir resultados

Los métodos wrapper comparan conjuntos de variables entrenando y evaluando un modelo. Entre ellos se encuentran la selección secuencial hacia delante, la eliminación hacia atrás y la eliminación recursiva de características (RFE).

Ventaja: permiten evaluar la contribución de conjuntos concretos para un modelo. Limitación: pueden ser costosos cuando existen muchas variables y, si se prueban demasiadas combinaciones sobre los mismos datos, aumenta el riesgo de ajustar la selección al azar.

Métodos integrados: selección durante el entrenamiento

Los métodos embedded incorporan la selección o reducción efectiva de variables al propio ajuste. Un ejemplo es la regularización L1 en determinados modelos lineales, que puede llevar algunos coeficientes a cero. También es habitual utilizar importancias de modelos basados en árboles, interpretándolas con cautela.

Ventaja: combinan aprendizaje y selección. Limitación: el resultado depende del algoritmo, de los parámetros elegidos y de las relaciones entre variables. La importancia producida por un árbol no equivale automáticamente a importancia causal ni a necesidad operativa.

Comparación resumida de enfoques
Enfoque Uso práctico Principal precaución
Filtrado Primera reducción de candidatas Puede ignorar interacciones
Envolvente Comparar subconjuntos con un modelo Coste y sobreajuste por muchas pruebas
Integrado Seleccionar durante el ajuste Dependencia del algoritmo y sus parámetros
Revisión experta Descartar fugas y definir viabilidad Posibles sesgos o criterios no documentados

En un proyecto real, estos enfoques se combinan: primero se descartan campos inadmisibles, después se realiza una exploración y finalmente se comparan subconjuntos mediante validación. Ningún método automático reemplaza la revisión del contexto.

Cómo seleccionar variables según su tipo y significado

Variables numéricas

Para importes, cantidades y medidas continuas, revisa rango, escala, extremos, valores ausentes y estabilidad temporal. Algunas técnicas son sensibles a la escala: cuando se utilizan modelos lineales regularizados o métodos basados en distancias, puede ser conveniente estandarizar las variables dentro del proceso de entrenamiento.

No confundas escalado con selección. Pasar importes de euros a miles de euros no convierte la variable en más informativa, aunque puede afectar al comportamiento de determinados algoritmos si no se preprocesa adecuadamente.

Variables categóricas

Campos como «tipo de cliente» o «canal de entrada» necesitan un tratamiento adecuado para el modelo utilizado. La codificación one-hot crea indicadores para categorías, pero un campo con miles de valores distintos puede multiplicar el número de columnas resultantes.

Cuando una variable categórica se transforma en varios indicadores, puede ser más útil evaluar su contribución como grupo de características, en lugar de interpretar cada columna codificada por separado.

Fechas y series temporales

Una fecha aislada no siempre es útil. En ocasiones conviene obtener antigüedad, días desde la última compra o número de operaciones en un intervalo anterior al momento de decisión. Estas variables derivadas deben calcularse sin mirar información posterior.

También conviene diferenciar una estacionalidad real de una casualidad presente solo en la muestra histórica. Si el sistema se utilizará en meses futuros, la estabilidad temporal es tan importante como el ajuste estadístico.

Texto libre y anotaciones

Los comentarios de soporte o las descripciones de incidencias pueden contener información relevante, pero incorporarlos exige limpieza, tratamiento de datos personales y una transformación apropiada. No hay que introducir texto libre por el simple hecho de que esté disponible.

Datos sensibles o indicadores indirectos

Antes de incorporar información personal, comprueba necesidad, finalidad y proporcionalidad. Un campo aparentemente inocente puede funcionar como indicador indirecto de características sensibles. Incluso si mejora una métrica predictiva, eso no justifica automáticamente su uso.

La decisión final debe atender también a las obligaciones aplicables de protección de datos y a la necesidad de explicar y supervisar las decisiones que se apoyen en el análisis.

Cómo validar que las variables elegidas mejoran de verdad el análisis

Una selección no queda justificada porque el modelo funcione bien con los mismos registros utilizados para elegirla. Debe compararse su rendimiento sobre observaciones que no hayan intervenido en las decisiones de selección.

Define primero una referencia sencilla

Construye una solución de referencia: una regla operativa o un modelo básico con pocas variables. Después compara ese punto de partida con conjuntos más amplios. Si aumentar de cuatro a cuarenta variables apenas mejora los resultados, quizá la complejidad añadida no esté justificada.

Separa entrenamiento, validación y prueba

Reserva un conjunto de prueba que no se utilice para escoger variables ni ajustar parámetros. La selección y el preprocesamiento deben ocurrir sobre entrenamiento y, cuando se emplea validación cruzada, repetirse dentro de cada partición de entrenamiento.

Hacer una selección estadística sobre todo el fichero y después dividirlo es una fuga de información: la decisión sobre qué variables conservar ya habrá aprovechado datos que deberían permanecer desconocidos.

Respeta el tiempo o la pertenencia a grupos

Una división aleatoria no siempre es válida. Si se predicen acontecimientos futuros, suele ser más razonable entrenar con periodos anteriores y validar con periodos posteriores. Si existen varios registros del mismo cliente, paciente, máquina o proyecto, puede ser necesario mantener sus observaciones juntas en las particiones para no sobreestimar la capacidad de generalización.

Utiliza métricas acordes con la decisión

En clasificación pueden resultar útiles precisión, sensibilidad, F1, ROC-AUC o precisión-recall, según el equilibrio de clases y el coste de los errores. En estimación de cantidades se utilizan, entre otras, MAE o RMSE. La métrica elegida debe reflejar para qué se usará el resultado, no solamente cuál produce el número más favorable.

Si se comparan muchas combinaciones de variables y parámetros, una evaluación anidada o una prueba final completamente independiente ayuda a reducir el optimismo de la comparación. Una diferencia pequeña de puntuación debe interpretarse junto a su variabilidad entre particiones.

Evalúa también estabilidad, coste y explicación

Compara no solo la métrica, sino el número de campos, su disponibilidad y la facilidad de explicar la decisión. Un subconjunto con rendimiento prácticamente equivalente, menos datos que mantener y una interpretación clara puede ser preferible a otro ligeramente superior pero frágil.

Ejemplo práctico: escoger variables para anticipar la pérdida de clientes

Consideremos una empresa de servicios con varios años de operaciones registradas. Quiere identificar clientes activos que podrían dejar de comprar durante los tres meses siguientes. Todas las variables candidatas se calculan respecto a una fecha de corte mensual.

Paso 1. Construir la lista inicial

El equipo encuentra nueve campos potenciales: identificador, antigüedad, número de compras previas, importe comprado, días desde la última compra, consultas recientes, canal de alta, fecha de baja y motivo de baja.

Paso 2. Aplicar el filtro de disponibilidad

Se excluyen como predictores el identificador —que se conserva solo para vincular los resultados— y la fecha y el motivo de baja, porque revelan información posterior al momento de predicción. Permanecen seis variables candidatas.

Paso 3. Revisar calidad y redundancia

Se descubre que «número de compras» e «importe comprado» están relacionados, pero no representan exactamente lo mismo: un cliente puede comprar pocas veces y gastar mucho. Por tanto, no se elimina ninguna sin comprobar qué aporta al resultado.

También se constata que el canal de alta está incompleto en registros antiguos. Se compara su utilidad con y sin imputación adecuada, sin utilizar para ello observaciones del conjunto de prueba.

Paso 4. Comparar grupos de variables

Las siguientes cifras son ficticias y exclusivamente ilustrativas. Representan resultados posibles al comparar alternativas sobre una validación correctamente separada; no son datos de ninguna empresa real.

Comparación ilustrativa de tres configuraciones
Configuración Variables ROC-AUC medio de validación Lectura práctica
A. Básica Antigüedad y compras previas 0,71 Fácil de mantener, información limitada
B. Reducida Antigüedad, compras, días desde última compra y consultas 0,75 Equilibrio entre utilidad y sencillez
C. Ampliada Las seis variables admisibles 0,751 Mejora mínima; comprobar variabilidad y costes

Los valores no permiten declarar automáticamente vencedora a la configuración C. La diferencia entre 0,750 y 0,751 podría ser menor que la variabilidad observada entre periodos. Si mantener «canal de alta» e «importe comprado» aumenta el coste de preparación y no ofrece una mejora estable, la configuración B podría ser más conveniente.

Paso 5. Comprobar qué ocurre al cambiar de periodo

Antes de implantar la solución, se prueba sobre meses posteriores. Si la utilidad de «consultas recientes» desaparece porque la empresa ha cambiado el sistema de soporte, habrá que revisar esa variable. Una selección válida en un periodo no debe darse por permanente.

Paso 6. Documentar una decisión reproducible

El resultado no es solo una lista de nombres. Debe quedar registrado qué columnas se aceptaron, cuáles se rechazaron, por qué se tomaron esas decisiones, qué periodos se evaluaron y qué métrica sirvió para comparar las alternativas.

Cuando el análisis se conecte con sistemas empresariales, este registro ayudará a determinar de qué aplicaciones deben extraerse los datos y cómo mantener estable su definición. Es un complemento natural de la integración de Ciencia de Datos con bases de datos empresariales.

Cómo comparar grupos de variables con Python y scikit-learn

Para comprobar si un conjunto reducido merece la pena, puede construirse un experimento reproducible. El siguiente ejemplo compara tres grupos de columnas sobre un fichero clientes.csv con una variable objetivo binaria denominada abandono_90d.

El código es una plantilla adaptable: presupone que esas columnas existen y que todos los valores predictivos se calcularon exclusivamente con información anterior a la fecha de corte. Las cifras del apartado anterior no proceden de ejecutarlo.

import pandas as pd
from sklearn.compose import ColumnTransformer
from sklearn.impute import SimpleImputer
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score
from sklearn.model_selection import (
    StratifiedKFold,
    cross_val_score,
    train_test_split,
)
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import OneHotEncoder, StandardScaler

datos = pd.read_csv("clientes.csv")
objetivo = "abandono_90d"

# Solo características disponibles antes de la fecha de corte.
conjuntos = {
    "basico": ["antiguedad_meses", "compras_90d"],
    "reducido": [
        "antiguedad_meses", "compras_90d",
        "dias_ultima_compra", "tickets_90d",
    ],
    "ampliado": [
        "antiguedad_meses", "compras_90d",
        "dias_ultima_compra", "tickets_90d",
        "importe_90d", "canal_alta",
    ],
}

datos = datos.dropna(subset=[objetivo])
y = datos[objetivo].astype(int)
indices_entrena, indices_prueba = train_test_split(
    datos.index, test_size=0.20, stratify=y, random_state=42
)


def construir_pipeline(columnas):
    numericas = [c for c in columnas if c != "canal_alta"]
    categoricas = [c for c in columnas if c == "canal_alta"]

    preprocesado = ColumnTransformer([
        ("num", Pipeline([
            ("imputar", SimpleImputer(strategy="median")),
            ("escalar", StandardScaler()),
        ]), numericas),
        ("cat", Pipeline([
            ("imputar", SimpleImputer(strategy="most_frequent")),
            ("codificar", OneHotEncoder(handle_unknown="ignore")),
        ]), categoricas),
    ])

    return Pipeline([
        ("preprocesado", preprocesado),
        ("modelo", LogisticRegression(max_iter=2000)),
    ])


cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
resultados = {}

for nombre, columnas in conjuntos.items():
    modelo = construir_pipeline(columnas)
    puntuaciones = cross_val_score(
        modelo,
        datos.loc[indices_entrena, columnas],
        y.loc[indices_entrena],
        cv=cv,
        scoring="roc_auc",
    )
    resultados[nombre] = puntuaciones.mean()
    print(nombre, "ROC-AUC CV:", round(puntuaciones.mean(), 3),
          "desviacion:", round(puntuaciones.std(), 3))

# Elegir usando SOLO las puntuaciones de validacion cruzada.
elegido = max(resultados, key=resultados.get)
columnas_finales = conjuntos[elegido]
modelo_final = construir_pipeline(columnas_finales)
modelo_final.fit(
    datos.loc[indices_entrena, columnas_finales],
    y.loc[indices_entrena],
)

probabilidades = modelo_final.predict_proba(
    datos.loc[indices_prueba, columnas_finales]
)[:, 1]

print("Conjunto elegido:", elegido)
print("ROC-AUC en prueba independiente:", round(
    roc_auc_score(y.loc[indices_prueba], probabilidades), 3
))

Hay tres decisiones técnicas importantes en el ejemplo. Primero, las columnas que pueden revelar el futuro nunca se incluyen en los conjuntos. Segundo, la imputación, el escalado y la codificación forman parte de una Pipeline, de modo que se ajustan únicamente con las observaciones de entrenamiento de cada partición. Tercero, la muestra de prueba se consulta una sola vez después de elegir la configuración mediante validación cruzada.

El ejemplo utiliza una división aleatoria estratificada solo para ilustrar la mecánica. En el caso empresarial planteado, donde se predicen meses futuros y puede haber observaciones repetidas de cada cliente, debe adaptarse el experimento a un corte temporal y, si corresponde, a particiones por grupos. Además, conviene valorar otras métricas si las bajas son poco frecuentes.

Este código no es un selector automático universal: compara subconjuntos planteados conscientemente. Si se introduce un selector estadístico o un método RFE, también deberá colocarse dentro de la canalización y de cada validación, nunca ejecutarse previamente sobre la tabla completa.

Cómo comprobar que la selección seguirá siendo útil con el tiempo

Las variables elegidas no deberían convertirse en una decisión inamovible. Los procesos cambian, aparecen nuevas aplicaciones y se modifican hábitos de clientes, productos o equipos.

Repite la comprobación en distintas ventanas temporales

Una característica puede parecer excelente debido a una campaña comercial excepcional o a un cambio puntual en el sistema de registro. Conviene revisar si mantiene su utilidad en varios periodos y si el rendimiento global se degrada después de la implantación.

Controla cambios de definición y de disponibilidad

Una variable llamada tickets_90d deja de significar lo mismo si, a partir de cierta fecha, también incluye consultas informativas que antes no se registraban. Aunque conserve el mismo nombre, la serie ya no es estrictamente comparable.

Distingue importancia predictiva y prioridad de intervención

Que «días desde la última compra» sea un buen predictor no significa que una empresa pueda modificar directamente esa variable sin intervenir sobre las causas reales. Usar los resultados para diseñar actuaciones requiere criterio profesional y, cuando se persiguen efectos causales, evaluaciones adicionales.

Guarda un registro de decisiones

Para cada versión del análisis, conserva como mínimo:

  • Fecha de evaluación, finalidad y población estudiada.
  • Lista de candidatas y motivos de exclusión.
  • Definición exacta de las variables derivadas y su ventana temporal.
  • Método de selección y configuración de validación.
  • Métricas obtenidas, variabilidad y comparación con la referencia.
  • Persona responsable y condición que obligaría a revisar la selección.

Este registro facilita la continuidad de proyectos y enlaza con las buenas prácticas de documentación completa de un proyecto de Ciencia de Datos, sin convertir la documentación en un ejercicio burocrático.

Errores frecuentes al elegir variables y lista de comprobación

La selección puede fallar incluso cuando se utiliza una técnica estadística avanzada. Estos son algunos de los errores más habituales:

  • Seleccionar por intuición exclusivamente: el conocimiento experto propone candidatas y detecta incoherencias, pero debe contrastarse cuando se pretende predecir.
  • Seleccionar solo por correlación con el objetivo: pueden perderse relaciones no lineales o interacciones relevantes.
  • Descartar todas las variables correlacionadas: algunas aportan información complementaria o mejoran la estabilidad.
  • Confundir significación con utilidad: una relación estadísticamente detectable puede carecer de valor operativo.
  • Usar datos posteriores a la decisión: produce rendimientos artificialmente elevados.
  • Calcular la selección antes de dividir los datos: permite que la validación influya en el entrenamiento.
  • Elegir la puntuación más alta sin analizar su variabilidad: diferencias mínimas pueden ser inestables.
  • Ignorar costes, permisos y facilidad de obtención: el conjunto elegido puede resultar imposible de mantener.
  • Conservar para siempre la misma selección: la utilidad de los campos cambia cuando cambia el negocio.

Lista de comprobación antes de dar por buenas las variables

  1. ¿Está definida la decisión que se quiere apoyar y la unidad de análisis?
  2. ¿Se conoce el valor de cada variable en el momento real de utilizarla?
  3. ¿Están documentados su origen, unidad, significado y calidad?
  4. ¿Se han eliminado las fugas de información y los identificadores injustificados?
  5. ¿Se han revisado redundancias, interacciones y tipos de dato?
  6. ¿La selección y el preprocesamiento están dentro de la validación?
  7. ¿Se ha comparado el resultado con una alternativa más sencilla?
  8. ¿La mejora se mantiene en periodos o grupos no utilizados para elegir las variables?
  9. ¿Es razonable el coste de capturar, actualizar y proteger la información?
  10. ¿Queda registrado quién revisará la selección si el contexto cambia?

Si varias respuestas son negativas, suele ser mejor corregir el diseño del análisis antes de incorporar más columnas o modelos más complejos.

Preguntas frecuentes sobre selección de variables

¿Cuántas variables debería tener un buen modelo de Ciencia de Datos?

No existe un número universal. Depende del problema, de la cantidad y calidad de observaciones, de las relaciones entre características y del algoritmo utilizado. Conviene comparar alternativas de complejidad creciente y elegir la que generalice bien y pueda mantenerse.

¿Una variable con correlación baja debe eliminarse?

No necesariamente. La correlación lineal puede pasar por alto relaciones no lineales, umbrales e interacciones. Antes de descartarla, examina el significado del campo y su efecto al evaluarlo con otras variables.

¿Es lo mismo selección de variables que reducción de dimensionalidad?

No exactamente. La selección conserva un subconjunto de características originales. Técnicas como el análisis de componentes principales (PCA) crean componentes nuevas a partir de combinaciones de variables; pueden reducir dimensiones, pero dificultar la interpretación directa de los campos originales.

¿Se pueden seleccionar variables con Excel?

Sí. Una hoja de cálculo permite revisar valores ausentes, distribuciones, tablas dinámicas, redundancias y correlaciones sencillas. Para comparaciones predictivas con validaciones repetidas, grandes volúmenes o numerosos subconjuntos, suelen resultar más adecuados entornos reproducibles de análisis.

¿Las variables más importantes de un modelo indican las causas del resultado?

No. La importancia predictiva refleja contribuciones bajo un método y unos datos concretos, pero no demuestra causalidad. Para evaluar causas se necesita un planteamiento adicional que contemple posibles variables de confusión y el diseño de la intervención.

¿Cada cuánto tiempo conviene repetir la selección?

Depende de la velocidad con que cambien los datos y los procesos. Debe revisarse cuando haya caídas sostenidas de rendimiento, nuevas fuentes, cambios de definiciones o modificaciones relevantes en la actividad. También puede establecerse una revisión periódica proporcionada al riesgo del análisis.

Conclusión: conservar la información que realmente ayuda a decidir

Seleccionar correctamente las variables consiste en mucho más que ordenar columnas por una puntuación. Requiere definir la pregunta, distinguir la información disponible de la que solo se conocerá después, examinar la calidad, controlar redundancias y comprobar resultados sobre datos que no hayan servido para tomar decisiones de selección.

El objetivo práctico es disponer de un conjunto útil, comprensible, verificable y sostenible. A veces incluir una nueva variable aporta una mejora clara; otras veces obliga a mantener otra integración y apenas cambia el resultado. La buena elección se reconoce porque la decisión está justificada y puede reproducirse, no porque el modelo acumule más características.

Esta disciplina es especialmente valiosa en empresas pequeñas y equipos técnicos: permite extraer más valor de los datos existentes sin multiplicar innecesariamente herramientas, costes y tareas de mantenimiento.

Profundiza en el análisis y la selección de datos con criterio profesional

Comprender qué variables conservar es una competencia esencial para analizar información empresarial y desarrollar soluciones basadas en datos. Si quieres avanzar desde la exploración inicial hasta métodos de análisis, evaluación y trabajo reproducible, puedes consultar los programas de formación de ESTUDIO METADATOS y valorar cuáles encajan con tus objetivos profesionales.

Ver programas de formación relacionados

Written by