dataSciencePilot

analyzeMissingPatterns

L'essentiel
En resumen
Antes de alimentar cualquier algoritmo predictivo, es crucial entender la "silueta" de los datos ausentes, tarea que facilita la acción analyzeMissingPatterns. Esta funcionalidad de SAS Viya permite a los analistas ir más allá de los simples recuentos, revelando si existen combinaciones específicas de variables que presentan valores nulos simultáneamente. Detectar esta sistemicidad es vital para diferenciar entre errores de carga aleatorios y sesgos estructurales en la información. A continuación, hemos preparado una lista de preguntas frecuentes para ayudarle a descifrar estos patrones de nulidad y aplicar las correcciones adecuadas en su estrategia de datos.

Descripción

Realiza un análisis de los patrones de valores perdidos en un conjunto de datos. Esta acción es útil para comprender la naturaleza y la estructura de los datos faltantes, lo que puede ser crucial para las estrategias de imputación y la construcción de modelos robustos.

dataSciencePilot.analyzeMissingPatterns / casOut={<casouttable>}, table={<castable>}, <distinctCountLimit=integer>, <ecdfTolerance=double>, <freq="variable-name">, <inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>}>, <misraGries=TRUE | FALSE>, <nominals={"variable-name-1" <, "variable-name-2", ...>}>, <target="variable-name">;
Parámetros
ParámetroDescripción
casOut Especifica la tabla CAS de salida para almacenar los resultados del análisis.
distinctCountLimit Especifica el límite de recuento de valores distintos. Si se supera, se utiliza un algoritmo de boceto para la estimación.
ecdfTolerance Especifica el valor de tolerancia para la función de distribución acumulada empírica (ECDF).
freq Especifica la variable de frecuencia.
inputs Especifica las variables a utilizar para el análisis.
misraGries Cuando se establece en True, utiliza el algoritmo de Misra-Gries para la estimación de la distribución de frecuencia si se excede el límite de recuento de distintos.
nominals Especifica las variables nominales.
table Especifica la tabla de entrada que se va a analizar.
target Especifica la variable objetivo.
Creación de Datos de Ejemplo

Este código crea una tabla CAS de ejemplo llamada 'mycas.hmeq_missing'. Carga los datos de 'sampsio.hmeq' y luego introduce aleatoriamente valores perdidos en varias columnas para simular un conjunto de datos del mundo real con datos faltantes, que es ideal para demostrar el análisis de patrones de valores perdidos.

¡Copiado!
1DATA mycas.hmeq_missing;
2 SET sampsio.hmeq;
3 IF rand('UNIFORM') < 0.1 THEN call missing(DEBTINC);
4 IF rand('UNIFORM') < 0.15 THEN call missing(DELINQ);
5 IF rand('UNIFORM') < 0.05 THEN call missing(VALUE);
6 IF rand('UNIFORM') < 0.2 THEN call missing(JOB);
7RUN;

Ejemplos

Este ejemplo realiza un análisis básico de los patrones de valores perdidos en la tabla 'hmeq_missing'. Genera una tabla de salida 'missing_patterns_out' que contiene los resultados del análisis.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 dataSciencePilot.analyzeMissingPatterns /
3 TABLE={name='hmeq_missing'},
4 casOut={name='missing_patterns_out', replace=true};
5RUN;
6QUIT;
Resultado :
Una tabla CAS llamada 'missing_patterns_out' se crea en la caslib activa. Contiene un resumen de los patrones de valores perdidos encontrados en el conjunto de datos de entrada, incluyendo recuentos y porcentajes para cada patrón.

Este ejemplo realiza un análisis más detallado especificando la variable 'BAD' como objetivo. Se enfoca el análisis en un subconjunto de variables de entrada ('LOAN', 'MORTDUE', 'VALUE', 'YOJ', 'DEROG', 'DELINQ', 'CLAGE', 'NINQ', 'CLNO', 'DEBTINC') y especifica 'JOB' como una variable nominal. Esto permite un análisis más enfocado de cómo los patrones de valores perdidos se relacionan con la variable objetivo.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 dataSciencePilot.analyzeMissingPatterns /
3 TABLE={name='hmeq_missing'},
4 target='BAD',
5 inputs={'LOAN', 'MORTDUE', 'VALUE', 'YOJ', 'DEROG', 'DELINQ', 'CLAGE', 'NINQ', 'CLNO', 'DEBTINC'},
6 nominals={'JOB'},
7 casOut={name='detailed_missing_patterns_out', replace=true};
8RUN;
9QUIT;
Resultado :
Una tabla CAS llamada 'detailed_missing_patterns_out' se crea en la caslib activa. Esta tabla proporciona un análisis de los patrones de valores perdidos para las variables de entrada especificadas, con estadísticas adicionales relacionadas con la variable objetivo 'BAD' para cada patrón.

FAQ

¿Cuál es el propósito de la acción `analyzeMissingPatterns`?
¿Cómo se especifica la tabla de entrada para el análisis?
¿Qué parámetro se utiliza para definir la tabla de salida de los resultados?
¿Es posible analizar los patrones de valores perdidos en relación con una variable objetivo específica?
¿Cómo gestiona la acción las variables con una alta cardinalidad (muchos valores distintos)?
¿Puedo seleccionar solo un subconjunto de variables para el análisis de valores perdidos?

Escenarios asociados

Caso de uso
Análisis Estándar de Patrones de Ausencia para Evaluación de Riesgo Crediticio

Una entidad financiera necesita comprender cómo los datos faltantes en las solicitudes de préstamos (ej. ingresos, antigüedad laboral) se correlacionan con el incumplimiento de ...

Caso de uso
Análisis de Rendimiento en Datos de Clientes con Alta Cardinalidad

Una gran empresa de retail analiza un conjunto de datos masivo de transacciones de clientes. El objetivo es encontrar patrones en datos demográficos faltantes, como el código po...

Caso de uso
Validación de Integridad de Datos Médicos con Múltiples Patrones de Ausencia

Un proveedor de atención médica está auditando la calidad de los datos de los registros de pacientes. El conjunto de datos es conocido por ser desordenado, con muchos valores fa...