CD_40 Original + Derivados

CD_40: Seismic Bumps

Conjunto de datos de monitoreo minero para la clasificación binaria de eventos sísmicos peligrosos. Caracterizado por un desbalance extremo (6.6% positivos) y variables mixtas: evaluaciones ordinales y mediciones físicas continuas.

📈 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 1.00 0.97 187
Clase 1 0.00 0.00 0.00 13
Accuracy 0.94
Macro Avg 0.47 0.50 0.48 200
Weighted Avg 0.87 0.94 0.90 200
AUC-ROC: 0.33
F1-Score (weighted): 0.90
Accuracy: 0.94
➡️ Mejora
⬆ +0.25 AUC ⬇ -0.02 F1 ⬇ -0.05 Acc
🏆 MEJOR RENDIMIENTO

🔮 Conjunto Sintético

Clase Precisión Recall F1-Score Soporte
Clase 0 0.94 0.94 0.94 187
Clase 1 0.08 ⬆ +0.08 0.08 ⬆ +0.08 0.08 ⬆ +0.08 13
Accuracy 0.89 ⬇ -0.05
Macro Avg 0.51 ⬆ +0.04 0.51 ⬆ +0.01 0.51 ⬆ +0.03 200
Weighted Avg 0.88 ⬆ +0.01 0.89 ⬇ -0.05 0.88 ⬇ -0.02 200
AUC-ROC: 0.58 ⬆ +0.25
F1-Score (weighted): 0.88 ⬇ -0.02
Accuracy: 0.89 ⬇ -0.05

📊 Resumen de Mejoras en Clase Minoritaria (Clase 1)

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

📚 Fuente Original del Conjunto

Seismic Bumps Dataset

v1.0
Datos de minería de carbón polaca
Disponible en repositorios públicos

📄 Resumen (Abstract)

El conjunto de datos de Sacudidas Sísmicas (Seismic Bumps) describe el problema de la predicción de sacudidas sísmicas de alta energía (>10⁴ J) en una mina de carbón. Los datos provienen de dos frentes de explotación (longwalls) ubicados en una mina de carbón polaca. La actividad minera siempre ha estado conectada con la ocurrencia de peligros, comúnmente llamados peligros mineros. Un caso especial de tal amenaza es el peligro sísmico, que ocurre frecuentemente en muchas minas subterráneas y es el más difícil de detectar y predecir entre los peligros naturales, comparable a un terremoto. El objetivo es predecir si en el próximo turno (8 horas) ocurrirá una sacudida sísmica de alta energía (clase 1) o no (clase 0).

⛏️ Contexto y Motivación

La predicción de peligro sísmico en minas subterráneas es un problema de gran importancia práctica y seguridad. Los sistemas de monitoreo sísmico y seismoacústico cada vez más avanzados permiten una mejor comprensión de los procesos del macizo rocoso y la definición de métodos de predicción del peligro sísmico. Sin embargo, la precisión de los métodos creados hasta ahora está lejos de ser perfecta debido a:

  • Complejidad de los procesos sísmicos
  • Gran desproporción entre el número de eventos sísmicos de baja energía y los de alta energía (>10⁴ J)
  • Insuficiencia de técnicas estadísticas tradicionales para predecir el peligro sísmico

La predicción precisa de la actividad sísmica aumentada es fundamental para:

  • Reducir el riesgo de estallidos de roca (rockbursts)
  • Implementar tiros de distensión (distressing shooting) para reducir el riesgo
  • Retirar trabajadores de áreas amenazadas
  • Mejorar la seguridad laboral en la minería subterránea
⚠️ Desbalanceo Extremo

El dataset se caracteriza por una distribución desbalanceada de ejemplos positivos y negativos:

  • Clase 1 (Peligroso): 170 ejemplos (6.6%)
  • Clase 0 (No peligroso): 2,414 ejemplos (93.4%)

⚠️ Este desbalanceo es un problema serio en la predicción del peligro sísmico y requiere técnicas especiales de muestreo y evaluación.

