CD_11 Original + Derivados

CD_11: MIMIC-IV: Mortalidad Hospitalaria (Primeras 24h)

Conjunto de datos clínicos centrado en la predicción de mortalidad intrahospitalaria (hospital_expire_flag). Cada instancia representa una admisión única e integra tres dimensiones de información: 1) Demográfica/Administrativa (edad, género, raza codificada, tipo de admisión, primera unidad de cuidados); 2) Estancia (duración precisa en días de hospitalización y UCI, número de diagnósticos, ingreso a UCI); y 3) Fisiológica/Laboratorio (mínimo, máximo y media de las primeras 24 horas para variables críticas como lactato, creatinina, leucocitos, signos vitales y escala de Glasgow). Se aplicó imputación por mediana para manejar valores faltantes.

📈 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.94 0.92 0.93 52
Clase 1 0.00 0.00 0.00 3
Accuracy 0.87
Macro Avg 0.47 0.46 0.47 55
Weighted Avg 0.89 0.87 0.88 55
AUC-ROC: 0.22
F1-Score (weighted): 0.88
Accuracy: 0.87
➡️ Mejora
⬆ +0.27 AUC — Sin cambio F1 — Sin cambio Acc
🏆 MEJOR RENDIMIENTO

🔮 Conjunto Sintético

Clase Precisión Recall F1-Score Soporte
Clase 0 0.94 0.92 0.93 52
Clase 1 0.00 0.00 0.00 3
Accuracy 0.87
Macro Avg 0.47 0.46 0.47 55
Weighted Avg 0.89 0.87 0.88 55
AUC-ROC: 0.49 ⬆ +0.27
F1-Score (weighted): 0.88 — Sin cambio
Accuracy: 0.87 — Sin cambio

📊 Resumen de Mejoras en Clase Minoritaria (Clase 1)

🎯
Precisión
Original: 0.00
Sintético: 0.00
— Sin cambio
📈
Recall
Original: 0.00
Sintético: 0.00
— Sin cambio
⚖️
F1-Score
Original: 0.00
Sintético: 0.00
— Sin cambio

📚 Fuente Original del Conjunto

MIMIC-IV Clinical Database Demo v2.2

v2.2
Johnson, A., Bulgarelli, L., Pollard, T., Horng, S., Celi, L. A., & Mark, R.
Publicado: 31 de enero de 2023

📄 Resumen (Abstract)

El Medical Information Mart for Intensive Care (MIMIC)-IV es una base de datos compuesta por registros electrónicos de salud desidentificados de pacientes admitidos en el Beth Israel Deaconess Medical Center. Esta demo de acceso abierto contiene un subconjunto de 100 pacientes, proporcionando contenido similar a MIMIC-IV (excluyendo notas clínicas de texto libre). Es útil para talleres y para evaluar la idoneidad de MIMIC-IV antes de solicitar acceso completo. Cada instancia representa una admisión única e integra tres dimensiones de información: 1) Demográfica/Administrativa (edad, género, raza codificada, tipo de admisión, primera unidad de cuidados); 2) Estancia (duración precisa en días de hospitalización y UCI, número de diagnósticos, ingreso a UCI); y 3) Fisiológica/Laboratorio (mínimo, máximo y media de las primeras 24 horas para variables críticas como lactato, creatinina, leucocitos, signos vitales y escala de Glasgow).

🔬 Métodos

La selección de individuos para la demo se realizó considerando aquellos con anchor_year_group entre 2011-2016 para asegurar superposición con MIMIC-CXR v2.0.0. Los primeros 100 subject_id que cumplieron este criterio fueron seleccionados. Se incluyeron todas las tablas de MIMIC-IV, filtrando aquellas con información de pacientes mediante la lista de subject_id seleccionados. El proceso de desidentificación siguió el mismo enfoque que la base de datos completa, reemplazando identificadores mediante cifrado aleatorio y aplicando reglas estrictas a columnas estructuradas, con desplazamiento consistente de fechas y filtrado de texto para eliminar PHI. Los resultados fueron revisados manualmente para verificar la eliminación de información protegida.

📊 Descripción de Datos

MIMIC-IV es una base de datos relacional que consta de 26 tablas, con un esquema idéntico al de la versión completa. Los datos se distribuyen en formato CSV (RFC 4180) y también están disponibles en Google BigQuery. Se incluye un archivo adicional (demo_subject_id.csv) con la lista de subject_id usados para filtrar la demo. El conjunto de datos se enfoca en la predicción de mortalidad intrahospitalaria (hospital_expire_flag), con variables que incluyen: edad, género, raza codificada, tipo de admisión, primera unidad de cuidados, duración de estancia hospitalaria y en UCI, número de diagnósticos, ingreso a UCI, y estadísticas (mínimo, máximo y media) de las primeras 24 horas para variables críticas como lactato, creatinina, leucocitos, signos vitales y escala de Glasgow. Se aplicó imputación por mediana para manejar valores faltantes.

