CD_10 Original + Derivados

SPO de craniectomía y evacuación de Hematoma subdural

Conjunto de datos de Neurocirugía Intensiva enfocado en recuperación post-evacuación de hematoma subdural. Incluye variables de técnica quirúrgica (Aspiración por Overholt) y soporte farmacológico combinado.

📈 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.66 0.86 0.75 29
Clase 1 0.00 0.00 0.00 13
Accuracy 0.60
Macro Avg 0.33 0.43 0.37 42
Weighted Avg 0.45 0.60 0.52 42
AUC-ROC: 0.50
F1-Score (weighted): 0.52
Accuracy: 0.60
➡️ Mejora
⬆ +0.16 AUC ⬆ +0.16 F1 ⬆ +0.09 Acc
🏆 MEJOR RENDIMIENTO

🔮 Conjunto Sintético

Clase Precisión Recall F1-Score Soporte
Clase 0 0.75 0.83 0.79 29
Clase 1 0.50 ⬆ +0.50 0.38 ⬆ +0.38 0.43 ⬆ +0.43 13
Accuracy 0.69 ⬆ +0.09
Macro Avg 0.62 ⬆ +0.29 0.61 ⬆ +0.18 0.61 ⬆ +0.24 42
Weighted Avg 0.67 ⬆ +0.22 0.69 ⬆ +0.09 0.68 ⬆ +0.16 42
AUC-ROC: 0.66 ⬆ +0.16
F1-Score (weighted): 0.68 ⬆ +0.16
Accuracy: 0.69 ⬆ +0.09

📊 Resumen de Mejoras en Clase Minoritaria (Clase 1)

🎯
Precisión
Original: 0.00
Sintético: 0.50
⬆ +0.50
📈
Recall
Original: 0.00
Sintético: 0.38
⬆ +0.38
⚖️
F1-Score
Original: 0.00
Sintético: 0.43
⬆ +0.43

📚 Fuente Original del Conjunto

SPO de craniectomía y evacuación de Hematoma subdural

v1.0
Datos clínicos hospitalarios
Publicado: 2017-2024

📄 Resumen (Abstract)

Conjunto de datos de Neurocirugía Intensiva enfocado en la recuperación tras la evacuación de un hematoma subdural. Se distingue por incluir variables de técnica quirúrgica específica (Aspiración por Overholt) y un soporte farmacológico que combina neuroprotección estándar (Fenitoína, Manitol) con suplementación vitamínica (B1, B6, C).

🔬 Métodos

Recolección retrospectiva de registros electrónicos. Anonimización mediante cifrado.

⚖️ Ética y Privacidad

Estudio aprobado por el comité de ética institucional bajo exención de consentimiento informado. Restricción de confidencialidad: En estricto cumplimiento de los protocolos de privacidad hospitalaria, el comité no autoriza la divulgación pública de los microdatos a nivel de paciente, ni en su versión original ni en sus variantes sintéticas generadas. La publicación se restringe exclusivamente a las métricas de evaluación, resultados agregados y metodología del modelo.

📖 Cómo citar la fuente original

Datos clínicos anonimizados de pacientes con neumonía grave. Servicio de Terapia Intensiva. Hospital Universitario "Arnaldo Milián Castro". Villa Clara. Cuba.

🔄 Transformaciones Aplicadas

Modificaciones realizadas al conjunto original

  • Codificación de categóricas: Transformación a valores numéricos.

📋 Diccionario de Datos Detallado