📊 Descripción de Datos

El dataset contiene 2,584 instancias con 18 atributos (17 variables predictoras y 1 variable objetivo). Cada fila contiene un resumen de la actividad sísmica en el macizo rocoso dentro de un turno (8 horas). Las características son de tipo real y categórico. No presenta valores faltantes.

📋 Variables del Dataset
Variable Tipo Descripción Categorías / Unidades
A. Evaluación de Peligro Sísmico
seismic Categórica Evaluación del peligro sísmico en el turno mediante método sísmico a = sin peligro, b = bajo peligro, c = alto peligro, d = estado de peligro
seismoacoustic Categórica Evaluación del peligro sísmico mediante método seismoacústico -
shift Categórica Tipo de turno W = extracción de carbón, N = turno de preparación
ghazard Categórica Evaluación del peligro sísmico basada en GMax (método seismoacústico) -
B. Parámetros del Geófono Más Activo (GMax)
genergy Real Energía sísmica registrada en el turno anterior por el geófono más activo (GMax) J
gpuls Real Número de pulsos registrados en el turno anterior por GMax -
gdenergy Real Desviación de la energía registrada por GMax respecto al promedio de 8 turnos anteriores -
gdpuls Real Desviación del número de pulsos registrados por GMax respecto al promedio de 8 turnos anteriores -
C. Sacudidas Sísmicas por Rango de Energía
nbumps Real Número total de sacudidas sísmicas registradas en el turno anterior -
nbumps2 Real Número de sacudidas en rango [10², 10³) J -
nbumps3 Real Número de sacudidas en rango [10³, 10⁴) J -
nbumps4 Real Número de sacudidas en rango [10⁴, 10⁵) J -
nbumps5 Real Número de sacudidas en rango [10⁵, 10⁶) J -
nbumps6 Real Número de sacudidas en rango [10⁶, 10⁷) J -
nbumps7 Real Número de sacudidas en rango [10⁷, 10⁸) J -
nbumps89 Real Número de sacudidas en rango [10⁸, 10¹⁰) J -
D. Energía Total y Máxima
energy Real Energía total de las sacudidas sísmicas registradas en el turno anterior J
maxenergy Real Energía máxima de las sacudidas sísmicas registradas en el turno anterior J
E. Variable Objetivo
class Binaria (Target) Indica si ocurrió una sacudida sísmica de alta energía en el próximo turno 1 = Peligroso (sacudida >10⁴ J)
0 = No peligroso

📋 Características del Dataset

  • Tipo de problema: Clasificación binaria extremadamente desbalanceada
  • Dimensión: Multivariante (2,584 × 18)
  • Tipo de características: Mixtas (Reales y Categóricas)
  • Valores faltantes: No
  • Área de aplicación: Minería, Seguridad Industrial, Geofísica, Predicción de Desastres
  • Razón de desbalanceo: 6.6% (clase positiva - peligroso)
  • Contexto: Mina de carbón polaca, dos frentes de explotación (longwalls)
  • Unidad temporal: Turnos de 8 horas

📖 Referencias Académicas

Este dataset ha sido utilizado en investigaciones sobre predicción de peligro sísmico y clasificación desbalanceada. Referencias clave:

Lesniak, A., & Isakow, Z. (2009). Space-time clustering of seismic events and hazard assessment in the Zabrze-Bielszowice coal mine, Poland. International Journal of Rock Mechanics and Mining Sciences, 46(5), 918-928.

Kabiesz, J. (2005). Effect of the form of data on the quality of mine tremors hazard forecasting using neural networks. Geotechnical and Geological Engineering, 24(5), 1131-1147.

Bukowska, M. (2006). The probability of rockburst occurrence in the Upper Silesian Coal Basin area dependent on natural mining conditions. Journal of Mining Sciences, 42(6), 570-577.

⚖️ Ética y Seguridad

