Toma de decisiones sobre valores faltantes, duplicados y transformaciones
Al finalizar este tema
Podrá distinguir entre los valores faltantes, las filas duplicadas y la conversión de unidades como problemas de calidad de datos diferentes. Aprenderá a registrar qué supuestos de procesamiento se utilizaron sin afirmar categóricamente MCAR, MAR o MNAR basándose únicamente en las observaciones disponibles.
Punto de partida: ¿qué significa un solo espacio en blanco?
Un espacio en blanco en una tabla puede representar tanto un fallo de medición como la no medición aún realizada, el caso de "no aplica" o un error de entrada. El número 0 podría ser un cero medido legítimo o un valor arbitrario utilizado para rellenar datos que no pudieron medirse. Por lo tanto, el tratamiento de los valores faltantes no consiste en eliminar los espacios en blanco, sino en verificar la razón de la ausencia del valor y su papel en el análisis.
Separación de valores faltantes, duplicados y errores de unidad
Valores faltantes
Los valores faltantes son un estado en el que el valor esperado no ha sido registrado. Si se desconoce la causa de la aparición de los valores faltantes, una sustitución simple puede alterar la pregunta de investigación. En lugar de determinar definitivamente el mecanismo de falta de datos solo con los datos observados, se deben revisar los registros de medición y los procedimientos de recopilación.
Duplicados
El término "duplicado" podría referirse a la repetición de la misma fila, pero también podría indicar que múltiples observaciones legítimas en diferentes momentos están asociadas al mismo ID. No se eliminarán las filas únicamente porque unit_id indique que hay duplicados. Se define la existencia de duplicados basándose en la unidad de observación esperada, los momentos y las claves de repetición.
Transformaciones
Las transformaciones son tareas que modifican la representación o la escala de los valores, como el cambio de unidades, la transformación logarítmica, la normalización y la categorización. Si no se registran el significado antes y después de la transformación y el momento de su aplicación, será difícil revertir los resultados a las unidades originales o compararlos con otros análisis.
Conteo del estado inicial con Python
import pandas as pd
missing = data.isna().sum()duplicate_key = data.duplicated( subset=["condition", "outcome"], keep=False)profile = pd.DataFrame({ "missing": missing, "dtype": data.dtypes.astype(str),})print(profile)print("candidate duplicate rows:", int(duplicate_key.sum()))isna() cuenta los valores que aparecen como faltantes, pero no indica por qué se produjeron. duplicated() también solo señala las combinaciones de columnas especificadas que aparecen repetidas como candidatos, sin determinar si esas filas corresponden a copias erróneas o a repeticiones válidas. Es necesario definir primero la unidad de análisis y la clave de repetición, y luego seleccionar el subconjunto.
Registrar los supuestos sobre los valores faltantes
Al manejar los valores faltantes, se deben distinguir los siguientes aspectos:
- Proporción de valores faltantes: en qué columnas y unidades hay valores faltantes y en qué medida.
- Proceso de generación: dónde ocurrieron (durante la medición, transmisión o filtrado).
- Supuestos analíticos: cómo puede relacionarse la ausencia de ciertos valores con los resultados.
- Reglas de tratamiento: qué se hizo (exclusión, imputación, categoría separada o tratamiento basado en modelos).
- Sensibilidad: cuánto cambian las conclusiones bajo otros tratamientos razonables.
Asignar los nombres MCAR, MAR o MNAR no demuestra por sí solo que los supuestos sean correctos. Se debe distinguir entre los patrones observados en los datos y el conocimiento del proceso de recolección, dejando la incertidumbre donde no se ha podido verificar.
Registrar comparaciones antes y después del tratamiento
Tras manejar valores faltantes o duplicados, no se deben cambiar silenciosamente el número de filas del conjunto original; en su lugar, se debe dejar un resumen con los siguientes elementos:
| Elemento | Antes del tratamiento | Después del tratamiento | Base para la decisión |
|---|---|---|---|
| Número total de filas | Unidad de análisis del esquema | ||
| Valores faltantes en el resultado | Verificación con los registros de medición | ||
| Candidatos a duplicados | Definición de la clave de duplicidad | ||
| Filas excluidas | Reglas previas o registro de errores | ||
| Columnas transformadas | Fórmula, unidad y versión de la transformación |
Si el número de filas disminuye después del tratamiento, se debe verificar qué unidades desaparecieron. Si los valores faltantes disminuyeron más en ciertas condiciones o lotes, la exclusión podría alterar la estructura comparativa de los resultados. En este caso, no se debe afirmar que "los valores faltantes se eliminaron y ahora está limpio", sino informar qué observaciones faltaron del análisis y por qué razón.
No convertir un único método de tratamiento en la respuesta correcta
Decidir si excluir o imputar valores faltantes, o mantener o eliminar candidatos a duplicados, depende del proceso generador de los datos y de la pregunta de investigación. Antes de determinar las reglas de tratamiento, se deben distinguir al menos los siguientes dos aspectos:
- Reglas para corregir errores de datos: subsanar equivocaciones en entradas, unidades o identificadores.
- Reglas que añaden supuestos analíticos: manejar valores no observados de una manera específica.
El primer caso requiere evidencia y conservación del original; el segundo puede afectar la incertidumbre de los resultados, por lo que necesita un registro más explícito de los supuestos. Si se aplican diferentes reglas de tratamiento razonables a los mismos datos y las interpretaciones cambian, no se debe ocultar esa diferencia, sino registrarla como parte del análisis de sensibilidad.
La transformación es parte de la procedencia.
Por ejemplo, si se convierte milímetros a micrómetros, se registra la fórmula de conversión, la unidad original, la nueva unidad, la columna a la que se aplica y la versión. Las operaciones que alteran la interpretación y la distribución de los valores, como las transformaciones logarítmicas, también deben conservar la regla de tratamiento de los valores cero y la posibilidad de realizar la transformación inversa.
Al separar la columna original en elementos distintos, como value_raw y value_transformed, en lugar de sobrescribirla, es posible rastrear errores de cálculo y comparar los estados antes y después de la transformación. El hecho de elegir una transformación específica constituye un juicio sobre la pregunta de investigación y el proceso de generación de datos; por lo tanto, no se debe dejar solo el resultado final.
Registrar las reglas de procesamiento junto con el código
Si se dejan los criterios únicamente como texto, será difícil aplicar las mismas reglas posteriormente. En el código, se deben imprimir explícitamente el número de filas antes y después del procesamiento, la cantidad de valores faltantes por columna y los criterios para identificar posibles duplicados. Al guardar los resultados en un nuevo archivo en lugar de sobrescribir el archivo original, es posible comparar en qué etapa cambiaron los valores si se produce un error.
Por ejemplo, aunque se excluyan los valores faltantes de outcome, las siguientes dos oraciones describen operaciones diferentes.
drop rows where outcome is missing
drop rows where any field is missingEl primer caso omite solo las filas para las que no se puede calcular el resultado, mientras que el segundo elimina también las filas en las que faltan las columnas contextuales necesarias para el análisis. Si no se especifica qué regla se aplicó, no es posible reconstruir el proceso a partir del número de filas en la tabla de resultados.
Unidades e interpretación antes y después de la transformación
La conversión de unidades no solo cambia los números, sino también la unidad en la que se interpretan los resultados. La transformación logarítmica puede hacer que las diferencias entre valores no se interpreten de la misma manera que las diferencias en la unidad original. Por lo tanto, al informar la media o la dispersión después de una transformación, se debe indicar junto con el valor: "¿en qué escala se calculó el valor?".
La categorización también es una transformación. Al convertir medidas continuas en dos grupos mediante un punto de corte, se pierde información cerca del límite y la elección del punto de corte puede influir en los resultados. En esta sección no se prescriben transformaciones específicas, sino que se aplica el principio de registrar el propósito, las reglas y los impactos de la transformación.
Registro de calidad de datos verificable
Los resultados de la inspección de calidad son más fáciles de leer si se dividen en tres niveles:
- Observación:
outcometenía 3 posibles valores faltantes. - Juicio: No se pudo confirmar la causa porque no se pudo verificar el registro de medición.
- Acción: Se excluyeron en este análisis y se registró en el manifiesto el número de filas antes y después de la exclusión.
Al no mezclar observaciones con juicios, se evitan afirmaciones sin fundamento como "los valores faltantes eran aleatorios". Incluso si se eligen reglas de tratamiento diferentes en análisis posteriores, es posible comparar las observaciones originales y el historial de tratamiento.
Volver a la pregunta de investigación para interpretar
Aunque se verifiquen los valores faltantes, duplicados y las transformaciones, los datos no se vuelven completos. Sin embargo, se vuelve más claro qué valores son mediciones reales y cuáles son resultados del procesamiento, así como qué filas constituyen la unidad de análisis. Sin esta información, es difícil explicar en qué entradas dependen las medias o los resultados del modelo.
La elección del tratamiento de valores faltantes puede afectar la incertidumbre de los resultados. Por lo tanto, se informa el método de tratamiento sin ocultarlo, junto con la unidad de observación necesaria para la pregunta de investigación.
El objetivo del trabajo de calidad de datos no es eliminar todos los valores que resultan inconvenientes para el análisis. Se trata de preservar la trayectoria de generación de los valores y la unidad de observación, explicando qué materiales se utilizaron realmente para responder a la pregunta. Aunque una tabla después del procesamiento parezca más ordenada, si las observaciones de ciertas condiciones faltan sistemáticamente, el significado de la comparación puede cambiar.
Fallos comunes y métodos de verificación
- No sustituir todos los valores faltantes por 0.
- No asumir inmediatamente que la duplicidad de ID implica duplicidad de filas.
- No conservar solo los valores transformados y descartar las unidades originales.
- No confirmar MCAR, MAR o MNAR basándose únicamente en el informe del patrón de valores faltantes.
- No registrar las reglas de tratamiento solo en la tabla de resultados y omitirlas en el origen de los datos.
Resumen clave
- La falta de valor es un estado de ausencia de datos, no un indicador que revela su causa.
- La duplicidad debe determinarse después de definir la unidad de análisis y las claves de repetición.
- La transformación no solo cambia la representación de los valores, sino también su interpretación y origen.
- MCAR, MAR y MNAR son supuestos que no se determinan automáticamente a partir de una única tabla de observaciones.
- Para poder revisar los resultados, es necesario registrar las reglas y las versiones junto con el estado de los datos antes y después del procesamiento.
Siguiente tema
Ahora que hemos verificado la forma y la calidad de los datos, el siguiente módulo abordará los modelos probabilísticos y el proceso de generación de datos. Ampliaremos la pregunta sobre en qué estructura podrían haberse generado los valores observados.
Referencias
- Guía del usuario de pandas: https://pandas.pydata.org/docs/user_guide/index.html
- Informes GAISE de la ASA: https://www.amstat.org/education/guidelines-for-assessment-and-instruction-in-statistics-education-%28gaise%29-reports
Las tablas, el código y las preguntas de procesamiento de esta sección son componentes educativos creados de forma independiente por BioStatPy.