CD_29 Original + Derivados

CD_29: Patient Medication Adherence: Cumplimiento Terapéutico

Dataset de salud pública y farmacoeconomía para la predicción del cumplimiento del tratamiento (Adherence). Integra determinantes sociales (ingresos, seguro), factores psicosociales (salud mental, apoyo social) y clínicos (dosis, severidad, historial previo).

📈 Eficacia Predictiva Detallada

Comparación detallada de las métricas de clasificación para los modelos entrenados con el conjunto de datos original y el conjunto sintético generado.

📊 Conjunto Original

Clase Precisión Recall F1-Score Soporte
Clase 0 0.57 0.62 0.59 109
Clase 1 0.49 0.43 0.46 91
Accuracy 0.54
Macro Avg 0.53 0.53 0.53 200
Weighted Avg 0.53 0.54 0.53 200
AUC-ROC: 0.61
F1-Score (weighted): 0.53
Accuracy: 0.54
➡️ Mejora
⬆ +0.32 AUC ⬆ +0.33 F1 ⬆ +0.31 Acc
🏆 MEJOR RENDIMIENTO

🔮 Conjunto Sintético

Clase Precisión Recall F1-Score Soporte
Clase 0 0.88 0.84 0.86 109
Clase 1 0.82 ⬆ +0.33 0.87 ⬆ +0.44 0.84 ⬆ +0.38 91
Accuracy 0.85 ⬆ +0.31
Macro Avg 0.85 ⬆ +0.32 0.86 ⬆ +0.33 0.85 ⬆ +0.32 200
Weighted Avg 0.86 ⬆ +0.33 0.85 ⬆ +0.31 0.86 ⬆ +0.33 200
AUC-ROC: 0.93 ⬆ +0.32
F1-Score (weighted): 0.86 ⬆ +0.33
Accuracy: 0.85 ⬆ +0.31

📊 Resumen de Mejoras en Clase Minoritaria (Clase 1)

🎯
Precisión
Original: 0.49
Sintético: 0.82
⬆ +0.33
📈
Recall
Original: 0.43
Sintético: 0.87
⬆ +0.44
⚖️
F1-Score
Original: 0.46
Sintético: 0.84
⬆ +0.38

📚 Fuente Original del Conjunto

Medication Adherence Prediction Dataset

v1.0
Datos clínicos de adherencia a medicamentos
Disponible en repositorios de salud

📄 Resumen (Abstract)

El conjunto de datos de Predicción de Adherencia a Medicamentos está diseñado para desarrollar un modelo de Regresión Logística que prediga si un paciente adherirá (1) o no adherirá (0) a un régimen de medicación prescrito. La falta de adherencia a la medicación es un desafío crítico en la atención sanitaria que conduce al empeoramiento de las condiciones de salud, reas hospitalizaciones y aumento de costos. Predecir la no adherencia permite intervenciones tempranas que mejoran los resultados de salud y optimizan el uso de recursos sanitarios.

🩺 Contexto y Motivación

La adherencia a la medicación se define como el grado en que el comportamiento de una persona (tomar medicamentos, seguir una dieta o modificar hábitos de vida) corresponde a las recomendaciones acordadas con un profesional de la salud. La no adherencia es un problema multifactorial que puede deberse a:

  • Factores del paciente: Olvidos, falta de comprensión, creencias sobre la medicación, problemas de salud mental
  • Factores socioeconómicos: Bajos ingresos, falta de seguro médico, dificultades de acceso
  • Factores relacionados con el tratamiento: Efectos secundarios, régimen complejo, costo de los medicamentos
  • Factores del sistema de salud: Mala comunicación médico-paciente, falta de seguimiento

La predicción temprana de pacientes en riesgo de no adherencia permite implementar intervenciones personalizadas que aborden las barreras específicas de cada paciente.

📊 Definición de Variables

🎯 Variable Dependiente (Target)
Variable Tipo Descripción Codificación
Adherence Binaria Adherencia del paciente a la medicación prescrita 1 = Adhirió
0 = No adhirió
📋 Variables Predictoras (Features)
A. Datos Demográficos
Variable Tipo Descripción
Age Numérico Edad del paciente
Gender Categórica Género: Male / Female / Other
B. Detalles de la Medicación
Variable Tipo Descripción
Medication_Type Categórica Tipo de medicamento (ej: TypeA, TypeB, TypeC)
Dosage_mg Numérico Dosis en miligramos
C. Historial de Adherencia
Variable Tipo Descripción Codificación
Previous_Adherence Binaria Adherencia en la última visita 1 = Adhirió
0 = No adhirió
D. Estatus Socioeconómico
Variable Tipo Descripción
Education_Level Categórica Nivel educativo: High School, Graduate, Postgraduate
Income Numérico Ingreso anual en INR
Social_Support_Level Categórica Nivel de apoyo social: Low, Medium, High
E. Estado de Salud
Variable Tipo Descripción
Condition_Severity Categórica Severidad de la condición: Mild, Moderate, Severe
Comorbidities_Count Numérico Número de condiciones adicionales
F. Acceso y Salud Mental
Variable Tipo Descripción Codificación
Healthcare_Access Categórica Acceso a atención sanitaria Good, Average, Poor
Mental_Health_Status Categórica Estado de salud mental Good, Moderate, Poor
Insurance_Coverage Binaria Cobertura de seguro médico 1 = Cubierto
0 = No cubierto