El conjunto de datos contiene información de seguridad minera que ha sido anonimizada para proteger la identidad de la mina y los trabajadores. No contiene información personal identificable. Restricción de confidencialidad: 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 pueda comprometer la seguridad operativa de la mina.

📋 Notas de Uso

Este conjunto de datos presenta desafíos significativos debido al desbalanceo extremo y la naturaleza temporal de los datos. Se recomienda:

  • La variable objetivo class está codificada como 1 = Peligroso (sacudida >10⁴ J en próximo turno) y 0 = No peligroso
  • Manejar el desbalanceo extremo (6.6% de ejemplos positivos) mediante técnicas de balanceo:
    • Sobremuestreo de la clase minoritaria (SMOTE, ADASYN)
    • Submuestreo de la clase mayoritaria (Random Undersampling)
    • Cost-sensitive learning (ponderación de clases)
    • Métodos de ensemble (Balanced Random Forest, EasyEnsemble)
  • Utilizar métricas apropiadas para datos desbalanceados: Precision-Recall AUC, F1-Score, Recall (sensibilidad), Specificity
  • Las variables seismic, seismoacoustic, shift y ghazard son categóricas y requieren codificación
  • Las variables de energía y pulsos (genergy, gpuls, gdenergy, gdpuls) son continuas y deben estandarizarse
  • Las variables nbumps* representan conteos por rango de energía, lo que permite analizar la distribución energética de los eventos
  • La variable class predice eventos en el próximo turno (8 horas), lo que hace que el problema sea temporal y adecuado para modelos secuenciales (LSTM, GRU)
  • El dataset es adecuado para modelos de clasificación como Random Forest, XGBoost, SVM y Redes Neuronales
  • Considerar validación temporal (time-series split) en lugar de validación cruzada aleatoria debido a la naturaleza secuencial de los datos

💡 Importancia en Seguridad Minera

La predicción de peligro sísmico en minas subterráneas es un problema de seguridad crítica con implicaciones directas en la vida de los trabajadores. La importancia de este problema radica en:

  • Los estallidos de roca (rockbursts) son eventos repentinos y violentos que pueden causar lesiones graves o muertes a los trabajadores
  • La predicción precisa permite tomar medidas preventivas como tiros de distensión o la evacuación de áreas amenazadas
  • La actividad sísmica aumentada es un indicador temprano de posibles estallidos de roca
  • La mejora de los métodos de predicción puede salvar vidas y reducir costos operativos asociados a paradas de producción

Este dataset es un recurso valioso para la investigación en predicción de peligros naturales y clasificación desbalanceada, con aplicaciones que van más allá de la minería a la predicción de terremotos y otros fenómenos geofísicos.

📖 Cómo citar la fuente original

Seismic Bumps Dataset. UCI Machine Learning Repository. https://archive.ics.uci.edu/ml/datasets/Seismic+bumps

📚 Referencias Adicionales

  • Lesniak, A., & Isakow, Z. (2009). Space-time clustering of seismic events and hazard assessment in the Zabrze-Bielszowice coal mine, Poland. International Journal of Rock Mechanics and Mining Sciences, 46(5), 918-928.
  • Kabiesz, J. (2005). Effect of the form of data on the quality of mine tremors hazard forecasting using neural networks. Geotechnical and Geological Engineering, 24(5), 1131-1147.
  • Bukowska, M. (2006). The probability of rockburst occurrence in the Upper Silesian Coal Basin area dependent on natural mining conditions. Journal of Mining Sciences, 42(6), 570-577.
  • UCI Machine Learning Repository - Seismic Bumps. https://archive.ics.uci.edu/ml/datasets/Seismic+bumps
  • International Society for Rock Mechanics and Rock Engineering (ISRM). Rockburst and Seismicity in Mines. https://www.isrm.net/

🔄 Transformaciones Aplicadas

