Conjunto de datos industrial para la predicción de fallos en el Sistema de Presión de Aire (APS) de camiones. Caracterizado por un desbalance extremo (~1.6% positivos) y alta dimensionalidad (170 variables). Los atributos anonimizados representan contadores e intervalos de histogramas.
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.
| Clase | Precisión | Recall | F1-Score | Soporte |
|---|---|---|---|---|
| Clase 0 | 0.98 | 0.99 | 0.99 | 197 |
| Clase 1 | 0.00 | 0.00 | 0.00 | 3 |
| Accuracy | 0.98 | |||
| Macro Avg | 0.49 | 0.50 | 0.49 | 200 |
| Weighted Avg | 0.97 | 0.98 | 0.98 | 200 |
| Clase | Precisión | Recall | F1-Score | Soporte |
|---|---|---|---|---|
| Clase 0 | 0.98 | 0.87 | 0.92 | 197 |
| Clase 1 | 0.00 — | 0.00 — | 0.00 — | 3 |
| Accuracy | 0.85 ⬇ -0.13 | |||
| Macro Avg | 0.49 — | 0.43 ⬇ -0.07 | 0.46 ⬇ -0.03 | 200 |
| Weighted Avg | 0.97 — | 0.85 ⬇ -0.13 | 0.91 ⬇ -0.07 | 200 |
El conjunto de datos de Fallos del APS en Camiones Scania consiste en datos recolectados de camiones Scania pesados en uso diario. El sistema en foco es el Sistema de Presión de Aire (APS - Air Pressure System), que genera aire presurizado utilizado en diversas funciones del camión, como frenado y cambios de marcha. La clase positiva del dataset consiste en fallos de componentes para un componente específico del sistema APS. La clase negativa consiste en camiones con fallos para componentes no relacionados con el APS. El objetivo es predecir fallos del sistema APS para prevenir averías y optimizar el mantenimiento de los camiones.
El mantenimiento predictivo en la industria del transporte es fundamental para reducir tiempos de inactividad y costos operativos. Este dataset fue creado para el Industrial Challenge 2016 en el 15th International Symposium on Intelligent Data Analysis (IDA). La detección temprana de fallos en el sistema APS permite:
| Clase | Instancias | Porcentaje | Descripción |
|---|---|---|---|
| Positiva (1) | 1,000 | 1.67% | Fallos del componente APS |
| Negativa (0) | 59,000 | 98.33% | Fallos no relacionados con APS |
⚠️ El dataset presenta un desbalanceo extremo (1.67% de ejemplos positivos), lo que requiere técnicas especiales de muestreo y evaluación.
El desafío utiliza una métrica de costo específica para la clasificación errónea:
| Predicción \\ Real | Positivo (Fallo APS) | Negativo (No APS) |
|---|---|---|
| Positivo | 0 (Correcto) | Cost_1 = 10 |
| Negativo | Cost_2 = 500 | 0 (Correcto) |
⚠️ Cost_2 es 50 veces mayor que Cost_1, lo que refleja que no detectar un fallo es mucho más costoso que realizar una revisión innecesaria.
Total_cost = Cost_1 × (Falsos Positivos) + Cost_2 × (Falsos Negativos)
Los nombres de los atributos han sido anonimizados por razones de propiedad industrial. Consisten en:
Formato: Identifier_Bin (ej: 'Identifier_Bin' donde Identifier es el sensor y Bin el rango)
Por ejemplo, si se mide la temperatura ambiente 'T', el histograma podría definirse con 4 bins:
Los histogramas típicamente tienen condiciones abiertas en cada extremo (como se muestra).
Los tres mejores participantes del Industrial Challenge 2016 en el 15th International Symposium on Intelligent Data Analysis (IDA) obtuvieron los siguientes resultados:
| Posición | Participantes | Puntaje | Tipo 1 (FP) | Tipo 2 (FN) |
|---|---|---|---|---|
| 1° | Camila F. Costa y Mario A. Nascimento | 9,920 | 542 | 9 |
| 2° | Christopher Gondek, Daniel Hafner y Oliver R. Sampson | 10,900 | 490 | 12 |
| 3° | Sumeet Garnaik, Sushovan Das, Rama Syamala Sreepada y Bidyut Kr. Patra | 11,480 | 398 | 15 |
Nota: Menor puntaje indica mejor rendimiento. El cálculo del puntaje considera la métrica de costo: Puntaje = 10 × FP + 500 × FN
El conjunto de datos ha sido anonimizado para proteger la propiedad industrial de Scania CV AB. Los nombres de los atributos han sido codificados y no contienen información identificable de los camiones o conductores. El dataset se distribuye bajo la GNU General Public License v3.0, lo que permite su uso, modificación y distribución libre. 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 intentar inferir el significado de los atributos anonimizados o reidentificar los camiones.
Este conjunto de datos presenta desafíos significativos debido al desbalanceo extremo, los valores faltantes y la métrica de costo asimétrica. Se recomienda:
El mantenimiento predictivo en la industria del transporte es fundamental para reducir costos y mejorar la seguridad. Este dataset es significativo porque:
La detección temprana de fallos en el sistema APS puede prevenir accidentes, reducir tiempos de inactividad y ahorrar millones en costos de mantenimiento y reparación para flotas de camiones.
APS Failure at Scania Trucks Dataset. UCI Machine Learning Repository. Scania CV AB. https://archive.ics.uci.edu/ml/datasets/APS+Failure+at+Scania+Trucks
train_test_split con parámetro stratify para preservar exactamente la proporción original de clases (desbalance extremo).📊 Resultado: Dataset de 60,000 registros de vehículos Scania (con versión reducida estratificada de 1,000 ejemplos) con 170 variables predictoras (mediciones de sensores anonimizadas) y 1 variable objetivo binaria (class). Desbalance extremo preservado (~98.6% sin fallo / ~1.4% con fallo en APS) — 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 mantenimiento predictivo y detección de fallos en vehículos industriales, donde la identificación temprana de anomalías en sistemas críticos (sistema de presión de aire) es fundamental para la prevención de accidentes y la optimización del mantenimiento.
🚛 Fuente: APS Failure at Scania Trucks Dataset (UCI Machine Learning Repository) - Datos de sensores de camiones Scania para predicción de fallos en el sistema de aire comprimido (APS).
📊 Variables predictoras: 170 variables anonimizadas (aa_000 a eg_000) que representan mediciones de sensores, incluyendo contadores, histogramas y temperaturas.
⚠️ Desbalance extremo: Solo ~1.4% de instancias corresponden a fallos en el sistema APS (clase positiva), lo que convierte a este dataset en un desafío crítico para técnicas de sobremuestreo y generación de datos sintéticos.
📁 Leyenda disponible: Archivo leyenda_aps_failure.txt con descripción completa de la variable objetivo y la estructura de variables predictoras.
🎯 Variable objetivo: class (1 = Fallo en APS - pos, 0 = Sin fallo - neg).
🧹 Limpieza aplicada: Detección automática de cabecera, tratamiento de 'na' como valores faltantes, imputación con mediana en 170 variables, codificación de target ('pos'→1, 'neg'→0), reducción estratificada a 1,000 ejemplos.
| Variable | Descripción del Sensor | Tipo | Rango / Categorías | Unidad | ¿Objetivo? |
|---|---|---|---|---|---|
aa_000 |
Sensor anonimizado - Contador/Medición | Numérico | 0 - 1,545,282 | N/A | No |
ab_000 |
Sensor anonimizado - Contador discreto | Numérico | 0 - 6 | N/A | No |
ac_000 |
Sensor anonimizado - Medición de alta escala | Numérico | 0 - 2,130,706,514 | N/A | No |
ad_000 |
Sensor anonimizado - Contador | Numérico | 0 - 23,822 | N/A | No |
ae_000 |
Sensor anonimizado - Contador discreto | Numérico | 0 - 1,130 | N/A | No |
af_000 |
Sensor anonimizado - Contador discreto | Numérico | 0 - 1,130 | N/A | No |
ag_000 |
Histograma - Bin 0 (Serie temporal) | Numérico | 0 - 268,780 | N/A | No |
ag_001 |
Histograma - Bin 1 (Serie temporal) | Numérico | 0 - 2,769,256 | N/A | No |
ag_002 |
Histograma - Bin 2 (Serie temporal) | Numérico | 0 - 5,831,982 | N/A | No |
ag_003 |
Histograma - Bin 3 (Serie temporal) | Numérico | 0 - 16,067,740 | N/A | No |
ag_004 |
Histograma - Bin 4 (Serie temporal) | Numérico | 0 - 30,377,592 | N/A | No |
ag_005 |
Histograma - Bin 5 (Serie temporal) | Numérico | 0 - 32,265,010 | N/A | No |
ag_006 |
Histograma - Bin 6 (Serie temporal) | Numérico | 0 - 38,929,260 | N/A | No |
ag_007 |
Histograma - Bin 7 (Serie temporal) | Numérico | 0 - 11,752,946 | N/A | No |
ag_008 |
Histograma - Bin 8 (Serie temporal) | Numérico | 0 - 1,342,374 | N/A | No |
ag_009 |
Histograma - Bin 9 (Serie temporal) | Numérico | 0 - 702,394 | N/A | No |
ah_000 |
Sensor anonimizado - Medición | Numérico | 0 - 36,055,496 | N/A | No |
ai_000 |
Sensor anonimizado - Medición | Numérico | 0 - 1,119,586 | N/A | No |
aj_000 |
Sensor anonimizado - Contador | Numérico | 0 - 20,840 | N/A | No |
ak_000 |
Sensor anonimizado - Contador | Numérico | 0 - 69,236 | N/A | No |
al_000 |
Sensor anonimizado - Medición | Numérico | 0 - 11,433,954 | N/A | No |
am_0 |
Sensor anonimizado - Medición | Numérico | 0 - 17,681,784 | N/A | No |
an_000 |
Sensor anonimizado - Medición | Numérico | 0 - 67,601,406 | N/A | No |
ao_000 |
Sensor anonimizado - Medición | Numérico | 0 - 65,949,748 | N/A | No |
ap_000 |
Sensor anonimizado - Medición | Numérico | 0 - 28,725,938 | N/A | No |
aq_000 |
Sensor anonimizado - Medición | Numérico | 0 - 17,834,950 | N/A | No |
ar_000 |
Sensor anonimizado - Contador discreto | Numérico | 0 - 78 | N/A | No |
as_000 |
Sensor anonimizado - Constante (cero) | Numérico | 0 - 0 | N/A | No |
at_000 |
Sensor anonimizado - Medición | Numérico | 0 - 2,075,458 | N/A | No |
au_000 |
Sensor anonimizado - Contador | Numérico | 0 - 26,918 | N/A | No |
av_000 |
Sensor anonimizado - Medición | Numérico | 0 - 104,998 | N/A | No |
ax_000 |
Sensor anonimizado - Contador | Numérico | 0 - 11,940 | N/A | No |
ay_000 |
Sensor anonimizado - Contador | Numérico | 0 - 42,004 | N/A | No |
ay_001 |
Sensor anonimizado - Contador | Numérico | 0 - 15,928 | N/A | No |
ay_002 |
Sensor anonimizado - Contador | Numérico | 0 - 17,290 | N/A | No |
ay_003 |
Sensor anonimizado - Contador | Numérico | 0 - 20,846 | N/A | No |
ay_004 |
Sensor anonimizado - Contador | Numérico | 0 - 545,288 | N/A | No |
ay_005 |
Sensor anonimizado - Medición | Numérico | 0 - 49,836,550 | N/A | No |
ay_006 |
Sensor anonimizado - Medición | Numérico | 0 - 33,092,300 | N/A | No |
ay_007 |
Sensor anonimizado - Medición | Numérico | 0 - 58,380,366 | N/A | No |
ay_008 |
Sensor anonimizado - Medición | Numérico | 0 - 69,254,478 | N/A | No |
ay_009 |
Sensor anonimizado - Contador | Numérico | 0 - 123,752 | N/A | No |
az_000 |
Sensor anonimizado - Medición | Numérico | 0 - 320,000 | N/A | No |
az_001 |
Sensor anonimizado - Contador | Numérico | 0 - 170,058 | N/A | No |
az_002 |
Sensor anonimizado - Contador | Numérico | 0 - 224,900 | N/A | No |
az_003 |
Sensor anonimizado - Medición | Numérico | 0 - 6,343,916 | N/A | No |
az_004 |
Sensor anonimizado - Medición | Numérico | 0 - 79,584,472 | N/A | No |
az_005 |
Sensor anonimizado - Medición | Numérico | 0 - 55,742,146 | N/A | No |
az_006 |
Sensor anonimizado - Medición | Numérico | 0 - 12,123,506 | N/A | No |
az_007 |
Sensor anonimizado - Medición | Numérico | 0 - 4,353,786 | N/A | No |
az_008 |
Sensor anonimizado - Contador | Numérico | 0 - 50,650 | N/A | No |
az_009 |
Sensor anonimizado - Contador | Numérico | 0 - 18,526 | N/A | No |
ba_000 |
Sensor anonimizado - Medición | Numérico | 0 - 37,991,750 | N/A | No |
ba_001 |
Sensor anonimizado - Medición | Numérico | 0 - 29,362,398 | N/A | No |
ba_002 |
Sensor anonimizado - Medición | Numérico | 0 - 14,981,190 | N/A | No |
ba_003 |
Sensor anonimizado - Medición | Numérico | 0 - 8,956,562 | N/A | No |
ba_004 |
Sensor anonimizado - Medición | Numérico | 0 - 8,037,928 | N/A | No |
ba_005 |
Sensor anonimizado - Medición | Numérico | 0 - 6,489,468 | N/A | No |
ba_006 |
Sensor anonimizado - Medición | Numérico | 0 - 12,885,214 | N/A | No |
ba_007 |
Sensor anonimizado - Medición | Numérico | 0 - 6,382,286 | N/A | No |
ba_008 |
Sensor anonimizado - Medición | Numérico | 0 - 3,549,702 | N/A | No |
ba_009 |
Sensor anonimizado - Medición | Numérico | 0 - 10,805,998 | N/A | No |
bb_000 |
Sensor anonimizado - Medición | Numérico | 0 - 97,862,470 | N/A | No |
bc_000 |
Sensor anonimizado - Contador | Numérico | 0 - 45,840 | N/A | No |
bd_000 |
Sensor anonimizado - Contador | Numérico | 0 - 65,810 | N/A | No |
be_000 |
Sensor anonimizado - Contador | Numérico | 0 - 148,524 | N/A | No |
bf_000 |
Sensor anonimizado - Contador | Numérico | 0 - 4,256 | N/A | No |
bg_000 |
Sensor anonimizado - Medición | Numérico | 0 - 36,055,496 | N/A | No |
bh_000 |
Sensor anonimizado - Medición | Numérico | 0 - 2,350,822 | N/A | No |
bi_000 |
Sensor anonimizado - Medición | Numérico | 0 - 16,128,940 | N/A | No |
bj_000 |
Sensor anonimizado - Medición | Numérico | 0 - 24,746,024 | N/A | No |
bk_000 |
Sensor anonimizado - Contador | Numérico | 0 - 1,310,700 | N/A | No |
bl_000 |
Sensor anonimizado - Contador | Numérico | 0 - 1,310,700 | N/A | No |
bm_000 |
Sensor anonimizado - Contador | Numérico | 0 - 1,310,700 | N/A | No |
bn_000 |
Sensor anonimizado - Contador | Numérico | 0 - 1,310,700 | N/A | No |
bo_000 |
Sensor anonimizado - Contador | Numérico | 0 - 1,310,700 | N/A | No |
bp_000 |
Sensor anonimizado - Contador | Numérico | 0 - 1,310,700 | N/A | No |
bq_000 |
Sensor anonimizado - Contador | Numérico | 0 - 1,310,700 | N/A | No |
br_000 |
Sensor anonimizado - Contador | Numérico | 0 - 1,310,700 | N/A | No |
bs_000 |
Sensor anonimizado - Contador | Numérico | 0 - 618,100 | N/A | No |
bt_000 |
Sensor anonimizado - Medición (distinta escala) | Numérico | 1.42 - 1,545,282.77 | N/A | No |
bu_000 |
Sensor anonimizado - Medición | Numérico | 0 - 89,965,020 | N/A | No |
bv_000 |
Sensor anonimizado - Medición | Numérico | 0 - 89,965,020 | N/A | No |
bx_000 |
Sensor anonimizado - Medición | Numérico | 184 - 97,915,370 | N/A | No |
by_000 |
Sensor anonimizado - Contador | Numérico | 0 - 687,090 | N/A | No |
bz_000 |
Sensor anonimizado - Medición | Numérico | 0 - 12,820,078 | N/A | No |
ca_000 |
Sensor anonimizado - Contador | Numérico | 0 - 120,754 | N/A | No |
cb_000 |
Sensor anonimizado - Contador | Numérico | 0 - 1,206,220 | N/A | No |
cc_000 |
Sensor anonimizado - Medición | Numérico | 0 - 92,869,348 | N/A | No |
cd_000 |
Sensor anonimizado - Constante (valor fijo) | Numérico | 1,209,600 - 1,209,600 | N/A | No |
ce_000 |
Sensor anonimizado - Medición | Numérico | 0 - 2,763,266 | N/A | No |
cf_000 |
Sensor anonimizado - Contador | Numérico | 0 - 24,432 | N/A | No |
cg_000 |
Sensor anonimizado - Contador | Numérico | 0 - 3,828 | N/A | No |
ch_000 |
Sensor anonimizado - Constante (cero) | Numérico | 0 - 0 | N/A | No |
ci_000 |
Sensor anonimizado - Medición (flotante) | Numérico | 476.16 - 76,671,147.84 | N/A | No |
cj_000 |
Sensor anonimizado - Medición (flotante) | Numérico | 0 - 18,060,226.56 | N/A | No |
ck_000 |
Sensor anonimizado - Medición (flotante) | Numérico | 105.6 - 18,872,921.28 | N/A | No |
cl_000 |
Sensor anonimizado - Contador | Numérico | 0 - 73,728 | N/A | No |
cm_000 |
Sensor anonimizado - Contador | Numérico | 0 - 19,462 | N/A | No |
cn_000 |
Histograma - Bin 0 | Numérico | 0 - 4,618,596 | N/A | No |
cn_001 |
Histograma - Bin 1 | Numérico | 0 - 6,465,900 | N/A | No |
cn_002 |
Histograma - Bin 2 | Numérico | 0 - 17,010,746 | N/A | No |
cn_003 |
Histograma - Bin 3 | Numérico | 0 - 26,976,576 | N/A | No |
cn_004 |
Histograma - Bin 4 | Numérico | 0 - 29,407,046 | N/A | No |
cn_005 |
Histograma - Bin 5 | Numérico | 0 - 27,646,496 | N/A | No |
cn_006 |
Histograma - Bin 6 | Numérico | 0 - 23,105,918 | N/A | No |
cn_007 |
Histograma - Bin 7 | Numérico | 0 - 2,066,758 | N/A | No |
cn_008 |
Histograma - Bin 8 | Numérico | 0 - 1,405,788 | N/A | No |
cn_009 |
Histograma - Bin 9 | Numérico | 0 - 347,338 | N/A | No |
co_000 |
Sensor anonimizado - Contador | Numérico | 0 - 9,282 | N/A | No |
cp_000 |
Sensor anonimizado - Contador | Numérico | 0 - 8,680 | N/A | No |
cq_000 |
Sensor anonimizado - Medición | Numérico | 0 - 89,965,020 | N/A | No |
cr_000 |
Sensor anonimizado - Constante (cero) | Numérico | 0 - 0 | N/A | No |
cs_000 |
Sensor anonimizado - Contador | Numérico | 0 - 95,248 | N/A | No |
cs_001 |
Sensor anonimizado - Contador | Numérico | 0 - 31,388 | N/A | No |
cs_002 |
Sensor anonimizado - Medición | Numérico | 0 - 18,153,808 | N/A | No |
cs_003 |
Sensor anonimizado - Medición | Numérico | 0 - 17,015,398 | N/A | No |
cs_004 |
Sensor anonimizado - Medición | Numérico | 0 - 27,179,106 | N/A | No |
cs_005 |
Sensor anonimizado - Medición | Numérico | 0 - 64,289,098 | N/A | No |
cs_006 |
Sensor anonimizado - Medición | Numérico | 0 - 17,484,050 | N/A | No |
cs_007 |
Sensor anonimizado - Contador | Numérico | 0 - 378,594 | N/A | No |
cs_008 |
Sensor anonimizado - Contador | Numérico | 0 - 2,072 | N/A | No |
cs_009 |
Sensor anonimizado - Contador | Numérico | 0 - 38 | N/A | No |
ct_000 |
Sensor anonimizado - Contador | Numérico | 0 - 60,614 | N/A | No |
cu_000 |
Sensor anonimizado - Contador | Numérico | 0 - 25,488 | N/A | No |
cv_000 |
Sensor anonimizado - Medición | Numérico | 0 - 46,867,348 | N/A | No |
cx_000 |
Sensor anonimizado - Medición | Numérico | 0 - 30,130,794 | N/A | No |
cy_000 |
Sensor anonimizado - Contador | Numérico | 0 - 61,196 | N/A | No |
cz_000 |
Sensor anonimizado - Medición | Numérico | 0 - 1,120,436 | N/A | No |
da_000 |
Sensor anonimizado - Contador | Numérico | 0 - 1,638 | N/A | No |
db_000 |
Sensor anonimizado - Contador | Numérico | 0 - 158 | N/A | No |
dc_000 |
Sensor anonimizado - Medición | Numérico | 0 - 47,575,966 | N/A | No |
dd_000 |
Sensor anonimizado - Contador | Numérico | 0 - 153,612 | N/A | No |
de_000 |
Sensor anonimizado - Contador | Numérico | 0 - 57,952 | N/A | No |
df_000 |
Sensor anonimizado - Contador | Numérico | 0 - 175,320 | N/A | No |
dg_000 |
Sensor anonimizado - Medición | Numérico | 0 - 1,466,892 | N/A | No |
dh_000 |
Sensor anonimizado - Contador | Numérico | 0 - 125,710 | N/A | No |
di_000 |
Sensor anonimizado - Medición | Numérico | 0 - 4,740,684 | N/A | No |
dj_000 |
Sensor anonimizado - Contador | Numérico | 0 - 200 | N/A | No |
dk_000 |
Sensor anonimizado - Medición | Numérico | 0 - 890,990 | N/A | No |
dl_000 |
Sensor anonimizado - Constante (cero) | Numérico | 0 - 0 | N/A | No |
dm_000 |
Sensor anonimizado - Contador | Numérico | 0 - 18 | N/A | No |
dn_000 |
Sensor anonimizado - Medición | Numérico | 0 - 2,116,394 | N/A | No |
do_000 |
Sensor anonimizado - Medición | Numérico | 0 - 1,160,192 | N/A | No |
dp_000 |
Sensor anonimizado - Contador | Numérico | 0 - 184,578 | N/A | No |
dq_000 |
Sensor anonimizado - Medición (alta escala) | Numérico | 0 - 1,405,206,256 | N/A | No |
dr_000 |
Sensor anonimizado - Medición | Numérico | 0 - 28,118,744 | N/A | No |
ds_000 |
Sensor anonimizado - Medición | Numérico | 0 - 2,812,478 | N/A | No |
dt_000 |
Sensor anonimizado - Contador | Numérico | 0 - 439,846 | N/A | No |
du_000 |
Sensor anonimizado - Medición | Numérico | 0 - 235,103,600 | N/A | No |
dv_000 |
Sensor anonimizado - Medición | Numérico | 0 - 24,836,024 | N/A | No |
dx_000 |
Sensor anonimizado - Medición | Numérico | 0 - 70,013,636 | N/A | No |
dy_000 |
Sensor anonimizado - Contador | Numérico | 0 - 716,942 | N/A | No |
dz_000 |
Sensor anonimizado - Contador | Numérico | 0 - 14 | N/A | No |
ea_000 |
Sensor anonimizado - Contador | Numérico | 0 - 462 | N/A | No |
eb_000 |
Sensor anonimizado - Medición (muy alta escala) | Numérico | 0 - 1,006,498,200 | N/A | No |
ec_00 |
Sensor anonimizado - Medición (flotante) | Numérico | 0 - 30,153.66 | N/A | No |
ed_000 |
Sensor anonimizado - Contador | Numérico | 0 - 32,206 | N/A | No |
ee_000 |
Histograma - Bin 0 | Numérico | 0 - 23,929,454 | N/A | No |
ee_001 |
Histograma - Bin 1 | Numérico | 0 - 34,984,296 | N/A | No |
ee_002 |
Histograma - Bin 2 | Numérico | 0 - 9,805,842 | N/A | No |
ee_003 |
Histograma - Bin 3 | Numérico | 0 - 4,408,562 | N/A | No |
ee_004 |
Histograma - Bin 4 | Numérico | 0 - 8,289,548 | N/A | No |
ee_005 |
Histograma - Bin 5 | Numérico | 0 - 31,650,522 | N/A | No |
ee_006 |
Histograma - Bin 6 | Numérico | 0 - 20,947,036 | N/A | No |
ee_007 |
Histograma - Bin 7 | Numérico | 0 - 14,090,626 | N/A | No |
ee_008 |
Histograma - Bin 8 | Numérico | 0 - 5,116,788 | N/A | No |
ee_009 |
Histograma - Bin 9 | Numérico | 0 - 509,110 | N/A | No |
ef_000 |
Sensor anonimizado - Contador | Numérico | 0 - 4 | N/A | No |
eg_000 |
Sensor anonimizado - Contador | Numérico | 0 - 20 | N/A | No |
class |
Fallo en el sistema APS (objetivo) | Binario | 0: Sin fallo, 1: Con fallo | N/A | Sí |
Esta sección detalla los códigos y significados de las variables categóricas y binarias presentes en el conjunto de datos de Fallo APS en Camiones Scania. Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados de mantenimiento predictivo.
class
🎯 Objetivo
| Código | Significado |
|---|---|
| 0 | neg (Sin fallo) - El Sistema de Presión de Aire (APS) no presentó fallo. Clase mayoritaria (~98.33%) |
| 1 | pos (Fallo APS) - El componente APS falló. Clase minoritaria (~1.67%) |
Variable Objetivo: Predice fallos en el Sistema de Presión de Aire (APS) de camiones Scania.
Formato: 0 = Sin fallo, 1 = Fallo APS
class
🎯 Variable Objetivo: Fallo APS (0: Sin fallo, 1: Con fallo)
Nota: Única variable binaria en el dataset.
aa_000 == 0 → ag_000 = 0aa_000 == 0 → al_000 = 0class == 1 → (ag_001 > 0) OR (ag_002 > 0) OR (cn_000 > 0)class == 1 → (ee_005 > 0) OR (cs_005 > 0)class == 0 → ag_009 = 0class == 0 → ee_009 = 0ag_005 > 1000 → (ag_004 > 0) OR (ag_006 > 0)ba_004 > 500 → (ba_003 > 0) OR (ba_005 > 0)cn_004 > 500 → (cn_003 > 0) OR (cn_005 > 0)al_000 > 0 → ag_000 > 0cs_000 > 100 → (cn_000 > 0) OR (cn_001 > 0)az_000 y az_009 son mutuamente excluyentesee_000 y ee_009 son mutuamente excluyentesay_000 == 0 → ay_001 ≤ 100ag_000 == 0 → cn_000 = 0class == 1 → (ee_005 > 0) OR (az_005 > 0)| Valor escala | 0.03 |
|---|---|
| Probabilidad Base | 0.1 |
| epochs | 500 |
|---|---|
| batch_size | 50 |
| generator_lr | 0.0002 |
| discriminator_lr | 0.0002 |
| pac | 10 |
| generator_dim | (256, 256) |
| discriminator_dim | (256, 256) |
| embedding_dim | 128 |
| l2scale | 1e-05 |
| epochs | 500 |
|---|---|
| batch_size | 50 |
| embedding_dim | 128 |
| compress_dims | (128, 128) |
| decompress_dims | (128, 128) |
| l2scale | 1e-5 |
| loss_factor | 2 |
| Random Seed | 42 |
|---|---|
| Python | 3.12.12 |
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.
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:
El mejor conjunto de cada etapa fue seleccionado mediante el índice TabDSFidelity.
| 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 | 1178 | 0.985 | 0.975 | 0.980 | 3.071 | 0.304 | 0.153 | 0.602 | 0.897 | 94.514 | 0 | 1178 | 0.478 | |
| Smote | 1 | 1178 | 0.984 | 0.980 | 0.980 | 3.055 | 0.359 | 0.143 | 0.602 | 0.914 | 88.186 | 0.022 | 601 | 0.448 | |
| Borderline SMOTE | 1 | 1178 | 0.985 | 0.988 | 0.990 | 6.233 | 0.359 | 0.148 | 0.602 | 0.910 | 83.881 | 0.023 | 601 | 0.453 | |
| ADASYN | 1.007 | 1174 | 0.992 | 0.984 | 0.985 | 5.843 | 0.358 | 0.146 | 0.598 | 0.915 | 82.890 | 0.022 | 601 | 0.456 | |
| SMOTE RSB* Adaptado | 1.010 | 1172 | 0.995 | 0.990 | 0.990 | 8.263 | 0.360 | 0.147 | 0.597 | 0.910 | 193.979 | 0.040 | 600 | 0.479 | 🏆 |
| SMOTE RSB* Adaptado + Reglas | 1.010 | 1172 | 0.992 | 0.984 | 0.985 | 6.015 | 0.358 | 0.148 | 0.597 | 0.919 | 195.037 | 0.040 | 600 | 0.449 | |
| OOF PSO para Balanceo | 1 | 1178 | 0.996 | 0.978 | 0.985 | 3.335 | 0.411 | 0.029 | 0.602 | 0.610 | 96.394 | 0.206 | 600 | 0.526 | |
| OOF PSO para Balanceo + Reglas | 1 | 1178 | 0.995 | 0.988 | 0.990 | 6.005 | 0.387 | 0.031 | 0.602 | 0.684 | 98.661 | 0.204 | 244 | 0.465 |
| 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.012 | 7278 | 0.939 | 0.984 | 0.985 | 7.103 | 0.591 | 0.066 | 0.596 | 0.903 | 345.841 | 0.043 | 26 | 0.485 | |
| SMOTE RSB* + Ruido Gaussiano + Reglas | 1.012 | 7278 | 0.783 | 0.885 | 0.815 | 1.724 | 0.592 | 0.066 | 0.596 | 0.897 | 1023.590 | 0.044 | 22 | 0.484 | |
| CTGAN | 1.016 | 10000 | 0.959 | 0.978 | 0.985 | 8.086 | 0.535 | 0.155 | 0.594 | 0.813 | 2860.440 | 0.132 | 0 | 0.419 | |
| CTGAN + Reglas del Dominio | 1.016 | 10000 | 0.975 | 0.988 | 0.990 | 8.396 | 0.538 | 0.149 | 0.594 | 0.811 | 3871.270 | 0.131 | 0 | 0.487 | 🏆 |
| TVAE | 1.134 | 10000 | 0.992 | 0.984 | 0.985 | 7.139 | 0.645 | 0.077 | 0.543 | 0.884 | 1874.050 | 0.057 | 0 | 0.418 | |
| TVAE + Reglas del Dominio | 1.134 | 10000 | 0.959 | 0.977 | 0.975 | 6.588 | 0.643 | 0.077 | 0.543 | 0.880 | 2905.420 | 0.057 | 0 | 0.519 | |
| OOF PSO para Aumento | 1 | 10000 | 0.809 | 0.986 | 0.985 | 4.230 | 0.637 | 0.033 | 0.602 | 0.639 | 432.816 | 0.157 | 0 | 0.522 | |
| OOF PSO para Aumento + Reglas | 1 | 10000 | 0.809 | 0.986 | 0.985 | 4.314 | 0.634 | 0.039 | 0.602 | 0.642 | 1314.070 | 0.156 | 0 | 0.537 | |
| SMOTE RSB* Refinado | 1 | 7000 | 0.993 | 0.980 | 0.980 | 7.440 | 0.598 | 0.067 | 0.602 | 0.903 | 312.415 | 0.044 | 22 | 0.459 | |
| SMOTE RSB* Refinado + Reglas | 1 | 7000 | 0.987 | 0.980 | 0.980 | 7.353 | 0.599 | 0.067 | 0.602 | 0.895 | 921.978 | 0.044 | 18 | 0.471 |
| 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.012 | 8450 | 1.000 | 0.988 | 0.990 | 7.028 | 0.547 | 0.067 | 0.596 | 0.905 | 723.512 | 0.044 | 185 | 0.479 | 🏆 |
| SMOTE RSB* + Ruido Gaussiano + Reglas | 1.012 | 8450 | 0.990 | 0.984 | 0.985 | 2.632 | 0.547 | 0.067 | 0.596 | 0.901 | 1397.500 | 0.044 | 182 | 0.482 | |
| CTGAN | 1.016 | 11172 | 0.982 | 0.984 | 0.985 | 2.730 | 0.500 | 0.151 | 0.594 | 0.839 | 3412.270 | 0.123 | 119 | 0.406 | |
| CTGAN + Reglas del Dominio | 1.016 | 11172 | 0.990 | 0.988 | 0.990 | 6.738 | 0.503 | 0.146 | 0.594 | 0.838 | 4404.800 | 0.121 | 119 | 0.426 | |
| TVAE | 1.120 | 11172 | 0.992 | 0.984 | 0.985 | 2.392 | 0.598 | 0.078 | 0.549 | 0.899 | 2433.570 | 0.057 | 119 | 0.437 | |
| TVAE + Reglas del Dominio | 1.120 | 11172 | 0.988 | 0.984 | 0.985 | 2.016 | 0.596 | 0.078 | 0.549 | 0.895 | 3459.410 | 0.057 | 119 | 0.468 | |
| OOF PSO para Aumento | 1.001 | 11172 | 0.988 | 0.990 | 0.990 | 4.784 | 0.587 | 0.035 | 0.601 | 0.664 | 977.394 | 0.140 | 119 | 0.470 | |
| OOF PSO para Aumento + Reglas | 1.001 | 11172 | 0.986 | 0.990 | 0.990 | 4.574 | 0.584 | 0.038 | 0.601 | 0.670 | 1860.310 | 0.140 | 119 | 0.449 | |
| SMOTE RSB* Refinado | 1.001 | 8172 | 0.996 | 0.988 | 0.990 | 6.546 | 0.550 | 0.069 | 0.601 | 0.904 | 651.750 | 0.041 | 179 | 0.455 | |
| SMOTE RSB* Refinado + Reglas | 1.001 | 8172 | 0.993 | 0.984 | 0.985 | 3.007 | 0.550 | 0.069 | 0.601 | 0.900 | 1259.450 | 0.042 | 173 | 0.435 |
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:
¿Qué mide? Capacidad del modelo para distinguir entre clases (Ej: mortalidad vs supervivencia).
Interpretación:
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.
¿Qué mide? Media armónica entre precisión y sensibilidad (recall).
Interpretación:
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).
¿Qué mide? Proporción de predicciones correctas sobre el total.
Interpretación:
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.
¿Qué mide? Calidad global del conjunto sintético comparado con el original.
Interpretació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).
¿Qué mide? Similitud entre las distribuciones de variables numéricas del conjunto sintético y el original.
Interpretación:
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.
¿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:
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.
¿Qué mide? Divergencia entre las distribuciones de variables categóricas del conjunto sintético y el original.
Interpretación:
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.
¿Qué mide? Preservación de las relaciones entre variables del conjunto original.
Interpretación:
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.
¿Qué mide? Tiempo total de ejecución del proceso de generación del conjunto.
Interpretación:
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.
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.
¿Qué mide? La distancia promedio entre cada registro sintético y su registro más cercano en el conjunto de datos original.
Interpretación:
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.
¿Qué mide? Número de registros sintéticos que son copias idénticas de registros en el conjunto de datos original.
Interpretació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.
¿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:
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.
Formatos incluidos: CSV.
Díaz Bastida, M., Pérez Vázquez, R. A., & Bello Pérez, R. (2026). High-Fidelity Synthetic Dataset for Predictive Maintenance of Air Pressure System (Version 1). figshare. https://doi.org/10.6084/m9.figshare.32946593.v1