Variable Descripción Clínica Tipo Rango / Categorías Unidad ¿Objetivo?
Edad Edad del paciente al momento del ingreso Numérico 0 - 94 años No
Estadia Días de estancia hospitalaria del paciente Numérico 0 - 39 días No
Tiempo_exacto_de_ventilacion Tiempo total de ventilación mecánica durante la estancia Numérico 0 - 384 horas No
Puntaje_Apache Puntaje de severidad APACHE II al ingreso (0-34) Numérico 0 - 33 puntos No
Sexo Género del paciente Categórico 1: Masculino, 2: Femenino N/A No
Raza Raza/etnia del paciente Categórico 1, 2, 4 N/A No
Equipo_de_ventilacion_utilizado Tipo de equipo de ventilación utilizado durante la estancia Categórico 1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14 N/A No
Diagnostico_SPO_de_craniectomia_y_evacuacion_de_Hematoma_subdural Diagnóstico de craniectomía y evacuación de hematoma subdural Binario 0: No, 1: Sí N/A No
Infeccion_Respiratoria Presencia de infección respiratoria Binario 0: No, 1: Sí N/A No
Infeccion_Liquido_cefaloraquideo Infección del líquido cefalorraquídeo Binario 0: No, 1: Sí N/A No
Infeccion_Hematologica Presencia de infección hematológica (bacteriemia) Binario 0: No, 1: Sí N/A No
Germen_Staphilococo_Aureus_Meticillin_Sensible Presencia de Staphylococcus aureus sensible a meticilina (MSSA) Binario 0: No, 1: Sí N/A No
Germen_Staphilocco_Aureus_Meicllin_Resitente Presencia de Staphylococcus aureus resistente a meticilina (MRSA) Binario 0: No, 1: Sí N/A No
Germen_Klebsiella Presencia de infección por Klebsiella Binario 0: No, 1: Sí N/A No
_Analgesia_Recibida Paciente recibió analgesia Binario 0: No, 1: Sí N/A No
Hidratacion_Recibida Paciente recibió hidratación intravenosa Binario 0: No, 1: Sí N/A No
Antibioprofilaxis_Recibida Paciente recibió antibioprofilaxis Binario 0: No, 1: Sí N/A No
Norepinefrina_Recibida Paciente recibió norepinefrina (vasopresor) Binario 0: No, 1: Sí N/A No
Manitol_Recibida Paciente recibió manitol Binario 0: No, 1: Sí N/A No
Solucion_salina_3%_Recibida Paciente recibió solución salina al 3% Binario 0: No, 1: Sí N/A No
Fenitoina_Recibida Paciente recibió fenitoína (anticonvulsivante) Binario 0: No, 1: Sí N/A No
Esquema_de_sedacion_y_analgesia_con_morfina_y_midazolam_Recibida Paciente recibió esquema de sedación y analgesia con morfina y midazolam Binario 0: No, 1: Sí N/A No
Aspiracion_por_Overholt_Recibida Paciente recibió aspiración por Overholt Binario 0: No, 1: Sí N/A No
Globulos_Recibida Paciente recibió transfusión de glóbulos rojos Binario 0: No, 1: Sí N/A No
Plasma_Recibida Paciente recibió transfusión de plasma Binario 0: No, 1: Sí N/A No
Sulfato_de_magnesio_Recibida Paciente recibió sulfato de magnesio Binario 0: No, 1: Sí N/A No
Ceftriaxona_Recibida Paciente recibió ceftriaxona Binario 0: No, 1: Sí N/A No
Claforan_Recibida Paciente recibió claforan (cefotaxima) Binario 0: No, 1: Sí N/A No
Meropenen_Recibida Paciente recibió meropenem Binario 0: No, 1: Sí N/A No
Vancomicina_Recibida Paciente recibió vancomicina Binario 0: No, 1: Sí N/A No
Metronidazol_Recibida Paciente recibió metronidazol Binario 0: No, 1: Sí N/A No
Gentamicina_Recibida Paciente recibió gentamicina Binario 0: No, 1: Sí N/A No
Clindamicina_Recibida Paciente recibió clindamicina Binario 0: No, 1: Sí N/A No
Piperacilina_tazobactan_Recibida Paciente recibió piperacilina-tazobactam Binario 0: No, 1: Sí N/A No
Colistina_Recibida Paciente recibió colistina Binario 0: No, 1: Sí N/A No
Trifamox_Recibida Paciente recibió Trifamox (amoxicilina + sulbactam) Binario 0: No, 1: Sí N/A No
Betametasona_Recibida Paciente recibió betametasona (corticoide) Binario 0: No, 1: Sí N/A No
Omeprazol_Recibida Paciente recibió omeprazol (inhibidor de bomba de protones) Binario 0: No, 1: Sí N/A No
Cefepime_Recibida Paciente recibió cefepime Binario 0: No, 1: Sí N/A No
Midazolan_Recibida Paciente recibió midazolam (sedante) Binario 0: No, 1: Sí N/A No
Nimodipino_Recibida Paciente recibió nimodipino (bloqueador de canales de calcio) Binario 0: No, 1: Sí N/A No
Carbamazepina_Recibida Paciente recibió carbamazepina (anticonvulsivante) Binario 0: No, 1: Sí N/A No
Vitamina_B1_Recibida Paciente recibió vitamina B1 (tiamina) Binario 0: No, 1: Sí N/A No
Vitamina_B6_Recibida Paciente recibió vitamina B6 (piridoxina) Binario 0: No, 1: Sí N/A No
Vitamina_C_Recibida Paciente recibió vitamina C (ácido ascórbico) Binario 0: No, 1: Sí N/A No
Murio Indicador de fallecimiento del paciente Binario 0: No, 1: Sí N/A
46 Variables totales
4 Numéricas
3 Categóricas
39 Binarias
Objetivo: Mortalidad (Murio)
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. Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados clínicos.