Modificaciones realizadas al conjunto original (Seismic Bumps Dataset)

  • Lectura personalizada del formato ARFF:
    • Procesamiento manual del archivo .arff (Attribute-Relation File Format) extrayendo exclusivamente la sección @data.
    • Asignación de nombres de columnas basados en la especificación del dataset (18 variables predictoras + 1 objetivo).
    • Limpieza de caracteres y formato durante la carga para garantizar integridad de datos.
  • Codificación ordinal de variables de riesgo:
    • Transformación de variables categóricas con orden lógico de peligro: seismic, seismoacoustic, ghazard.
    • Mapeo ordinal: 'a' (Sin riesgo) → 0, 'b' (Bajo) → 1, 'c' (Alto) → 2, 'd' (Peligro) → 3.
    • Preservación de la jerarquía natural de niveles de riesgo para mantener la semántica original.
  • Codificación nominal de variable contextual:
    • Transformación de shift (tipo de turno) a binario: 'W' (Extracción de carbón) → 0, 'N' (Preparación) → 1.
    • Documentación del significado contextual en la leyenda.
  • Conversión y estandarización de variables numéricas:
    • Conversión forzada de 14 variables numéricas a tipo float: genergy, gpuls, gdenergy, gdpuls, nbumps a nbumps89, energy, maxenergy.
    • Renombrado de la variable objetivo de 'class' a 'hazardous_state' para mejorar claridad semántica.
    • Conversión de hazardous_state a tipo entero (int) para codificación binaria.
  • 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 eventos sísmicos peligrosos).
    • 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_seismic_bumps.txt con semántica completa de la variable objetivo y todas las variables predictoras.
    • Documentación de variables ordinales de riesgo (seismic, seismoacoustic, ghazard) con su escala (0-3).
    • Documentación de variable contextual (shift) con su mapeo binario.
    • Descripción de variables de lecturas del geófono más activo (GMax) y su significado físico.
    • Descripción de variables de histórico de sacudidas (conteos por energía) y energía total.
    • Contextualización del dataset: minería de carbón y predicción de actividad sísmica peligrosa.
  • Preservación de la estructura y calidad de datos:
    • Mantenimiento de las 2,584 instancias (registros de turnos mineros) originales para el dataset completo.
    • Dataset reducido de 1,000 ejemplos estratificados para experimentación eficiente.
    • Dataset final con 18 variables predictoras (mixtas: ordinales, binarias y numéricas) y 1 variable objetivo binaria.
    • Guardado en formato CSV con separador punto y coma (;) para compatibilidad internacional.

📊 Resultado: Dataset de 2,584 registros de turnos mineros (con versión reducida estratificada de 1,000 ejemplos) con 18 variables predictoras (evaluaciones de riesgo, lecturas de geófonos, histórico de sacudidas) y 1 variable objetivo binaria (hazardous_state). Desbalance extremo-preservado (~93% estados no peligrosos / ~7% estados peligrosos) — escenario crítico para validación de técnicas de generación de datos sintéticos y evaluación del índice TabDSFidelity en contextos de seguridad minera y predicción de eventos sísmicos, donde la detección temprana de condiciones peligrosas es fundamental para la prevención de accidentes.

⛏️ Fuente: Seismic Bumps Dataset (UCI Machine Learning Repository) - Datos de actividad sísmica en minas de carbón.

📊 Variables de riesgo ordinal: seismic, seismoacoustic, ghazard con escala 0='a' (Sin riesgo) a 3='d' (Peligro).

📈 Lecturas del geófono (GMax): genergy (energía sísmica), gpuls (número de pulsos), gdenergy (desviación de energía), gdpuls (desviación de pulsos).

📊 Histórico de sacudidas: nbumps a nbumps89 — conteos de sacudidas por rangos de energía (10² a 10¹⁰ J).

📁 Leyenda disponible: Archivo leyenda_seismic_bumps.txt con descripción completa de variables ordinales, binarias, numéricas y contextuales.

🎯 Variable objetivo: hazardous_state (1 = Estado peligroso - sacudida > 10⁴ J en el siguiente turno, 0 = Estado no peligroso).

