Data mining: análisis discriminante (caso en SAS)

En el presente post mostramos un sencillo ejemplo de análisis discriminante en SAS que puede servir para analizar relaciones entre variables en un conjunto de datos. En el caso que vamos a estudiar, este análisis permite discriminar qué variable de las que caracteriza a un conjunto de clientes tiene más peso en la tasa de bajas.

Análisis discriminante para analizar relaciones entre variables

El análisis discriminante es una técnica estadística multivariante cuya finalidad es describir (si existen) las diferencias entre grupos de objetos sobre los que se observan determinadas variables (variables discriminantes).

Los dos principales usos del análisis discriminante son la clasificación de objetos en grupos preestablecidos y la identificación de variables descriptivas que mejor definan la pertenencia a grupos.

En nuestro ejemplo tenemos una tabla con un listado de clientes en el que una variable de tipo flag (0,1) indica si el cliente ha sido baja (1) o permanece en cartera (0) en el último mes. Se incluyen otras variables que caracterizan al cliente, aunque nos vamos a centrar en las siguientes:

 

Compromiso (0/1): indica si el cliente tiene(1) o no (0) compromiso de permanencia en base a una acción comercial que haya realizado en el pasado (ejemplo: descuento, subvención a productos comprados).

Antiguedad: meses de antigüedad del cliente.

Consumo_medio: consumo medio en los últimos tres meses.

Edad: edad del cliente

 

El objetivo es ver qué variable es más discriminante para agrupar los clientes en bajas(1) o cartera(0) , con objeto de conocer qué variables tienen más peso en la tasa de bajas.

Para realizar el análisis dicriminante empleamos el procedimiento ‘proc discrim’.

 

proc discrim

       data=bajas /* tabla de entrada */

       method=normal

       pool=yes

       slpool=0.001

       posterr

       out=results; /* tabla de salida */

class baja; /* variable que define los grupos 0 o 1 */

var compromiso consumo_medio antiguedad edad; /* variables de estudio para discriminación en grupos */

run;

 

 

La salida del procedimiento es la siguiente:

The SAS System

The DISCRIM Procedure

Observations

1000

DF Total

999

Variables

4

DF Within Classes

998

Classes

2

DF Between Classes

1

 

Class Level Information

baja

Variable Name

Frequency

Weight

Proportion

Prior Probability

0

0

751

751.0000

0.751000

0.500000

1

1

249

249.0000

0.249000

0.500000

 

Pooled Covariance Matrix Information

Covariance Matrix Rank

Natural Log of the Determinant of the Covariance Matrix

4

15.67471

 


The SAS System

The DISCRIM Procedure

 

Generalized Squared Distance to baja

From baja

0

1

0

0

1.03050

1

1.03050

0

 

Linear Discriminant Function for baja

Variable

0

1

Constant

-6.77361

-7.71848

compromiso

1.91613

4.11155

consumo_medio

0.06185

0.05995

antiguedad

0.18956

0.18389

edad

0.14238

0.13745

 

Centrándonos en la última tabla del output de SAS (del cual ponemos aquí sólo un extracto) podemos observar como la variable compromiso es la que más variación tiene entre los valores 0 o 1 en la variable baja, mientras que el resto de variables no presentan el mismo nivel de variación. Como era de esperar la variable compromiso es la más discriminante de cara a evaluar tasas de baja.

Lógicamente, se puede profundizar en este análisis discriminante, el objetivo de este post es la realización de una comprobación previa que nos pueda servir para evaluar de forma rápida qué variable tiene más peso en la tasa de bajas.

https://www.youtube.com/@datademyformacion6610

www.datademy.es