← capítulo

Valores faltantes y datos sucios

Encuentra y arregla los problemas de los datos reales antes de correr cualquier modelo.

Un valor faltante no tiene que estar en blanco para faltar. A veces es un cero escondido a plena vista.

La trampa de Pima

Tus datos están más sucios de lo que crees

652 celdas faltantes disfrazadas en el benchmark "limpio" de Pima. La insulina es 48.7% falsa.

Las matemáticas

Rellena con la media o la mediana de los valores observados:

xˉ=1ni=1nximedian(x)=x((n+1)/2)\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i \qquad \operatorname{median}(x) = x_{((n+1)/2)}

Dos reglas de outliers que discrepan a propósito:

z-score: flag xixˉ/σ>3\text{z-score: flag } |x_i - \bar{x}| / \sigma > 3 IQR: flag xi<Q11.5IQR   or   xi>Q3+1.5IQR\text{IQR: flag } x_i < Q_1 - 1.5\,\text{IQR} \;\text{ or }\; x_i > Q_3 + 1.5\,\text{IQR}

La media y la desviación estándar del z-score están infladas por los mismos outliers que caza, así que marca de menos en una columna sesgada. El IQR no.

Detecta los ceros disfrazados

NaNs reales, más los ceros en las columnas donde el cero es físicamente imposible.

La media queda alta, la mediana cae en el grueso

La insulina es 48.7% ceros falsos y está sesgada a la derecha. El relleno con media se estaciona en 156 en la cola vacía; el relleno con mediana cae en 125 dentro del grueso.

Limpiar no es un botón

Clasificador fijo, una división. Test accuracy — fracción de 192 pacientes reservados clasificados correctamente (sin unidades, 0–1).

Los ceros crudos dan 0.781, la imputación ingenua cae a 0.750 — la ausencia era informativa. Mediana + una bandera de was-missing lo recupera: 0.771.

Conclusiones