⚖️ Ética y Privacidad

Este proyecto fue aprobado por los Comités de Revisión Institucional del Beth Israel Deaconess Medical Center (Boston, MA) y del Massachusetts Institute of Technology (Cambridge, MA). Se eximió el requisito de consentimiento individual porque el proyecto no impactó la atención clínica y toda la información protegida de salud fue desidentificada. Restricción de confidencialidad: En estricto cumplimiento de los protocolos de privacidad, el acceso a los microdatos a nivel de paciente está restringido a usuarios con credenciales. La publicación se restringe a métricas de evaluación, resultados agregados y metodología del modelo, conforme a las políticas de uso de MIMIC-IV.

🙏 Agradecimientos

Esta investigación y desarrollo fue apoyada por las subvenciones NIH-R01-EB017205, NIH-R01-EB001659 y NIH-R01-GM104987 de los Institutos Nacionales de Salud. Los autores agradecen a Philips Healthcare y al personal del Beth Israel Deaconess Medical Center, Boston, por su apoyo en el desarrollo de la base de datos, y a Ken Pierce por el soporte continuo a la comunidad de investigación MIMIC.

📖 Cómo citar la fuente original

Johnson, A., Bulgarelli, L., Pollard, T., Horng, S., Celi, L. A., & Mark, R. (2023). MIMIC-IV Clinical Database Demo (version 2.2). PhysioNet. RRID:SCR_007345. https://doi.org/10.13026/dp1f-ex47

📚 Referencias Adicionales

  • Johnson, A., Bulgarelli, L., Pollard, T., Horng, S., Celi, L. A., & Mark, R. (2021). MIMIC-IV (version 1.0). PhysioNet. https://doi.org/10.13026/s6n6-xd98
  • Goldberger, A., Amaral, L., Glass, L., Hausdorff, J., Ivanov, P. C., Mark, R., ... & Stanley, H. E. (2000). PhysioBank, PhysioToolkit, and PhysioNet: Components of a new research resource for complex physiologic signals. Circulation, 101(23), e215–e220. RRID:SCR_007345.
  • Johnson AE, Stone DJ, Celi LA, Pollard TJ. (2018). The MIMIC Code Repository: enabling reproducibility in critical care research. Journal of the American Medical Informatics Association, 25(1), 32-9. https://github.com/MIT-LCP/mimic-code

🔄 Transformaciones Aplicadas

Modificaciones realizadas al conjunto original

  • Ingeniería de características: Creación de variables derivadas como los_hospital (duración de estancia), admitted_to_icu (indicador de ingreso a UCI) y gcs_min (puntuación mínima de Glasgow).
  • Agregación temporal: Cálculo de estadísticos (mínimo, máximo y media) para variables clínicas (laboratorios y signos vitales) durante las primeras 24 horas de admisión.
  • Codificación de categóricas: Transformación de variables categóricas (admission_type, race, gender, first_careunit) a valores numéricos mediante factorización.
  • Imputación de valores faltantes: Relleno de valores ausentes en todas las variables clínicas utilizando la mediana de cada columna para preservar la integridad del conjunto de datos.
  • Limpieza y estandarización: Eliminación de variables identificadoras (subject_id, hadm_id, fechas) y tratamiento de valores nulos en características base (ej. los_icu = 0 para no UCI).

📊 Resultado: Dataset enriquecido con información demográfica, clínica y temporal, optimizado para modelos predictivos de mortalidad hospitalaria.

📋 Diccionario de Datos Detallado