🧹 Limpieza aplicada: Lectura manual de ARFF, codificación ordinal de riesgo, codificación binaria de turno, conversión de numéricas, renombrado de target, reducción estratificada a 1,000 ejemplos.

📋 Diccionario de Datos Detallado

Variable Descripción de Monitoreo Minero Tipo Rango / Categorías Unidad ¿Objetivo?
seismic Evaluación de riesgo por método sísmico Categórico 0: Sin riesgo, 1: Bajo, 2: Alto N/A No
seismoacoustic Evaluación de riesgo por método sismoacústico Categórico 0: Sin riesgo, 1: Bajo, 2: Alto N/A No
ghazard Evaluación de riesgo por sensor GMax Categórico 0: Sin riesgo, 1: Bajo, 2: Alto N/A No
genergy Energía del sensor más activo (GMax) Numérico 100 - 2,129,020 J No
gpuls Pulsos registrados por el sensor más activo Numérico 4 - 3,722 pulsos No
gdenergy Desviación de energía vs 8 turnos previos Numérico -96 - 484 J No
gdpuls Desviación de pulsos vs 8 turnos previos Numérico -90 - 506 pulsos No
nbumps Número total de sacudidas en el turno anterior Numérico 0 - 8 eventos No
nbumps2 Sacudidas entre 10² y 10³ J Numérico 0 - 5 eventos No
nbumps3 Sacudidas entre 10³ y 10⁴ J Numérico 0 - 5 eventos No
nbumps4 Sacudidas entre 10⁴ y 10⁵ J Numérico 0 - 2 eventos No
nbumps5 Sacudidas entre 10⁵ y 10⁶ J Numérico 0 - 1 eventos No
nbumps6 Sacudidas entre 10⁶ y 10⁷ J Numérico 0 - 0 eventos No
nbumps7 Sacudidas entre 10⁷ y 10⁸ J Numérico 0 - 0 eventos No
nbumps89 Sacudidas entre 10⁸ y 10¹⁰ J Numérico 0 - 0 eventos No
energy Energía total acumulada en el turno Numérico 0 - 402,000 J No
maxenergy Energía máxima en una sola sacudida Numérico 0 - 400,000 J No
shift Tipo de turno de trabajo Binario 0: W (Extracción), 1: N (Preparación) N/A No
hazardous Evento sísmico peligroso en siguiente turno - OBJETIVO Binario 0: No, 1: Sí (sacudida > 10⁴ J) N/A
19 Variables totales
14 Numéricas
3 Categóricas
2 Binarias
Objetivo: Peligro Sísmico (hazardous)
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 Sacudidas Sísmicas (Seismic Bumps). Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados de predicción de peligros mineros.

seismic Categórica
Código Significado
0Sin riesgo (a)
1Bajo (b)
2Alto (c)
3Peligro (d) - No presente en este subconjunto
📊

Método sísmico: Evalúa el riesgo basado en ondas sísmicas registradas.

seismoacoustic Categórica
Código Significado
0Sin riesgo (a)
1Bajo (b)
2Alto (c)
3Peligro (d) - No presente en este subconjunto
🎵

Método sismoacústico: Evalúa el riesgo basado en señales acústicas y vibraciones.

ghazard Categórica
Código Significado
0Sin riesgo (a)
1Bajo (b)
2Alto (c)
3Peligro (d) - No presente en este subconjunto
📡

Sensor GMax: Evaluación basada exclusivamente en el geófono más activo.

shift Binario
Código Significado
0W = Turno de extracción de carbón
1N = Turno de preparación
⛏️

Importancia: El tipo de turno afecta la actividad sísmica. La extracción (W) genera más sacudidas que la preparación (N).

hazardous 🎯 Objetivo
Código Significado
0 No Peligroso - No ocurrió sacudida > 10⁴ J en el siguiente turno
1 Peligroso - Ocurrió sacudida > 10⁴ J (evento catastrófico) en el siguiente turno
🚨

