dataPreprocess catTrans

Gestión de Valores Nulos y Niveles Raros en Sensores IoT

Scénario de test & Cas d'usage

Contexto empresarial

En el mantenimiento predictivo de una planta industrial, los sensores envían códigos de estado. Existen muchos códigos de error 'raros' (ruido) y fallos de transmisión que generan valores nulos. Para simplificar el análisis y evitar el sobreajuste, se requiere agrupar todos los errores poco frecuentes en una sola categoría 'OTROS' y tratar explícitamente los valores nulos como un grupo válido de información.
Sobre el conjunto : dataPreprocess

Limpieza, imputación y preprocesamiento de datos.

Descubrir todas las acciones de dataPreprocess
Preparación de datos

Generación de datos sucios con valores nulos explícitos y una larga cola de códigos de error poco frecuentes.

¡Copiado!
1 
2DATA casuser.iot_sensores;
3call streaminit(456);
4DO lectura = 1 to 2000;
5u = rand('Uniform');
6IF u < 0.05 THEN Codigo_Estado = '';
7/* Valor Perdido */ ELSE IF u < 0.7 THEN Codigo_Estado = 'NORMAL';
8ELSE IF u < 0.85 THEN Codigo_Estado = 'ALERTA_LEVE';
9ELSE Codigo_Estado = cats('ERR_', rand('Integer', 1, 50));
10/* 50 tipos de errores raros */ OUTPUT;
11END;
12 
13RUN;
14 

Étapes de réalisation

1
Ejecución de GROUPRARE forzando la inclusión de nulos y definiendo un umbral agresivo para lo 'raro'.
¡Copiado!
1 
2PROC CAS;
3dataPreprocess.catTrans / TABLE={name='iot_sensores', caslib='casuser'} inputs={{name='Codigo_Estado'}} method='GROUPRARE' arguments={rareThresholdPercent=2} includeMissingGroup=true casOut={name='sensores_limpios', caslib='casuser', replace=true};
4 
5RUN;
6 
7QUIT;
8 
2
Validación de que los nulos no fueron descartados y los errores raros se agruparon.
¡Copiado!
1 
2PROC CAS;
3SIMPLE.freq / TABLE={name='sensores_limpios', caslib='casuser'} inputs={'cat_Codigo_Estado'};
4 
5RUN;
6 
7QUIT;
8 

Resultado esperado


Se espera que la tabla de frecuencia muestre: 1) Una categoría para los valores originalmente nulos (no deben desaparecer). 2) Una categoría consolidada (probablemente la de mayor frecuencia después de NORMAL/ALERTA) que agrupe todos los 'ERR_XX' que aparecían menos del 2% de las veces. Esto valida la robustez de la acción ante datos sucios.