Variable Descripción Clínica Tipo Rango / Categorías Unidad ¿Objetivo?
admission_type Tipo de admisión del paciente al hospital Categórico 0-8 (ver leyenda) N/A No
race Raza/etnia del paciente Categórico 0,2-13 (ver leyenda) N/A No
gender Género del paciente Categórico 0, 1 (ver leyenda) N/A No
first_careunit Primera unidad de cuidado intensivo del paciente Categórico 0-9 (ver leyenda) N/A No
anchor_age Edad del paciente al momento del ingreso Numérico 21 - 91 años No
los_hospital Días de estancia hospitalaria del paciente Numérico 0.05 - 34.08 días No
los_icu Días de estancia en la unidad de cuidados intensivos Numérico 0 - 20.53 días No
num_diagnoses Número total de diagnósticos asociados al ingreso Numérico 3 - 39 diagnósticos No
min_creatinine Valor mínimo de creatinina sérica durante la estancia Numérico 0.3 - 10.3 mg/dL No
min_hemoglobin Valor mínimo de hemoglobina durante la estancia Numérico 5.6 - 16 g/dL No
min_lactate Valor mínimo de lactato sérico durante la estancia Numérico 0.6 - 8.9 mmol/L No
min_platelet Valor mínimo de plaquetas durante la estancia Numérico 12 - 696 10³/µL No
min_wbc Valor mínimo de glóbulos blancos durante la estancia Numérico 0.4 - 116.1 10³/µL No
max_creatinine Valor máximo de creatinina sérica durante la estancia Numérico 0.3 - 15.2 mg/dL No
max_hemoglobin Valor máximo de hemoglobina durante la estancia Numérico 6.8 - 16 g/dL No
max_lactate Valor máximo de lactato sérico durante la estancia Numérico 0.6 - 12 mmol/L No
max_platelet Valor máximo de plaquetas durante la estancia Numérico 16 - 696 10³/µL No
max_wbc Valor máximo de glóbulos blancos durante la estancia Numérico 0.6 - 116.1 10³/µL No
mean_creatinine Valor medio de creatinina sérica durante la estancia Numérico 0.3 - 12.75 mg/dL No
mean_hemoglobin Valor medio de hemoglobina durante la estancia Numérico 6.38 - 16 g/dL No
mean_lactate Valor medio de lactato sérico durante la estancia Numérico 0.6 - 11.31 mmol/L No
mean_platelet Valor medio de plaquetas durante la estancia Numérico 14.75 - 696 10³/µL No
mean_wbc Valor medio de glóbulos blancos durante la estancia Numérico 0.45 - 116.1 10³/µL No
gcs_min Puntuación mínima de Glasgow (GCS) durante la estancia Numérico 3 - 15 puntos No
min_dbp Presión arterial diastólica mínima Numérico 19 - 101 mmHg No
min_heart_rate Frecuencia cardíaca mínima Numérico 29 - 110 lpm No
min_resp_rate Frecuencia respiratoria mínima Numérico 0 - 21 rpm No
min_sbp Presión arterial sistólica mínima Numérico 46 - 156 mmHg No
min_spo2 Saturación de oxígeno mínima (SpO₂) Numérico 73 - 100 % No
max_dbp Presión arterial diastólica máxima Numérico 59 - 123 mmHg No
max_heart_rate Frecuencia cardíaca máxima Numérico 73 - 160 lpm No
max_resp_rate Frecuencia respiratoria máxima Numérico 16 - 45 rpm No
max_sbp Presión arterial sistólica máxima Numérico 99 - 183 mmHg No
max_spo2 Saturación de oxígeno máxima (SpO₂) Numérico 95 - 100 % No
mean_dbp Presión arterial diastólica media Numérico 41.11 - 102 mmHg No
mean_heart_rate Frecuencia cardíaca media Numérico 63.21 - 121 lpm No
mean_resp_rate Frecuencia respiratoria media Numérico 10.52 - 28.52 rpm No
mean_sbp Presión arterial sistólica media Numérico 91.61 - 161.5 mmHg No
mean_spo2 Saturación de oxígeno media (SpO₂) Numérico 93.14 - 100 % No
admitted_to_icu Indicador de admisión a la UCI Numérico 0 - 1 N/A No
hospital_expire_flag Indicador de mortalidad hospitalaria Binario 0: Sobrevive, 1: Fallece N/A
46 Variables totales
41 Numéricas
4 Categóricas
1 Binarias
Objetivo: Mortalidad (hospital_expire_flag)
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.

admission_type Categórica
Código Significado
0 URGENT
1 ELECTIVE
2 EW EMER.
3 DIRECT EMER.
4 EU OBSERVATION
5 OBSERVATION ADMIT
6 DIRECT OBSERVATION
7 AMBULATORY OBSERVATION
8 SURGICAL SAME DAY ADMISSION
race Categórica
Código Significado
0 BLACK/CAPE VERDEAN
1 HISPANIC/LATINO - PUERTO RICAN
2 WHITE
3 UNKNOWN
4 OTHER
5 BLACK/AFRICAN AMERICAN
6 HISPANIC/LATINO - SALVADORAN
7 UNABLE TO OBTAIN
8 WHITE - OTHER EUROPEAN
9 PORTUGUESE
10 HISPANIC/LATINO - CUBAN
11 PATIENT DECLINED TO ANSWER
12 WHITE - BRAZILIAN
13 HISPANIC OR LATINO
gender Categórica
Código Significado
0 M (Masculino)
1 F (Femenino)
first_careunit Categórica
Código Significado
0 Coronary Care Unit (CCU)
1 Cardiac Vascular Intensive Care Unit (CVICU)
2 NoICU
3 Medical Intensive Care Unit (MICU)
4 Trauma SICU (TSICU)
5 Medical/Surgical Intensive Care Unit (MICU/SICU)
6 Surgical Intensive Care Unit (SICU)
7 Neuro Surgical Intensive Care Unit (Neuro SICU)
8 Neuro Stepdown
9 Neuro Intermediate
Variables Binarias Binario

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