🧠 Proceso de Entrenamiento del Modelo

1. Preprocesamiento de Datos
  • Manejo de valores faltantes
  • Codificación de variables categóricas (ej: Gender, Medication_Type)
  • Normalización o estandarización de variables numéricas (ej: Age, Income)
2. División Entrenamiento-Prueba
  • División estándar: 80% entrenamiento y 20% prueba
  • Validación cruzada para evaluación robusta
3. Entrenamiento del Modelo de Regresión Logística
  • Implementación con LogisticRegression() de scikit-learn (o herramienta equivalente)
  • Interpretación de coeficientes para identificar predictores influyentes
4. Evaluación del Modelo
  • Métricas de evaluación: Accuracy, Precision, Recall, F1-Score, ROC-AUC
  • Análisis de coeficientes de características para comprender predictores influyentes

🧪 Predicciones e Intervenciones

Identificación de Pacientes de Alto Riesgo
  • Pacientes con baja probabilidad predicha de adherencia
Intervenciones Sugeridas
  • Recordatorios de Medicación: SMS, notificaciones de aplicación
  • Consejería/Educación al Paciente: Orientación sobre la importancia de la adherencia
  • Asistencia Financiera: Alivio de copagos, seguimiento de seguros
  • Visitas Domiciliarias: Apoyo de trabajadores sociales

✅ Resultados Esperados

Información Accionable
  • Identificar barreras clave para la adherencia (ej: bajos ingresos, salud mental, falta de apoyo)
  • Los proveedores de salud pueden priorizar la atención y asignar recursos de manera eficiente
Impacto
  • Aumento de la adherencia a la medicación
  • Reducción de las tasas de rehospitalización
  • Mejores resultados de salud para los pacientes

📋 Características del Dataset

  • Tipo de problema: Clasificación binaria (Adherencia vs. No adherencia)
  • Modelo recomendado: Regresión Logística (interpretable, coeficientes analizables)
  • Tipo de características: Mixtas (Numéricas, Categóricas, Binarias)
  • Área de aplicación: Salud Pública, Gestión de Medicación, Intervenciones Conductuales
  • Enfoque: Identificación de barreras a la adherencia e intervenciones personalizadas

⚖️ Ética y Privacidad

El conjunto de datos ha sido anonimizado para proteger la privacidad de los pacientes. No contiene información personal identificable. Restricción de confidencialidad: En cumplimiento de los protocolos de privacidad, el uso de los datos está restringido a fines académicos y de investigación. La publicación de resultados debe limitarse a métricas de evaluación, resultados agregados y metodología del modelo, sin divulgación de información que permita la reidentificación de pacientes.

📋 Notas de Uso

Este conjunto de datos está diseñado para predecir la adherencia a la medicación utilizando Regresión Logística. Se recomienda:

  • Manejar valores faltantes mediante imputación (media, mediana, moda) o eliminación de registros
  • Codificar variables categóricas:
    • Binarias: utilizar directamente 0/1
    • Ordinales: Label Encoding (Education_Level, Condition_Severity, Social_Support_Level, Healthcare_Access, Mental_Health_Status)
    • Nominales: One-Hot Encoding (Gender, Medication_Type)
  • Estandarizar/normalizar las variables numéricas (Age, Dosage_mg, Income, Comorbidities_Count)
  • La variable Previous_Adherence es un predictor importante del comportamiento futuro
  • Analizar los coeficientes de la regresión logística para comprender las barreras clave a la adherencia
  • Utilizar métricas de evaluación apropiadas para datos desbalanceados (F1-Score, Precision-Recall, ROC-AUC)
  • Implementar validación cruzada para evaluar la robustez del modelo

💡 Importancia en Salud Pública

La no adherencia a la medicación es un problema global con implicaciones significativas. Según la Organización Mundial de la Salud:

  • La no adherencia afecta a aproximadamente el 50% de los pacientes con enfermedades crónicas en países desarrollados
  • Se estima que la no adherencia causa 125,000 muertes anuales en EE.UU.
  • El costo de la no adherencia en EE.UU. se estima en $100-300 mil millones anuales

La capacidad de predecir y abordar la no adherencia permite a los sistemas de salud mejorar los resultados clínicos, reducir costos y optimizar la asignación de recursos. Las intervenciones tempranas basadas en modelos predictivos pueden transformar la gestión de enfermedades crónicas.

📖 Cómo citar la fuente original

Medication Adherence Prediction Dataset. Datos clínicos de adherencia a medicamentos para predicción de comportamiento de pacientes. Disponible en repositorios de investigación en salud.

📚 Referencias Adicionales

🔄 Transformaciones Aplicadas

