La base de datos que vamos a utilizar se basa en la información de clientes de una entidad bancaria.
La cual cuenta con un total de 1254 observaciones y 19 variables entre cuantitativas y cualitativas, que representan características sociodemográficas, así como caracteristicas relacionadas con la capacidad crediticia.
library(readxl)
Riesgo_Creditos<- read_excel("C:/Users/usu/Desktop/8VO SEMESTRE/MINERIA DE DATOS/GRUPO/R/BaseLimpia_Creditos1.xlsx")
Riesgo_Creditos
## # A tibble: 1,254 x 18
## Clientes Edad Vivienda Genero Region Dependiente Estado.civil Cargas
## <chr> <dbl> <chr> <chr> <chr> <chr> <chr> <dbl>
## 1 Buenos 35 Familiar Mascu~ Costa No Soltero 0
## 2 Buenos 19 Familiar Mascu~ Costa No Soltero 0
## 3 Buenos 21 Familiar Mascu~ Costa No Soltero 0
## 4 Buenos 21 Familiar Mascu~ Costa No Soltero 0
## 5 Buenos 25 Familiar Mascu~ Costa No Soltero 0
## 6 Buenos 29 Familiar Mascu~ Costa No Soltero 0
## 7 Buenos 30 Familiar Mascu~ Costa No Soltero 0
## 8 Buenos 20 Familiar Mascu~ Costa No Soltero 0
## 9 Buenos 23 Familiar Mascu~ Costa No Soltero 0
## 10 Buenos 37 Familiar Mascu~ Costa No Soltero 0
## # ... with 1,244 more rows, and 10 more variables: Cuenta.ahorro <chr>,
## # Cuenta.corriente <chr>, Ingresos.mensuales <dbl>, Dias.atraso <dbl>,
## # Score <dbl>, Endeudamiento.promedio <dbl>, Numero.entidades <dbl>,
## # Numero.TC <dbl>, Antiguedad <dbl>, Calificacion <chr>
Como se cuenta con variables tanto cuantitativas como cualitativas se utilizara el Análisis de Componentes Principales Mixto.
En primer lugar, utilizamos la función splitmix la divide una matriz de datos mixtas en dos conjuntos de datos: Uno con variables cualitativa y la otra con cuantitativas.
library(PCAmixdata)
division <- splitmix(Riesgo_Creditos)
Cuantitativas<-division$X.quanti
names(Cuantitativas)
## [1] "Edad" "Cargas" "Ingresos.mensuales"
## [4] "Dias.atraso" "Score" "Endeudamiento.promedio"
## [7] "Numero.entidades" "Numero.TC" "Antiguedad"
Cualitativas<-division$X.quali
names(Cualitativas)
## [1] "Clientes" "Vivienda" "Genero" "Region"
## [5] "Dependiente" "Estado.civil" "Cuenta.ahorro" "Cuenta.corriente"
## [9] "Calificacion"
Se utiliza la matriz de correlaciones para tener las mismas escalas en todas las variables cuantitativas de la muestra.
round(cor(Cuantitativas),2)
## Edad Cargas Ingresos.mensuales Dias.atraso Score
## Edad 1.00 0.08 -0.12 -0.02 0.16
## Cargas 0.08 1.00 0.03 0.08 0.05
## Ingresos.mensuales -0.12 0.03 1.00 0.04 -0.04
## Dias.atraso -0.02 0.08 0.04 1.00 -0.05
## Score 0.16 0.05 -0.04 -0.05 1.00
## Endeudamiento.promedio 0.07 0.09 0.02 0.03 0.10
## Numero.entidades 0.01 -0.01 0.01 0.07 -0.08
## Numero.TC -0.03 -0.07 0.01 0.02 0.00
## Antiguedad 0.14 -0.03 -0.02 0.05 0.21
## Endeudamiento.promedio Numero.entidades Numero.TC
## Edad 0.07 0.01 -0.03
## Cargas 0.09 -0.01 -0.07
## Ingresos.mensuales 0.02 0.01 0.01
## Dias.atraso 0.03 0.07 0.02
## Score 0.10 -0.08 0.00
## Endeudamiento.promedio 1.00 0.44 0.26
## Numero.entidades 0.44 1.00 0.64
## Numero.TC 0.26 0.64 1.00
## Antiguedad 0.23 0.29 0.48
## Antiguedad
## Edad 0.14
## Cargas -0.03
## Ingresos.mensuales -0.02
## Dias.atraso 0.05
## Score 0.21
## Endeudamiento.promedio 0.23
## Numero.entidades 0.29
## Numero.TC 0.48
## Antiguedad 1.00
Como se puede observar los coeficientes de la matriz de correlaciones no tienen valores altos entre gran parte de las variables, exceptuando entre las variables que refleja el numero de entidades financieras donde el cliente tiene alguna cuenta con el Endeudamiento promedio con un valor de 0.44, y con el número de transacciones con 0.64, lo que suena lógico que entre más cuentas tengas en entidades financieras probablemente se realicen más transacciones, como retiros o pagos. Y finalmente la antiguedad se correlaciona positivament con el número de transacciones con un 0.48.
componentes <-PCAmix(X.quanti = Cuantitativas,X.quali = Cualitativas,rename.level =TRUE, graph = FALSE)
componentes1 <-PCAmix(X.quanti = Cuantitativas,X.quali = Cualitativas[c(1)],rename.level =TRUE, graph = FALSE)
componentes1$eig
## Eigenvalue Proportion Cumulative
## dim 1 2.3074152 23.074152 23.07415
## dim 2 1.3501896 13.501896 36.57605
## dim 3 1.1329832 11.329832 47.90588
## dim 4 1.0706146 10.706146 58.61203
## dim 5 0.9568121 9.568121 68.18015
## dim 6 0.8838055 8.838055 77.01820
## dim 7 0.7853432 7.853432 84.87163
## dim 8 0.7083426 7.083426 91.95506
## dim 9 0.5182363 5.182363 97.13742
## dim 10 0.2862576 2.862576 100.00000
Los resultados muestran que las primeras cinco componentes explican el 68 % de la variabilidad de los datos. La primera componente explica el 23.07 %, la segunda 13.50 %, la tercera 11.33 %, hasta llegar a la quinta componente con un 9.57 %. Por lo cual se pueden considerar estas componentes para analizar los datos.
plot(componentes, choice = "ind", coloring.ind = Cualitativas$Vivienda,label =FALSE, posleg = "bottomright" , main ="Observaciones")
## Warning in plot.PCAmix(componentes, choice = "ind", coloring.ind =
## Cualitativas$Vivienda, : "coloring.ind" must be either NULL or a qualitative
## variable of length equal to the number of individuals
Este gráfico es referente a la variable vivienda, en la cual se podria mencionar que la parte izquierda superior es la que representa a las personas que tienen vivienda propia y cuyas caracteristicas estan más relacionadas a buena calificacion.
plot(componentes, choice = "levels", xlim = c(-1.5,2.0),main = "Niveles")
De lo que se puede observar que las personas que tienen calificaciones crediticias más bajas están relacionadas con la primera componente, que tiene más relacion con variables sociodemográficas como género, edad, region entre otras. De igual forma sugiere que las personas que son de la Amazonía son los clientes con más bajas calificaciones.
plot(componentes, choice = "cor", main = "Variables Numéricas")
Este gráfico nos sugiere que tanto la edad, las cargas familiares y el score están correlacionadas positivamente sin embargo son inversas a la variable ingresos, de igual maneraasí las variables como antiguedad, numero de entidades, numero de transacciones se correlacionan positivamente.
plot(componentes, choice = "sqload", coloring.var = T, leg =TRUE, posleg = "topright", main="Todas las variables")
Finalmente se puede observar que las variables categoricas como el estado civil, el genero, si es dependiente, cargas familiares y la región y las variables cuantitativas como la edad y los ingresos, se relacionan más a la primera componente, las cuales representan las características personales, sociales y económicas de los clientes. Mientras que para la segunda componente se elaciona más a las caracteristicas relacionadas al nivel de deuda y capacidad de pago, ya que contiene las variables como Endeudamiento promedio, numero de entidades bancarias, el numero de transaccione que realiza y la antiguedad de la persona en la institucion.
Para el proceso se consideró las cinco primeras componentes ya que corresponden aproximadamente el 70%, en la cual la primera componente representa el 23 %, pudiendo decir que es en la cual se aloja la mayor parte de información.
Además al tener un número considerado de variables cualitativas, se pueden presentar inconvenientes al momento de realizar estos tipos de análisis.