hospital_expire_flag 🎯 Variable Objetivo: Indica el desenlace de la hospitalización. Un valor de 1 significa que el paciente falleció en el hospital. Un valor de 0 significa que fue dado de alta con vida.
ℹ️

Nota: Esta variable binaria está codificada como 0 = No (dado de alta con vida) y 1 = Sí (fallecimiento).

💡

Observación: Esta es la variable objetivo principal para el análisis de supervivencia y factores de riesgo.

📊
Total de variables categóricas: 4
  • admission_type (9 categorías)
  • race (14 categorías)
  • gender (2 categorías)
  • first_careunit (10 categorías)
🎯
Total de variables binarias: 1
  • 1 variable objetivo (hospital_expire_flag)
⚠️
Recomendaciones:
  • Verificar la distribución de tipos de admisión y su relación con el desenlace
  • Analizar si la raza/etnicidad tiene alguna asociación con la mortalidad
  • Evaluar diferencias en desenlaces según la unidad de cuidado intensivo (first_careunit)

🔬 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

  • los_hospital > 0 → los_icu ≤ los_hospital (Estancia UCI no supera estancia hospitalaria)
  • admitted_to_icu == 0 → los_icu = 0
  • los_icu > 0.1 → admitted_to_icu = 1
  • hospital_expire_flag == 1 → los_hospital > 0.01
  • min_sbp > 0 → min_dbp < min_sbp (Presión sistólica > diastólica)
  • gcs_min ≤ 8 → admitted_to_icu = 1
  • min_sbp < 70 → admitted_to_icu = 1
  • min_sbp > 180 → admitted_to_icu = 1
  • max_heart_rate > 160 → admitted_to_icu = 1
  • min_heart_rate < 30 → admitted_to_icu = 1
  • min_spo2 < 75 → admitted_to_icu = 1
  • min_resp_rate > 35 → admitted_to_icu = 1
  • max_resp_rate > 45 → admitted_to_icu = 1
  • max_lactate > 4.0 → admitted_to_icu = 1
  • max_creatinine > 8.0 → admitted_to_icu = 1
  • min_platelet < 20 → admitted_to_icu = 1
  • max_wbc > 40 → admitted_to_icu = 1
  • min_wbc < 1.0 → admitted_to_icu = 1
  • min_hemoglobin < 6.0 → admitted_to_icu = 1

⚙️ Hiperparámetros SMOTE RSB* Adaptado

Valor escala0.03
Probabilidad Base0.1

🔄 Hiperparámetros CTGAN

epochs500
batch_size20
generator_lr0.0002
discriminator_lr0.0002
pac2
generator_dim(128, 128)
discriminator_dim(128, 128)
embedding_dim128
l2scale1e-05

📊 Hiperparámetros TVAE

