martes, 25 de octubre de 2016

Estandarización de variables en SAS

Un paso muy habitual en los procesos de analítica es la estandarización o normalización de variables.  La normalización o estandarización es una técnica muy útil a la hora de comparar datos de diferentes distribuciones o que estén en unidades de medida diferentes.
Consiste en aplicar un cálculo sencillo a la variable objeto de estudio, de forma que conseguimos que los datos de la distribución normalizada tengan una media aritmética de 0 y una desviación típica de 1. 

Z i= (Xi - media aritmética)/(desv. típica)
Zi es el valor normalizado y lo obtenemos restando a cada valor original  Xi   la media aritmética y dividiendo el resultado por la desviación típica

Es un paso previo que puede ser necesario en alguno algoritmos tales como la clusterización o las redes neuronales.

Para realizar este proceso en SAS nos basamos en el procedimiento proc standard.
Partimos del siguiente dataset de entrada:


Nos interesa estandarizar las variables: edad, antiguedad y consumo_yyyymm. Para ello:

data clientes1;
set clientes;
s_edad = edad;
s_antiguedad = antiguedad;
s_consumo_201601 = consumo_201601;
s_consumo_201602 = consumo_201602;
s_consumo_201603 = consumo_201603;
run;

PROC STANDARD DATA=clientes1 MEAN=0 STD=1 OUT=clientes2;
  VAR s_edad s_antiguedad s_consumo_201601 s_consumo_201602 s_consumo_201603 ;
RUN;

Tal y como hemos realizado el proceso mantiene las antiguas variables y crea las nuevas estandarizadas:


El proceso también se puede realizar sin necesidad de escribir código utilizando la tarea correspondiente de Enterprise Guide.




Más info en:

Formación SAS