Variable Objetivo: Predice eventos sísmicos de alta energía (> 10⁴ J) en el siguiente turno minero.

📊
Variables categóricas: 3
  • seismic (3 niveles - evaluación sísmica)
  • seismoacoustic (3 niveles - evaluación sismoacústica)
  • ghazard (3 niveles - evaluación GMax)
🎯
Variables binarias: 2
  • shift (Tipo de turno: W/N)
  • 🎯 hazardous (Objetivo - Peligro sísmico)
📈
Variables numéricas: 14
  • 4 del sensor GMax (genergy, gpuls, gdenergy, gdpuls)
  • 8 de conteos de sacudidas (nbumps a nbumps89)
  • 2 de energía total (energy, maxenergy)
⚠️
Recomendaciones de Modelado:
  • Métrica clave: Recall (detectar eventos peligrosos) sobre Accuracy
  • Feature Engineering: Crear ratio energy/events o tendencias temporales
  • Ley de Gutenberg-Richter: La acumulación de eventos pequeños precede a eventos grandes
  • Variables con ceros: nbumps6, nbumps7, nbumps89 pueden ser eliminadas (constantes)
  • Escalado: Variables de energía tienen alta varianza - usar StandardScaler o RobustScaler

🔬 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

  • nbumps == 0 → energy = 0, maxenergy = 0, nbumps2 = 0, nbumps3 = 0, nbumps4 = 0, nbumps5 = 0
  • energy ≥ maxenergy (Energía total ≥ energía máxima)
  • genergy > 50000 → gpuls > 10 (Energía G alta → pulsos G altos)
  • genergy == 0 → gdenergy ≤ 0
  • seismic == 3 → seismoacoustic ≥ 1
  • ghazard == 3 → genergy > 1000
  • nbumps2 > 0 → maxenergy ≥ 100
  • nbumps3 > 0 → maxenergy ≥ 1000
  • nbumps4 > 0 → maxenergy ≥ 10000
  • nbumps5 > 0 → maxenergy ≥ 100000
  • nbumps6 > 0 → maxenergy ≥ 1000000
  • maxenergy < 1000 → nbumps3 = 0, nbumps4 = 0, nbumps5 = 0, nbumps6 = 0
  • nbumps == 1 → nbumps4 ≤ 1
  • energy > 100000 → (nbumps4 > 0) OR (nbumps5 > 0) OR (nbumps6 > 0)
  • seismic == 0 → nbumps6 = 0
  • nbumps > 10 → energy > 5000