epochs 400
batch_size 50
embedding_dim 64
compress_dims (64, 64)
decompress_dims (64, 64)
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 312 0.862 0.919 0.945 7.154 0.307 0.032 0.203 0.874 101.882 0 312 0.562 🏆
Smote 1 312 0.894 0.936 0.927 6.425 0.417 0.008 0.170 0.900 78.814 0.035 165 0.524
Borderline SMOTE 1 312 0.869 0.936 0.927 6.318 0.415 0.026 0.180 0.872 73.019 0.037 165 0.513
ADASYN 1.013 314 0.853 0.927 0.927 5.499 0.417 0.015 0.171 0.906 75.627 0.038 165 0.542
SMOTE RSB* Adaptado 1.020 309 0.811 0.891 0.891 2.812 0.377 0.013 0.159 0.901 76.111 0.048 53 0.534
SMOTE RSB* Adaptado + Reglas 1.020 309 0.901 0.915 0.909 5.806 0.377 0.008 0.158 0.884 77.072 0.045 53 0.537
OOF PSO para Balanceo 1 312 0.808 0.910 0.927 2.116 0.395 0.003 0.283 0.596 81.502 0.186 165 0.490
OOF PSO para Balanceo + Reglas 1 312 0.869 0.955 0.964 5.437 0.403 0.000 0.302 0.557 75.911 0.196 158 0.575
Mejor seleccionado: Random Oversampling (TabDSFidelity: 7.154, AUC: 0.862, F1: 0.919, MIA: 0.562). 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.651 7975 0.907 0.919 0.945 8.904 0.421 0.016 0.142 0.899 154.418 0.129 0 0.522 🏆
SMOTE RSB* + Ruido Gaussiano + Reglas 1.651 7975 0.689 0.919 0.945 7.481 0.418 0.016 0.142 0.898 435.674 0.130 0 0.450
CTGAN 1.699 10000 0.657 0.775 0.691 4.207 0.437 0.056 0.130 0.869 413.121 0.159 0 0.534
CTGAN + Reglas del Dominio 1.699 10000 0.603 0.788 0.709 4.143 0.441 0.056 0.130 0.871 752.891 0.161 0 0.462
TVAE 1.933 10000 0.869 0.927 0.927 7.967 0.562 0.024 0.526 0.885 325.961 0.071 0 0.595
TVAE + Reglas del Dominio 1.933 10000 0.907 0.940 0.945 8.525 0.560 0.024 0.526 0.885 688.546 0.071 0 0.595
OOF PSO para Aumento 1 10000 0.875 0.898 0.873 4.739 0.735 0.007 1.311 0.558 223.423 0.370 0 0.542
OOF PSO para Aumento + Reglas 1 10000 0.878 0.898 0.873 4.791 0.744 0.007 1.311 0.578 585.796 0.366 0 0.508
SMOTE RSB* Refinado 1.697 7940 0.788 0.919 0.945 8.339 0.419 0.027 0.137 0.896 137.925 0.105 0 0.520
SMOTE RSB* Refinado + Reglas 1.697 7940 0.853 0.919 0.945 8.769 0.416 0.027 0.137 0.896 399.311 0.105 0 0.522
Mejor seleccionado: SMOTE RSB* + Ruido Gaussiano (TabDSFidelity: 8.904, AUC: 0.907, F1: 0.919, MIA: 0.522). 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.619 8287 0.776 0.919 0.945 7.016 0.416 0.015 0.141 0.898 293.908 0.129 0 0.488
SMOTE RSB* + Ruido Gaussiano + Reglas 1.619 8287 0.856 0.919 0.945 8.005 0.413 0.015 0.141 0.898 574.580 0.129 0 0.442
CTGAN 1.671 10312 0.776 0.801 0.727 4.376 0.428 0.057 0.131 0.872 586.854 0.155 63 0.552
CTGAN + Reglas del Dominio 1.671 10312 0.734 0.814 0.745 4.177 0.432 0.057 0.131 0.874 925.255 0.157 63 0.522
TVAE 1.892 10312 0.811 0.955 0.964 7.611 0.544 0.023 0.287 0.886 512.596 0.070 63 0.614
TVAE + Reglas del Dominio 1.892 10312 0.846 0.955 0.964 8.048 0.542 0.023 0.287 0.886 876.386 0.070 63 0.622 🏆
OOF PSO para Aumento 1 10312 0.872 0.936 0.927 5.157 0.705 0.008 1.132 0.561 409.343 0.359 63 0.594
OOF PSO para Aumento + Reglas 1 10312 0.897 0.936 0.927 5.500 0.713 0.008 1.132 0.580 776.939 0.355 63 0.552
SMOTE RSB* Refinado 1.662 8252 0.817 0.919 0.945 7.728 0.414 0.025 0.137 0.895 265.446 0.105 0 0.518
SMOTE RSB* Refinado + Reglas 1.662 8252 0.763 0.919 0.945 7.071 0.411 0.025 0.137 0.895 537.898 0.105 0 0.518
Mejor seleccionado: TVAE + Reglas del Dominio (TabDSFidelity: 8.048, AUC: 0.846, F1: 0.955, MIA: 0.622). Nota: Ratio <= 1.5 = Conjunto Balanceado.

📈 Diagrama del Proceso de Generación

Conjunto Original
CD_11
Balanceo
(8 métodos)
↓ Selección por TabDSFidelity
⭐ Mejor Balanceado
Random Oversampling
Generación Sintética
(10 métodos)
↓ Evaluación TabDSFidelity
⭐ Mejor Sintético
SMOTE RSB* + Ruido Gaussiano
⭐ Mejor Aumentado
TVAE + 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)

📥 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 MIMIC-IV Hospital Mortality Prediction (Version 1). figshare. https://doi.org/10.6084/m9.figshare.32929085.v1