Sexo Categórica
Código Significado
1 Masculino
2 Femenino
Raza Categórica
Código Significado
1 Blanca / Caucásica
2 Mestiza
4 Negra / Afrodescendiente
Equipo_de_ventilacion_utilizado Categórica
Código Significado
1 Evita-4
3 Servo S
4 Servo-i
5 Savina-300
6 Savina
7 Hamilton-Raphael
8 No ventilado
9 Bella Vista
11 R 50 SIRIUSMED
13 ABETHA
14 Otro / No especificado
Variables Binarias Binario

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

Diagnostico_SPO_de_craniectomia_y_evacuacion_de_Hematoma_subdural Diagnóstico de craniectomía y evacuación de hematoma subdural
Infeccion_Respiratoria Presencia de infección respiratoria
Infeccion_Liquido_cefaloraquideo Infección del líquido cefalorraquídeo
Infeccion_Hematologica Presencia de infección hematológica (bacteriemia)
Germen_Staphilococo_Aureus_Meticillin_Sensible Infección por Staphylococcus aureus sensible a meticilina (MSSA)
Germen_Staphilocco_Aureus_Meicllin_Resitente Infección por Staphylococcus aureus resistente a meticilina (MRSA)
Germen_Klebsiella Infección por Klebsiella
_Analgesia_Recibida Administración de analgesia
Hidratacion_Recibida Administración de hidratación intravenosa
Antibioprofilaxis_Recibida Administración de antibioprofilaxis
Norepinefrina_Recibida Administración de norepinefrina (vasopresor)
Manitol_Recibida Administración de manitol
Solucion_salina_3%_Recibida Administración de solución salina al 3%
Fenitoina_Recibida Administración de fenitoína (anticonvulsivante)
Esquema_de_sedacion_y_analgesia_con_morfina_y_midazolam_Recibida Esquema de sedación y analgesia con morfina y midazolam
Aspiracion_por_Overholt_Recibida Aspiración por Overholt (tubo torácico)
Globulos_Recibida Transfusión de glóbulos rojos
Plasma_Recibida Transfusión de plasma
Sulfato_de_magnesio_Recibida Administración de sulfato de magnesio
Ceftriaxona_Recibida Administración de ceftriaxona
Claforan_Recibida Administración de claforan (cefotaxima)
Meropenen_Recibida Administración de meropenem
Vancomicina_Recibida Administración de vancomicina
Metronidazol_Recibida Administración de metronidazol
Gentamicina_Recibida Administración de gentamicina
Clindamicina_Recibida Administración de clindamicina
Piperacilina_tazobactan_Recibida Administración de piperacilina-tazobactam
Colistina_Recibida Administración de colistina
Trifamox_Recibida Administración de Trifamox (amoxicilina + sulbactam)
Betametasona_Recibida Administración de betametasona (corticoide)
Omeprazol_Recibida Administración de omeprazol (IBP)
Cefepime_Recibida Administración de cefepime
Midazolan_Recibida Administración de midazolam (sedante)
Nimodipino_Recibida Administración de nimodipino (bloqueador de canales de calcio)
Carbamazepina_Recibida Administración de carbamazepina (anticonvulsivante)
Vitamina_B1_Recibida Administración de vitamina B1 (tiamina)
Vitamina_B6_Recibida Administración de vitamina B6 (piridoxina)
Vitamina_C_Recibida Administración de vitamina C (ácido ascórbico)
Murio 🎯 Variable Objetivo: Fallecimiento del paciente
ℹ️