⚙️ 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 1 1120 0.422 0.915 0.940 7.537 0.160 0.343 0.099 0.933 52.306 0 1120 0.448 🏆
Smote 1 1120 0.468 0.883 0.885 6.341 0.169 0.436 0.111 0.948 45.715 0.009 601 0.446
Borderline SMOTE 1 1120 0.448 0.883 0.885 5.845 0.174 0.360 0.114 0.938 45.441 0.009 600 0.454
ADASYN 1.013 1113 0.499 0.863 0.850 5.508 0.168 0.436 0.108 0.952 45.382 0.009 600 0.457
SMOTE RSB* Adaptado 1 1120 0.460 0.843 0.820 4.172 0.178 0.465 0.099 0.947 52.551 0.012 600 0.441
SMOTE RSB* Adaptado + Reglas 1 1120 0.476 0.863 0.845 5.186 0.178 0.431 0.099 0.947 47.041 0.011 600 0.436
OOF PSO para Balanceo 1 1120 0.614 0.904 0.935 5.736 0.297 0.285 0.173 0.705 49.631 0.117 600 0.450
OOF PSO para Balanceo + Reglas 1 1120 0.663 0.904 0.935 5.800 0.313 0.143 0.160 0.704 51.992 0.118 600 0.431
Mejor seleccionado: Random Oversampling (TabDSFidelity: 7.537, AUC: 0.422, F1: 0.915, MIA: 0.448). 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 2.035 7175 0.468 0.915 0.940 7.692 0.198 0.436 0.083 0.948 67.455 0.020 4 0.454
SMOTE RSB* + Ruido Gaussiano + Reglas 2.035 7175 0.468 0.915 0.940 7.692 0.198 0.436 0.083 0.948 183.486 0.020 4 0.454
CTGAN 1.033 10000 0.583 0.700 0.600 4.814 0.215 0.364 0.104 0.905 418.620 0.033 0 0.516
CTGAN + Reglas del Dominio 1.033 10000 0.587 0.704 0.605 4.926 0.215 0.364 0.104 0.905 563.629 0.033 0 0.504
TVAE 1.049 10000 0.517 0.746 0.660 4.528 0.296 0.366 0.101 0.913 239.708 0.019 0 0.480
TVAE + Reglas del Dominio 1.049 10000 0.517 0.746 0.660 4.528 0.296 0.366 0.101 0.913 383.919 0.019 0 0.480
OOF PSO para Aumento 1.752 7854 0.630 0.739 0.650 2.655 0.457 0.214 0.330 0.571 225.828 0.178 8 0.449
OOF PSO para Aumento + Reglas 1.752 7854 0.627 0.739 0.650 2.621 0.458 0.214 0.330 0.571 346.028 0.178 8 0.445
SMOTE RSB* Refinado 2.212 7040 0.506 0.904 0.935 8.146 0.198 0.461 0.077 0.949 60.428 0.020 3 0.436 🏆
SMOTE RSB* Refinado + Reglas 2.212 7040 0.506 0.904 0.935 8.145 0.198 0.461 0.077 0.949 168.660 0.020 3 0.436
Mejor seleccionado: SMOTE RSB* Refinado (TabDSFidelity: 8.146, AUC: 0.506, F1: 0.904, MIA: 0.436). 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.837 8295 0.455 0.904 0.935 7.597 0.190 0.421 0.082 0.947 128.182 0.018 284 0.444 🏆
SMOTE RSB* + Ruido Gaussiano + Reglas 1.837 8295 0.455 0.904 0.935 7.597 0.190 0.421 0.082 0.947 243.658 0.018 284 0.444
CTGAN 1.030 11120 0.518 0.811 0.755 4.926 0.204 0.356 0.102 0.914 496.051 0.029 205 0.461
CTGAN + Reglas del Dominio 1.030 11120 0.514 0.814 0.760 4.976 0.204 0.356 0.102 0.914 640.067 0.029 205 0.451
TVAE 1.044 11120 0.450 0.789 0.725 3.280 0.271 0.363 0.100 0.918 316.231 0.017 205 0.450
TVAE + Reglas del Dominio 1.044 11120 0.450 0.789 0.725 3.280 0.271 0.363 0.100 0.918 460.272 0.017 205 0.450
OOF PSO para Aumento 1.629 8974 0.616 0.909 0.930 5.813 0.405 0.214 0.271 0.595 288.001 0.158 259 0.444
OOF PSO para Aumento + Reglas 1.629 8974 0.612 0.915 0.940 5.953 0.405 0.214 0.271 0.595 406.422 0.158 259 0.447
SMOTE RSB* Refinado 1.965 8160 0.443 0.904 0.935 7.548 0.190 0.437 0.076 0.948 116.996 0.018 287 0.423
SMOTE RSB* Refinado + Reglas 1.965 8160 0.445 0.904 0.935 7.575 0.190 0.437 0.076 0.948 225.417 0.018 287 0.423
Mejor seleccionado: SMOTE RSB* + Ruido Gaussiano (TabDSFidelity: 7.597, AUC: 0.455, F1: 0.904, MIA: 0.444). Nota: Ratio <= 1.5 = Conjunto Balanceado.

📈 Diagrama del Proceso de Generación

Conjunto Original
CD_40
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* Refinado
⭐ 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 Seismic Hazard Prediction in Underground Coal Mines (Version 1). figshare. https://doi.org/10.6084/m9.figshare.32946047.v1