dataSciencePilot analyzeMissingPatterns

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

Scénario de test & Cas d'usage

Contexto empresarial

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 faltantes en campos críticos. El interés principal es identificar registros donde todas las mediciones de diagnóstico clave (presión, glucosa, colesterol) están ausentes simultáneamente, lo que podría indicar un error sistémico en la entrada de datos.
Sobre el conjunto : dataSciencePilot

Aprendizaje automático automatizado (AutoML) y generación de pipelines.

Descubrir todas las acciones de dataSciencePilot
Preparación de datos

Crea una tabla de pacientes ('pacientes_calidad') con datos médicos. Se simulan varios casos: registros completos, registros con ausencias esporádicas, y registros donde un grupo de variables de diagnóstico ('PRESION_ARTERIAL', 'GLUCOSA', 'COLESTEROL') están todas ausentes. También se incluye una columna ('NOTAS_OBSERVADOR') completamente vacía.

¡Copiado!
1DATA mycas.pacientes_calidad;
2 LENGTH ID_PACIENTE $10 NOTAS_OBSERVADOR $50;
3 call streaminit(42);
4 DO i = 1 to 100;
5 ID_PACIENTE = 'PAC_' || put(i, z3.);
6 /* Caso 1: Completo */
7 IF i <= 50 THEN DO; PRESION_ARTERIAL=120; GLUCOSA=90; COLESTEROL=200; END;
8 /* Caso 2: Ausencias esporádicas */
9 ELSE IF i > 50 and i <= 80 THEN DO;
10 IF rand('UNIFORM') < 0.3 THEN call missing(PRESION_ARTERIAL); ELSE PRESION_ARTERIAL=140;
11 IF rand('UNIFORM') < 0.3 THEN call missing(GLUCOSA); ELSE GLUCOSA=110;
12 IF rand('UNIFORM') < 0.3 THEN call missing(COLESTEROL); ELSE COLESTEROL=240;
13 END;
14 /* Caso 3: Todas las métricas ausentes */
15 ELSE DO;
16 call missing(PRESION_ARTERIAL, GLUCOSA, COLESTEROL);
17 END;
18 call missing(NOTAS_OBSERVADOR);
19 OUTPUT;
20 END;
21RUN;

Étapes de réalisation

1
Ejecución de un análisis completo en todas las variables de la tabla de pacientes para identificar todos los patrones de datos ausentes existentes.
¡Copiado!
1PROC CAS;
2 dataSciencePilot.analyzeMissingPatterns /
3 TABLE={name='pacientes_calidad'},
4 casOut={name='patrones_calidad_out', replace=true};
5RUN;
6QUIT;
2
Consulta de la tabla de resultados para aislar y contar el patrón específico donde las tres variables de diagnóstico son nulas.
¡Copiado!
1PROC CAS;
2 TABLE.fetch /
3 TABLE={name='patrones_calidad_out',
4 where="_F_PRESION_ARTERIAL_='Y' and _F_GLUCOSA_='Y' and _F_COLESTEROL_='Y'"};
5RUN;
6QUIT;

Resultado esperado


La tabla de salida 'patrones_calidad_out' debe identificar y cuantificar correctamente todos los patrones de ausencia. La consulta en el paso 2 debe devolver una fila que represente el patrón donde 'PRESION_ARTERIAL', 'GLUCOSA' y 'COLESTEROL' están ausentes, con una frecuencia ('_FREQ_') que coincida con el número de registros creados para ese caso (20). El análisis también debe manejar sin problemas la columna 'NOTAS_OBSERVADOR' que está completamente vacía.