Nota: Todas las variables binarias están codificadas como 0 = No (ausencia) y 1 = Sí (presencia).

💡

Observación: Este conjunto de datos incluye un amplio espectro de antibióticos y tratamientos específicos para manejo neurocrítico.

📊
Total de variables categóricas: 3
  • Sexo (2 categorías)
  • Raza (3 categorías)
  • Equipo de ventilación (11 categorías presentes)
🎯
Total de variables binarias: 39
  • 7 variables de diagnóstico/infección
  • 31 variables de tratamiento
  • 1 variable objetivo (Murio)
⚠️
Recomendaciones:
  • Verificar consistencia entre diagnóstico neuroquirúrgico y tratamiento con Nimodipino y Manitol
  • Validar relación entre MRSA y Vancomicina o Linezolid (si está presente)
  • Revisar si hay duplicados entre Esquema_de_sedacion... y Midazolan_Recibida
  • El código 8 en ventilación indica "No ventilado"

🔬 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

  • Tiempo_exacto_de_ventilacion == 0 → Equipo_de_ventilacion_utilizado = 8 (No Aplica)
  • Tiempo_exacto_de_ventilacion > 0 → Equipo_de_ventilacion_utilizado ≠ 8
  • Diagnostico_SPO_de_craniectomia_y_evacuacion_de_Hematoma_subdural == 1 → (Manitol_Recibida = 1) OR (Solucion_salina_3%_Recibida = 1)
  • Diagnostico_SPO_de_craniectomia_y_evacuacion_de_Hematoma_subdural == 1 → (Fenitoina_Recibida = 1) OR (Carbamazepina_Recibida = 1)
  • Germen_Staphilocco_Aureus_Meicllin_Resitente == 1 → Vancomicina_Recibida = 1
  • Ceftriaxona_Recibida y Claforan_Recibida son mutuamente excluyentes
  • Manitol_Recibida y Solucion_salina_3%_Recibida son mutuamente excluyentes
  • Todo paciente debe recibir hidratación
  • Neumonia_Grave e Infeccion_Respiratoria son mutuamente excluyentes

⚙️ Hiperparámetros SMOTE RSB* Adaptado

Valor escala0.03
Probabilidad Base0.1

🔄 Hiperparámetros CTGAN

epochs300
batch_size20
generator_lr0.0002
discriminator_lr0.0002
pac2
generator_dim(64, 64)
discriminator_dim(64, 64)
embedding_dim128
l2scale1e-05

📊 Hiperparámetros TVAE