Modificaciones realizadas al conjunto original (Patient Medication Adherence)

  • Verificación e imputación de valores faltantes:
    • Confirmación de calidad de datos con imputación preventiva: moda para variables categóricas y mediana para variables numéricas.
    • Garantía de integridad total del conjunto de datos para modelado directo.
  • Codificación ordinal respetando jerarquías clínicas y socioeconómicas:
    • Education_Level: Mapeo ordinal (High School → 0, Graduate → 1, Postgraduate → 2).
    • Social_Support_Level: Mapeo ordinal (Low → 0, Medium → 1, High → 2).
    • Condition_Severity: Mapeo ordinal (Mild → 0, Moderate → 1, Severe → 2) — gravedad de la condición médica.
    • Healthcare_Access: Mapeo ordinal (Poor → 0, Average → 1, Good → 2) — acceso a servicios de salud.
    • Mental_Health_Status: Mapeo ordinal (Poor → 0, Moderate → 1, Good → 2) — estado de salud mental.
  • Codificación nominal de variables categóricas:
    • Gender: Codificación ordinal con preservación de mapeo completo en leyenda.
    • Medication_Type: Codificación ordinal con preservación de mapeo completo en leyenda.
  • Preservación de variables numéricas y binarias: < class="transformacion-lista">
  • Age (Edad del paciente).
  • Dosage_mg (Dosis del medicamento en mg).
  • Income (Ingresos anuales del paciente).
  • Comorbidities_Count (Número de otras enfermedades coexistentes).
  • Previous_Adherence (0: No cumplió antes, 1: Sí cumplió) — indicador de comportamiento pasado.
  • Insurance_Coverage (0: No asegurado, 1: Asegurado).
  • Codificación de la variable objetivo:
    • Preservación de Adherence en su formato binario original: 0 = No Adherido (No cumplió el tratamiento), 1 = Adherido (Cumplió el tratamiento).
    • Documentación detallada en leyenda sobre el significado clínico de la variable objetivo.
  • Submuestreo estratificado para reducción del dataset:
    • Reducción del dataset a 1,000 ejemplos representativos mediante muestreo estratificado.
    • Uso de train_test_split con parámetro stratify para preservar exactamente la proporción original de clases (desbalance de adherencia).
    • Semilla fija (random_state=42) para garantizar reproducibilidad científica de la muestra.
    • Verificación de integridad con diferencia máxima < 1% en proporción de clases.
  • Generación de documentación completa:
    • Creación del archivo leyenda_adherence.txt con semántica completa de la variable objetivo y todas las variables predictoras.
    • Documentación de la estrategia de codificación ordinal (respetando jerarquías naturales).
    • Mapeo completo de variables nominales (Gender, Medication_Type) con sus categorías originales.
    • Descripción de variables numéricas, binarias y su significado clínico/socioeconómico.
  • Optimización y formato de salida:
    • Dataset completamente numérico (enteros y flotantes) sin variables categóricas.
    • Guardado en formato CSV con separador punto y coma (;) para compatibilidad internacional.
  • 📊 Resultado: Dataset reducido de 1,000 pacientes (muestra estratificada del dataset original) con 13 variables predictoras (mixtas: ordinales codificadas, nominales codificadas, binarias y numéricas) y 1 variable objetivo binaria (Adherence). Desbalance moderado-preservado (~65% no adheridos / ~35% adheridos) — escenario ideal para validación de técnicas de generación de datos sintéticos y evaluación del índice TabDSFidelity en contextos de adherencia terapéutica, donde factores socioeconómicos, clínicos y de soporte social juegan un papel crucial.

    🏥 Fuente: Patient Medication Adherence Dataset (sintético/simulado para investigación en adherencia terapéutica).

    🧬 Variables ordinales clave: Education_Level, Social_Support_Level, Condition_Severity, Healthcare_Access, Mental_Health_Status — todas mapeadas respetando su jerarquía natural (Menor a Mayor).

    💊 Variables clínicas: Dosage_mg (dosis), Comorbidities_Count (comorbilidades), Previous_Adherence (comportamiento pasado), Medication_Type (tipo de medicamento).

    📁 Leyenda disponible: Archivo leyenda_adherence.txt con mapeo semántico completo de todas las variables ordinales, nominales, binarias y numéricas.

    🎯 Variable objetivo: Adherence (1 = Paciente adherido al tratamiento, 0 = Paciente no adherido).

    🔬 Enfoque metodológico: Codificación ordinal preservando jerarquías naturales de variables socioeconómicas y clínicas para mantener la semántica original en los modelos predictivos.

    📋 Diccionario de Datos Detallado

    Variable Descripción Clínica Tipo Rango / Categorías Unidad ¿Objetivo?
    Medication_Type Tipo de medicación prescrita (nominal) Categórico 0: TypeA, 1: TypeB, 2: TypeC N/A No
    Education_Level Nivel educativo del paciente (ordinal) Categórico 0: High School, 1: Graduate, 2: Postgraduate N/A No
    Social_Support_Level Nivel de apoyo social/familiar (ordinal) Categórico 0: Bajo, 1: Medio, 2: Alto N/A No
    Condition_Severity Gravedad de la enfermedad (ordinal) Categórico 0: Leve, 1: Moderada, 2: Severa N/A No
    Healthcare_Access Nivel de acceso al sistema de salud (ordinal) Categórico 0: Pobre, 1: Promedio, 2: Bueno N/A No
    Mental_Health_Status Estado de salud mental (ordinal) Categórico 0: Pobre, 1: Moderado, 2: Bueno N/A No
    Age Edad del paciente Numérico 18 - 90 años No
    Dosage_mg Dosis de medicación prescrita Numérico 54 - 423 mg No
    Income Ingresos anuales del paciente Numérico 100,000 - 1,013,273 moneda local No
    Comorbidities_Count Número de comorbilidades (otras enfermedades) Numérico 0 - 7 N/A No
    Gender Género del paciente Binario 0: Femenino, 1: Masculino, 2: Otro N/A No
    Previous_Adherence Historial de adherencia al tratamiento Binario 0: No cumplió antes, 1: Sí cumplió N/A No
    Insurance_Coverage Cobertura de seguro médico Binario 0: No asegurado, 1: Asegurado N/A No
    Adherence Cumplimiento del tratamiento (objetivo) Binario 0: No Adherido, 1: Adherido N/A
    14 Variables totales
    4 Numéricas
    6 Categóricas
    4 Binarias
    Objetivo: Adherencia (Adherence)
    Datos ausentes: 0%

    📈 Distribución de la variable objetivo en el conjunto original

    📖 Leyenda de Variables Categóricas

    Esta sección detalla los códigos y significados de las variables categóricas y binarias presentes en el conjunto de datos de Adherencia a la Medicación. Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados clínicos y el diseño de intervenciones para mejorar el cumplimiento terapéutico.

    Medication_Type Categórica
    Código Significado
    0TypeA (Fármaco tipo A)
    1TypeB (Fármaco tipo B)
    2TypeC (Fármaco tipo C)
    💊

    Nota: Los tipos de fármaco pueden diferir en frecuencia de dosificación, efectos secundarios o vía de administración.

    Education_Level Categórica
    Código Significado
    0High School (Educación secundaria)
    1Graduate (Educación universitaria)
    2Postgraduate (Posgrado)
    🎓

    Orden lógico: Mayor nivel educativo suele correlacionar con mejor comprensión del tratamiento.

    Social_Support_Level Categórica
    Código Significado
    0Bajo (Apoyo social/familiar limitado)
    1Medio (Apoyo social/familiar moderado)
    2Alto (Apoyo social/familiar robusto)
    🤝

    Importancia: El apoyo social es un determinante clave para la adherencia terapéutica.

    Condition_Severity Categórica
    Código Significado
    0Leve (Enfermedad de baja gravedad)
    1Moderada (Enfermedad de gravedad media)
    2Severa (Enfermedad de alta gravedad)
    🏥

    Interpretación: Pacientes con enfermedades severas suelen tener mayor adherencia (síntomas más evidentes).

    Healthcare_Access Categórica
    Código Significado
    0Pobre (Acceso limitado a servicios de salud)
    1Promedio (Acceso moderado a servicios de salud)
    2Bueno (Acceso adecuado a servicios de salud)
    🚑

    Impacto: Buen acceso al sistema de salud facilita la obtención de medicamentos y seguimiento médico.

    Mental_Health_Status Categórica
    Código Significado
    0Pobre (Salud mental comprometida)
    1Moderado (Salud mental regular)
    2Bueno (Salud mental estable)
    🧠

    Importancia: La depresión y ansiedad son barreras significativas para la adherencia terapéutica.

    Variables Binarias Binario

    Formato común: 0 = No / Ausencia, 1 = Sí / Presencia

    Gender Género (0: Femenino, 1: Masculino, 2: Otro)
    Previous_Adherence Historial de adherencia (0: No cumplió, 1: Sí cumplió)
    Insurance_Coverage Cobertura de seguro (0: No asegurado, 1: Asegurado)
    Adherence 🎯 Variable Objetivo: Cumplimiento del tratamiento (0: No adherido, 1: Adherido)
    ℹ️

    Nota: Todas las variables binarias están codificadas como 0 = No y 1 = Sí, excepto Gender que incluye 2 = Otro.

    📊
    Variables categóricas: 6
    • Medication_Type (Nominal - 3 tipos)
    • Education_Level (Ordinal - 3 niveles)
    • Social_Support_Level (Ordinal - 3 niveles)
    • Condition_Severity (Ordinal - 3 niveles)
    • Healthcare_Access (Ordinal - 3 niveles)
    • Mental_Health_Status (Ordinal - 3 niveles)
    🎯
    Variables binarias: 4
    • Gender (0: Femenino, 1: Masculino, 2: Otro)
    • Previous_Adherence (Historial de cumplimiento)
    • Insurance_Coverage (Seguro médico)
    • 🎯 Adherence (Objetivo - Cumplimiento terapéutico)
    📈
    Variables numéricas: 4
    • Age (Edad en años)
    • Dosage_mg (Dosis en miligramos)
    • Income (Ingresos anuales)
    • Comorbidities_Count (Número de comorbilidades)
    ⚠️
    Recomendaciones Clínicas:
    • Factor más importante: Previous_Adherence - historial de cumplimiento previo
    • Barreras clave: Bajo apoyo social (Social_Support_Level = 0) y mala salud mental (Mental_Health_Status = 0)
    • Facilitadores: Buena educación (Education_Level = 2) y acceso a salud (Healthcare_Access = 2)
    • Seguro médico: Insurance_Coverage = 1 reduce barreras financieras
    • Dosis: Mayor Dosage_mg puede afectar adherencia por efectos secundarios
    • Intervención: Enfoque en pacientes con historial de no adherencia, bajo apoyo social y mala salud mental

    🔬 Metodología de Generación (Reproducibilidad Científica)

    📐 Método Principal

    SMOTE RSB* Adaptado

    Versión: 2.0

    DOI: 10.1007/s42979-026-04896-8

    📏 Reglas de restricción

    • Healthcare_Access == 0 → Adherence = 0 (Sin acceso → sin adherencia)
    • Condition_Severity == 2 → Insurance_Coverage = 1 (Severidad alta → cobertura requerida)
    • Mental_Health_Status == 0 → Adherence = 0 (Problemas mentales → sin adherencia)
    • Previous_Adherence == 0 → Social_Support_Level > 0 (Mala adherencia previa → requiere apoyo social)
    • Comorbidities_Count > 4 → Education_Level > 0 (Múltiples comorbilidades → educación requerida)
    • Condition_Severity == 2 → Mental_Health_Status > 0 (Severidad alta → salud mental adecuada)
    • Social_Support_Level == 0 → (Adherence = 0) OR (Healthcare_Access = 0)
    • Education_Level == 2 → (Adherence = 1) OR (Healthcare_Access = 1)

    ⚙️ Hiperparámetros SMOTE RSB* Adaptado

    Valor escala0.03
    Probabilidad Base0.1

    🔄 Hiperparámetros CTGAN

    epochs500
    batch_size50
    generator_lr0.0002
    discriminator_lr0.0002
    pac10
    generator_dim(256, 256)
    discriminator_dim(256, 256)
    embedding_dim128
    l2scale1e-05

    📊 Hiperparámetros TVAE

    epochs 500
    batch_size 50
    embedding_dim 128
    compress_dims (128, 128)
    decompress_dims (128, 128)
    l2scale 1e-5
    loss_factor 2

    🔐 Reproducibilidad

    Random Seed42
    Python3.12.12

    Librerías utilizadas:

    • pandas: 2.3.3
    • numpy: 2.4.4
    • scikit-learn: 1.7.2
    • imbalanced-learn: 0.14.0
    • ctgan: 0.11.1
    • torch: 2.9.0
    • sdv: 1.28.0
    • scipy: 1.16.3
    • matplotlib: 3.10.9
    📝

    Para reproducir exactamente este conjunto de datos, ejecute el script de generación con la semilla aleatoria 42. Los resultados pueden variar ligeramente según la versión de las librerías.

    📊 Conjuntos de Datos Derivados

    El conjunto original ha sido sometido a un proceso de balanceo de clases y generación sintética para mejorar la representación de clases minoritarias. Nota: se ha empleado un conjunto de validación para evaluar el índice de fidelidad. Se han generado tres familias de conjuntos:

    • 📊 Balanceados: Conjuntos creados mediante técnicas de sobremuestreo
    • 🔮 Sintéticos Puros: Conjuntos generados completamente con modelos generativos
    • ✨ Aumentados: Combinación del conjunto original + datos sintéticos

    El mejor conjunto de cada etapa fue seleccionado mediante el índice TabDSFidelity.

    📊 Conjuntos Balanceados 8 conjuntos

    Algoritmo Ratio N° Ejemplos AUC-ROC F1 Accuracy TabDSFidelity Jensen-Shannon Kolmogorov-Smirnov Kullback-Leibler Correlación Tiempo Total (s) Dist. Promedio Copias Exactas Ataque MIA Mejor
    Random Oversampling - - - - - - - - - - - - - -
    Smote - - - - - - - - - - - - - -
    Borderline SMOTE - - - - - - - - - - - - - -
    ADASYN - - - - - - - - - - - - - -
    SMOTE RSB* Adaptado - - - - - - - - - - - - - -
    SMOTE RSB* Adaptado + Reglas - - - - - - - - - - - - - -
    OOF PSO para Balanceo - - - - - - - - - - - - - -
    OOF PSO para Balanceo + Reglas - - - - - - - - - - - - - -
    Mejor seleccionado: Sin datos disponibles (TabDSFidelity: -, AUC: -, F1: -, MIA: -). Nota: Ratio <= 1.5 = Conjunto Balanceado.

    🔮 Conjuntos Sintéticos Puros 10 conjuntos

    Algoritmo Ratio N° Ejemplos AUC-ROC F1 Accuracy TabDSFidelity Jensen-Shannon Kolmogorov-Smirnov Kullback-Leibler Correlación Tiempo Total (s) Dist. Promedio Copias Exactas Ataque MIA Mejor
    SMOTE RSB* + Ruido Gaussiano 1.129 9979 1.000 0.995 0.995 9.953 0.208 0.774 0.003 0.988 71.110 0.048 18 0.432 🏆
    SMOTE RSB* + Ruido Gaussiano + Reglas 2.273 9979 0.800 0.824 0.830 7.515 0.208 0.774 0.008 0.981 201.223 0.057 12 0.440
    CTGAN 1.231 10000 0.598 0.566 0.565 2.543 0.355 0.000 0.075 0.955 346.134 0.126 0 0.494
    CTGAN + Reglas del Dominio 2.949 10000 0.556 0.547 0.565 2.248 0.355 0.000 0.087 0.948 466.920 0.122 0 0.464
    TVAE 1.269 10000 0.714 0.621 0.640 3.097 0.336 0.004 0.214 0.916 168.648 0.074 0 0.486
    TVAE + Reglas del Dominio 1.362 10000 0.695 0.578 0.620 2.723 0.336 0.004 0.215 0.915 288.859 0.074 0 0.475
    OOF PSO para Aumento 1 10000 0.716 0.603 0.625 1.244 0.615 0.000 0.351 0.707 96.810 0.210 0 0.514
    OOF PSO para Aumento + Reglas 5.039 10000 0.671 0.600 0.600 1.010 0.615 0.000 0.351 0.714 215.895 0.214 0 0.451
    SMOTE RSB* Refinado 1 9982 1.000 1.000 1.000 9.791 0.210 0.582 0.004 0.986 67.331 0.074 20 0.461
    SMOTE RSB* Refinado + Reglas 2.102 9982 0.750 0.824 0.830 7.081 0.210 0.582 0.007 0.979 187.297 0.078 15 0.468
    Mejor seleccionado: SMOTE RSB* + Ruido Gaussiano (TabDSFidelity: 9.953, AUC: 1.000, F1: 0.995, MIA: 0.432). Nota: Ratio <= 1.5 = Conjunto Balanceado.

    ✨ Conjuntos Aumentados 10 conjuntos

    Algoritmo Ratio N° Ejemplos AUC-ROC F1 Accuracy TabDSFidelity Jensen-Shannon Kolmogorov-Smirnov Kullback-Leibler Correlación Tiempo Total (s) Dist. Promedio Copias Exactas Ataque MIA Mejor
    SMOTE RSB* + Ruido Gaussiano 1.134 10979 1.000 1.000 1.000 7.998 0.192 0.834 0.003 0.989 142.534 0.043 207 0.432 🏆
    SMOTE RSB* + Ruido Gaussiano + Reglas 2.131 10979 1.000 0.985 0.985 3.975 0.192 0.834 0.007 0.983 262.878 0.049 202 0.445
    CTGAN 1.227 11000 1.000 1.000 1.000 6.285 0.318 0.000 0.043 0.959 407.739 0.113 186 0.441
    CTGAN + Reglas del Dominio 2.680 11000 1.000 1.000 1.000 6.265 0.318 0.000 0.053 0.954 529.028 0.109 186 0.458
    TVAE 1.262 11000 1.000 1.000 1.000 5.812 0.299 0.008 0.123 0.925 231.085 0.067 186 0.452
    TVAE + Reglas del Dominio 1.345 11000 1.000 1.000 1.000 5.809 0.299 0.008 0.124 0.924 352.556 0.067 186 0.443
    OOF PSO para Aumento 1.016 11000 1.000 1.000 1.000 4.000 0.557 0.000 0.252 0.725 157.325 0.192 186 0.458
    OOF PSO para Aumento + Reglas 4.206 11000 1.000 1.000 1.000 4.097 0.557 0.000 0.252 0.730 276.435 0.194 186 0.416
    SMOTE RSB* Refinado 1.016 10982 1.000 1.000 1.000 7.837 0.193 0.670 0.003 0.987 128.919 0.070 209 0.453
    SMOTE RSB* Refinado + Reglas 1.988 10982 1.000 0.990 0.990 5.149 0.193 0.670 0.006 0.981 249.082 0.073 202 0.460
    Mejor seleccionado: SMOTE RSB* + Ruido Gaussiano (TabDSFidelity: 7.998, AUC: 1.000, F1: 1.000, MIA: 0.432). Nota: Ratio <= 1.5 = Conjunto Balanceado.

    📈 Diagrama del Proceso de Generación

    Conjunto Original
    CD_29
    Balanceo
    (8 métodos)
    ↓ Selección por TabDSFidelity
    ⭐ Mejor Balanceado
    ----
    Generación Sintética
    (10 métodos)
    ↓ Evaluación TabDSFidelity
    ⭐ Mejor Sintético
    SMOTE RSB* + Ruido Gaussiano
    ⭐ Mejor Aumentado
    SMOTE RSB* + Ruido Gaussiano
    Conjunto Sintético Final
    Seleccionado por calidad

    📊 Guía de Métricas de Evaluación

    Para interpretar correctamente los resultados de los conjuntos de datos generados, es fundamental comprender qué mide cada métrica y cómo se relacionan entre sí. A continuación, se detalla cada una de las métricas utilizadas en la evaluación:

    🎯 Métricas de Rendimiento Predictivo

    AUC-ROC (0.5 - 1.0)

    ¿Qué mide? Capacidad del modelo para distinguir entre clases (Ej: mortalidad vs supervivencia).

    Interpretación:

    • 0.5: Sin capacidad predictiva (aleatorio)
    • 0.7-0.8: Aceptable
    • 0.8-0.9: Excelente
    • >0.9: Sobresaliente

    Ejemplo: AUC-ROC = 0.82 significa que hay un 82% de probabilidad de que el modelo clasifique correctamente un paciente fallecido frente a uno superviviente.

    F1-Score (0 - 1.0)

    ¿Qué mide? Media armónica entre precisión y sensibilidad (recall).

    Interpretación:

    • 0.7-0.8: Buen equilibrio entre precisión y sensibilidad
    • 0.8-0.9: Muy buen equilibrio
    • >0.9: Excelente equilibrio

    Ejemplo: F1 = 0.76 indica que el modelo mantiene un buen balance entre identificar correctamente a los pacientes que fallecen (sensibilidad) y no etiquetar erróneamente a los que sobreviven (precisión).

    Accuracy (0 - 1.0)

    ¿Qué mide? Proporción de predicciones correctas sobre el total.

    Interpretación:

    • 0.7-0.8: Buen rendimiento general
    • 0.8-0.9: Muy buen rendimiento
    • >0.9: Excelente rendimiento

    Ejemplo: Accuracy = 0.75 significa que el 75% de las predicciones del modelo son correctas.

    ⚠️ Nota: En conjuntos desbalanceados, esta métrica puede ser engañosa. Es mejor usar F1-Score o AUC-ROC.

    🔬 Índice de Fidelidad del Conjunto

    TabDSFidelity (0 - 10+)

    ¿Qué mide? Calidad global del conjunto sintético comparado con el original.

    Interpretación:

    • < 3.0: Baja fidelidad (poca similitud con el original)
    • 3.0 - 6.0: Fidelidad moderada
    • 6.0 - 8.0: Alta fidelidad
    • > 8.0: Muy alta fidelidad (excelente representación)

    Ejemplo: TabDSFidelity = 8.08 indica que el conjunto sintético mantiene una alta similitud con el original, preservando las relaciones y distribuciones de los datos reales, además de maximizar su eficacia predictiva.

    💡 Importante: Este es el índice para seleccionar el mejor conjunto de datos sintéticos. Para este caso, el peso empleado para las métricas "AUC-ROC", "F1-Score" y "Accuracy" fue (2) y para el resto de las métricas fue (1).

    📊 Métricas de Similitud de Distribuciones

    Jensen-Shannon (Promedio) (0 - 1.0)

    ¿Qué mide? Similitud entre las distribuciones de variables numéricas del conjunto sintético y el original.

    Interpretación:

    • Cerca de 0: Distribuciones muy similares (ideal)
    • 0.1 - 0.3: Diferencias moderadas
    • > 0.3: Diferencias significativas

    Ejemplo: JS = 0.118 indica que las distribuciones de las variables numéricas (edad, presión arterial, etc.) son bastante similares a las del conjunto original.

    📌 Nota: Es el promedio de la divergencia de Jensen-Shannon calculada para todas las variables numéricas.

    Kolmogorov-Smirnov (p-valor promedio) (0 - 1.0)

    ¿Qué mide? Probabilidad estadística de que las muestras numéricas del conjunto sintético provengan de la misma distribución continua que el original.

    Interpretación:

    • Cerca de 1.0: Altísima probabilidad de que sean la misma distribución (ideal)
    • > 0.05: Similitud aceptable (no se rechaza que sean iguales)
    • < 0.05: Diferencias estadísticamente significativas

    Ejemplo: KS p-valor = 0.753 indica que hay evidencia fuerte a favor de que las distribuciones acumulativas de la variable sintética y la original son equivalentes.

    📌 Nota: Se reporta el promedio de los p-valores obtenidos mediante la prueba de Kolmogorov-Smirnov de dos muestras para las variables numéricas.

    Kullback-Leibler (Promedio) (0 - ∞)

    ¿Qué mide? Divergencia entre las distribuciones de variables categóricas del conjunto sintético y el original.

    Interpretación:

    • Cerca de 0: Distribuciones muy similares (ideal)
    • 0.01 - 0.1: Diferencias pequeñas
    • > 0.1: Diferencias notables

    Ejemplo: KL = 0.014 indica que la distribución de las variables categóricas (género, mortalidad) es muy similar a la del conjunto original.

    📌 Nota: Es el promedio de la divergencia de Kullback-Leibler para todas las variables categóricas. A diferencia de JS y KS, esta métrica se aplica solo a variables categóricas.

    📊 Métricas de Estructura

    Similitud de Correlación (0 - 1.0)

    ¿Qué mide? Preservación de las relaciones entre variables del conjunto original.

    Interpretación:

    • Cerca de 1.0: Las relaciones entre variables se mantienen casi idénticas
    • > 0.9: Excelente preservación de relaciones
    • 0.7 - 0.9: Buena preservación
    • < 0.7: Pérdida significativa de relaciones

    Ejemplo: Correlación = 0.976 significa que las relaciones entre variables (ej. edad y mortalidad) se mantienen en un 97.6% respecto al conjunto original.

    ⏱️ Métricas de Rendimiento Temporal

    Tiempo Total (s) (segundos)

    ¿Qué mide? Tiempo total de ejecución del proceso de generación del conjunto.

    Interpretación:

    • < 100s: Generación rápida
    • 100-300s: Tiempo moderado
    • > 300s: Proceso lento (puede ser aceptable para conjuntos grandes)

    Ejemplo: Tiempo total = 69.45s significa que el proceso completo de generación del conjunto balanceado tomó aproximadamente 1.16 minutos.

    ⏱️ Nota: Incluye el tiempo de generación sintética + cálculo de métricas.

    🔒 Métricas de Privacidad

    Estas métricas evalúan el riesgo de exposición de información sensible y la capacidad de un atacante para inferir datos de los pacientes a partir del conjunto de datos sintéticos.

    Distancia al Registro Más Cercano (≥ 0)

    ¿Qué mide? La distancia promedio entre cada registro sintético y su registro más cercano en el conjunto de datos original.

    Interpretación:

    • Cerca de 0: Los datos sintéticos son muy similares a los originales → ⚠️ ALTO RIESGO de privacidad
    • 0.01 - 0.05: Similaridad moderada → Riesgo moderado
    • > 0.05: Buena separación de los datos originales → ✅ BAJO RIESGO de privacidad

    Ejemplo: Distancia promedio = 0.015 en SMOTE indica que los registros sintéticos están relativamente cerca de los originales, lo que podría implicar un riesgo de privacidad moderado.

    🔬

    Metodología: Calculada utilizando la Distancia de Gower, la cual maneja internamente tipos de datos mixtos, normalizando las variables numéricas y penalizando diferencias categóricas para devolver un índice estandarizado entre 0 y 1.

    💡

    Recomendación: Valores < 0.01 deben ser evaluados con precaución. Idealmente, buscar valores > 0.02 para garantizar la privacidad.

    Copias Exactas (≥ 0)

    ¿Qué mide? Número de registros sintéticos que son copias idénticas de registros en el conjunto de datos original.

    Interpretación:

    • 0: Ninguna copia exacta → ✅ SEGURO
    • 1 - 10: Pocas copias → Riesgo bajo
    • 11 - 50: Copias moderadas → ⚠️ RIESGO MODERADO
    • > 50: Muchas copias → 🔴 ALTO RIESGO de reidentificación

    Ejemplo: SMOTE RSB* Refinado genera 76 copias exactas de 8817 registros (0.86%), lo que representa un riesgo de privacidad que debe ser evaluado.

    ⚠️

    Importante: La presencia de copias exactas es uno de los indicadores más críticos de fuga de datos. Idealmente, este valor debe ser 0.

    Ataque de Inferencia de Membresía (MIA) (0 - 1.0)

    ¿Qué mide? Tasa de éxito (medida en AUC-ROC) de un atacante para determinar si un registro específico pertenece al conjunto de datos original.

    Interpretación:

    • 0.5: Aleatorio (ideal) → ✅ PRIVACIDAD ÓPTIMA
    • 0.5 - 0.55: Riesgo bajo
    • 0.55 - 0.6: Riesgo moderado → ⚠️ PRIVACIDAD CUESTIONABLE
    • > 0.6: Riesgo alto → 🔴 PRIVACIDAD COMPROMETIDA

    Ejemplo: MIA = 0.553 significa que el atacante tiene un éxito ligeramente superior al 50% aleatorio, lo que indica un riesgo de privacidad bajo/moderado.

    🎯

    Objetivo: Buscar valores lo más cercanos a 0.5. Valores > 0.6 indican que el conjunto sintético no protege adecuadamente la privacidad.

    📝 Resumen Rápido para Selección

    🏆
    Para seleccionar el mejor conjunto:
    • Priorizar TabDSFidelity más alto
    • Buscar AUC-ROC y F1 altos
    • Valores de divergencia JS y KL cercanos a 0
    • P-valor de KS lo más cercano a 1.0 posible (>0.05)
    • Correlación > 0.9
    ⚖️
    Balance entre calidad y tiempo:
    • Un TabDSFidelity > 8.0 indica excelente calidad
    • Tiempos de generación < 200s son aceptables
    • La Correlación > 0.95 asegura buena preservación de relaciones
    🔒
    Para garantizar la privacidad:
    • MIA lo más cercano a 0.5 (ideal)
    • Copias exactas = 0 (ideal) o lo más bajo posible
    • Distancia promedio > 0.02 para buena separación
    • Evaluar balance entre calidad (TabDSFidelity) y privacidad (MIA)

    📥 Descargar conjuntos y código Python

    Formatos incluidos: CSV.

    📚 Cómo citar este conjunto

    Díaz Bastida, M., Pérez Vázquez, R. A., & Bello Pérez, R. (2026). High-Fidelity Synthetic Dataset for Patient Medication Adherence Prediction (Version 1). figshare. https://doi.org/10.6084/m9.figshare.32938907.v1