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.
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