epochs 300
batch_size 10
embedding_dim 32
compress_dims (32, 32)
decompress_dims (32, 32)
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 1 166 0.716 0.661 0.707 5.833 0.085 0.940 0.003 0.976 101.618 0 166 0.363
Smote 1 166 0.668 0.686 0.683 4.664 0.146 0.943 0.005 0.985 67.457 0.010 123 0.354
Borderline SMOTE 1 166 0.630 0.690 0.707 4.537 0.148 0.843 0.007 0.985 67.474 0.011 123 0.477
ADASYN 1.025 164 0.727 0.679 0.683 5.055 0.149 0.977 0.006 0.986 77.835 0.010 123 0.389
SMOTE RSB* Adaptado 1.038 163 0.826 0.763 0.780 9.497 0.138 0.987 0.003 0.977 77.581 0.012 123 0.488 🏆
SMOTE RSB* Adaptado + Reglas 1.038 163 0.738 0.700 0.707 6.060 0.153 0.969 0.004 0.972 76.845 0.014 123 0.404
OOF PSO para Balanceo 1 166 0.669 0.621 0.683 1.132 0.194 0.451 0.075 0.780 102.457 0.093 123 0.310
OOF PSO para Balanceo + Reglas 1 166 0.753 0.638 0.707 2.321 0.237 0.048 0.082 0.775 92.637 0.089 104 0.442
Mejor seleccionado: SMOTE RSB* Adaptado (TabDSFidelity: 9.497, AUC: 0.826, F1: 0.763, MIA: 0.488). 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.079 7421 0.758 0.670 0.683 8.283 0.216 0.672 0.022 0.930 138.939 0.058 58 0.325
SMOTE RSB* + Ruido Gaussiano + Reglas 1.079 7421 0.826 0.679 0.683 9.039 0.216 0.672 0.025 0.928 390.476 0.062 40 0.439 🏆
CTGAN 1.127 9987 0.630 0.598 0.585 2.997 0.268 0.010 0.010 0.879 455.065 0.079 0 0.471
CTGAN + Reglas del Dominio 1.127 9987 0.717 0.670 0.659 6.302 0.268 0.010 0.014 0.881 754.173 0.080 0 0.497
TVAE 1.066 9998 0.668 0.610 0.610 3.136 0.403 0.002 0.110 0.926 248.243 0.037 0 0.430
TVAE + Reglas del Dominio 1.066 9998 0.687 0.659 0.659 5.069 0.403 0.002 0.104 0.922 507.934 0.038 0 0.442
OOF PSO para Aumento 1 10000 0.595 0.638 0.707 2.778 0.668 0.000 0.339 0.677 195.259 0.254 0 0.471
OOF PSO para Aumento + Reglas 1 10000 0.654 0.638 0.707 3.314 0.668 0.000 0.363 0.683 465.336 0.263 0 0.439
SMOTE RSB* Refinado 1.035 8619 0.739 0.700 0.707 8.987 0.234 0.600 0.020 0.934 123.798 0.058 48 0.360
SMOTE RSB* Refinado + Reglas 1.035 8619 0.735 0.658 0.683 7.721 0.234 0.600 0.022 0.931 355.524 0.063 34 0.316
Mejor seleccionado: SMOTE RSB* + Ruido Gaussiano + Reglas del Dominio (TabDSFidelity: 9.039, AUC: 0.826, F1: 0.679, MIA: 0.439). 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.078 7584 0.793 0.697 0.732 8.111 0.214 0.676 0.021 0.930 270.362 0.057 94 0.453
SMOTE RSB* + Ruido Gaussiano + Reglas 1.078 7584 0.761 0.721 0.732 7.969 0.214 0.676 0.024 0.928 501.484 0.062 79 0.462
CTGAN 1.124 10150 0.644 0.573 0.561 2.681 0.265 0.011 0.010 0.880 607.041 0.076 34 0.453
CTGAN + Reglas del Dominio 1.124 10150 0.738 0.717 0.707 6.254 0.265 0.011 0.014 0.882 911.519 0.076 34 0.471
TVAE 1.064 10161 0.669 0.659 0.659 4.061 0.397 0.002 0.052 0.937 385.992 0.038 34 0.427
TVAE + Reglas del Dominio 1.064 10161 0.655 0.610 0.610 3.053 0.397 0.002 0.049 0.934 650.883 0.039 34 0.433
OOF PSO para Aumento 1.001 10163 0.793 0.785 0.805 5.701 0.655 0.000 0.329 0.680 332.225 0.246 34 0.471
OOF PSO para Aumento + Reglas 1.001 10163 0.819 0.678 0.707 4.208 0.655 0.000 0.352 0.686 606.352 0.254 34 0.468
SMOTE RSB* Refinado 1.035 8782 0.765 0.678 0.707 7.294 0.232 0.605 0.019 0.934 239.675 0.057 87 0.377
SMOTE RSB* Refinado + Reglas 1.035 8782 0.746 0.750 0.756 8.155 0.232 0.605 0.022 0.931 474.838 0.061 72 0.327 🏆
Mejor seleccionado: SMOTE RSB* Refinado + Reglas del Dominio (TabDSFidelity: 8.155, AUC: 0.746, F1: 0.750, MIA: 0.327). Nota: Ratio <= 1.5 = Conjunto Balanceado.

📈 Diagrama del Proceso de Generación

Conjunto Original
CD_10
Balanceo
(8 métodos)
↓ Selección por TabDSFidelity
⭐ Mejor Balanceado
SMOTE RSB* Adaptado
Generación Sintética
(10 métodos)
↓ Evaluación TabDSFidelity
⭐ Mejor Sintético
SMOTE RSB* + Ruido Gaussiano + Reglas del Dominio
⭐ Mejor Aumentado
SMOTE RSB* Refinado + Reglas del Dominio
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)