morosidad<-read.csv("https://raw.githubusercontent.com/VictorGuevaraP/Mineria-de-datos/master/Morosidad.csv",sep = ";")
#Observamos los nombres de los atributos
names(morosidad)
## [1] "NRO_VEC_COB" "ESTADO_PDP" "NRO_CUOTAS"
## [4] "MES" "MES_0" "MES_1"
## [7] "MES_2" "FECHALLAMADA" "HORA"
## [10] "RESULTADOLLAMADA" "DEUDA_TOTAL" "ESTATUS"
## [13] "ACTIVACION" "TIPOCONTACTO" "MORA"
#Oobservamos los 6 primos registros
head(morosidad)
## NRO_VEC_COB ESTADO_PDP NRO_CUOTAS MES MES_0 MES_1 MES_2
## 1 >10 0 <24, 48] Febrero 244.86 0.00 245.26
## 2 <=10 0 >48 Febrero 610.58 612.69 611.54
## 3 <=10 0 <24, 48] Febrero 2138.73 0.00 0.00
## 4 >10 0 <24, 48] Febrero 323.07 46.85 74.26
## 5 <=10 0 <24, 48] Febrero 920.54 0.00 0.00
## 6 <=10 0 <24, 48] Febrero 364.27 371.11 0.00
## FECHALLAMADA HORA RESULTADOLLAMADA DEUDA_TOTAL ESTATUS ACTIVACION
## 1 3/02/2014 15 PDP Promesa De Pago 3816.34 BT 2012
## 2 18/02/2014 9 PDP Promesa De Pago 13620.50 BT 2012
## 3 5/02/2014 16 TELF. NO CORRESPONDE 18968.50 BT 2013
## 4 24/02/2014 19 MCT Msj Con Terceros 2459.84 BT 2012
## 5 12/02/2014 14 TELF. NO CORRESPONDE 6591.76 BT 2013
## 6 6/02/2014 7 MCF Msj Con Familiar 9836.38 BT 2013
## TIPOCONTACTO MORA
## 1 CEF 1
## 2 CEF 1
## 3 CNE 0
## 4 CNE 0
## 5 CNE 0
## 6 CNE 1
#Observamos la Estructura de los Datos
str(morosidad)
## 'data.frame': 8458 obs. of 15 variables:
## $ NRO_VEC_COB : Factor w/ 2 levels "<=10",">10": 2 1 1 2 1 1 1 2 1 2 ...
## $ ESTADO_PDP : int 0 0 0 0 0 0 0 0 0 0 ...
## $ NRO_CUOTAS : Factor w/ 3 levels "<=24","<24, 48]",..: 2 3 2 2 2 2 3 3 3 3 ...
## $ MES : Factor w/ 3 levels "Abril","Febrero",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ MES_0 : num 245 611 2139 323 921 ...
## $ MES_1 : num 0 612.7 0 46.9 0 ...
## $ MES_2 : num 245.3 611.5 0 74.3 0 ...
## $ FECHALLAMADA : Factor w/ 61 levels "1/04/2014","10/02/2014",..: 45 19 53 31 8 55 53 8 2 50 ...
## $ HORA : int 15 9 16 19 14 7 16 9 11 12 ...
## $ RESULTADOLLAMADA: Factor w/ 24 levels "CAN Cliente Cancelo",..: 16 16 24 12 24 9 23 9 21 12 ...
## $ DEUDA_TOTAL : num 3816 13620 18969 2460 6592 ...
## $ ESTATUS : Factor w/ 1 level "BT": 1 1 1 1 1 1 1 1 1 1 ...
## $ ACTIVACION : int 2012 2012 2013 2012 2013 2013 2013 2011 2013 2010 ...
## $ TIPOCONTACTO : Factor w/ 2 levels "CEF","CNE": 1 1 2 2 2 2 2 2 1 2 ...
## $ MORA : int 1 1 0 0 0 1 1 1 1 1 ...
morosidad$ESTADO_PDP<-as.factor(morosidad$ESTADO_PDP)
morosidad$FECHALLAMADA<-as.Date(morosidad$FECHALLAMADA, "%d/%m/%y")
morosidad$ESTATUS<-NULL
#TRASFORMARMOS EN CHARACTER Y LUEGO EN FACTOR
morosidad$MORA<-ifelse(morosidad$MORA==1,"NO","SI")
morosidad$MORA<-as.factor(morosidad$MORA)
str(morosidad)
## 'data.frame': 8458 obs. of 14 variables:
## $ NRO_VEC_COB : Factor w/ 2 levels "<=10",">10": 2 1 1 2 1 1 1 2 1 2 ...
## $ ESTADO_PDP : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
## $ NRO_CUOTAS : Factor w/ 3 levels "<=24","<24, 48]",..: 2 3 2 2 2 2 3 3 3 3 ...
## $ MES : Factor w/ 3 levels "Abril","Febrero",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ MES_0 : num 245 611 2139 323 921 ...
## $ MES_1 : num 0 612.7 0 46.9 0 ...
## $ MES_2 : num 245.3 611.5 0 74.3 0 ...
## $ FECHALLAMADA : Date, format: "2020-02-03" "2020-02-18" ...
## $ HORA : int 15 9 16 19 14 7 16 9 11 12 ...
## $ RESULTADOLLAMADA: Factor w/ 24 levels "CAN Cliente Cancelo",..: 16 16 24 12 24 9 23 9 21 12 ...
## $ DEUDA_TOTAL : num 3816 13620 18969 2460 6592 ...
## $ ACTIVACION : int 2012 2012 2013 2012 2013 2013 2013 2011 2013 2010 ...
## $ TIPOCONTACTO : Factor w/ 2 levels "CEF","CNE": 1 1 2 2 2 2 2 2 1 2 ...
## $ MORA : Factor w/ 2 levels "NO","SI": 1 1 2 2 2 1 1 1 1 1 ...
#RESUMEN DEL TARGET
table(morosidad$MORA)
##
## NO SI
## 6440 2018
#SEGUN LO RESULTADOS TENEMOS 6440 CLIENTES SIN MORAS Y 2018 CLIENTES CON MORA
summary(morosidad)
## NRO_VEC_COB ESTADO_PDP NRO_CUOTAS MES MES_0
## <=10:5917 0:8128 <=24 :1077 Abril :2704 Min. : 20.15
## >10 :2541 1: 330 <24, 48]:5192 Febrero:2796 1st Qu.: 239.85
## >48 :2189 Marzo :2958 Median : 422.55
## Mean : 610.17
## 3rd Qu.: 762.36
## Max. :4905.99
##
## MES_1 MES_2 FECHALLAMADA HORA
## Min. : 0.0 Min. : 0.0 Min. :2020-02-03 Min. : 7.00
## 1st Qu.: 0.0 1st Qu.: 0.0 1st Qu.:2020-02-19 1st Qu.: 9.00
## Median : 135.3 Median : 0.0 Median :2020-03-13 Median :11.00
## Mean : 382.4 Mean : 266.7 Mean :2020-03-13 Mean :12.15
## 3rd Qu.: 556.4 3rd Qu.: 311.1 3rd Qu.:2020-04-04 3rd Qu.:15.00
## Max. :5909.2 Max. :8791.9 Max. :2020-04-30 Max. :20.00
##
## RESULTADOLLAMADA DEUDA_TOTAL ACTIVACION
## MCT Msj Con Terceros :2678 Min. : 546.1 Min. :2010
## TELF. NO CORRESPONDE :1466 1st Qu.: 3710.6 1st Qu.:2012
## PDP Promesa De Pago :1446 Median : 7317.5 Median :2012
## MCF Msj Con Familiar :1334 Mean :11545.0 Mean :2012
## TAT Tratamiento al Titu: 518 3rd Qu.:14696.8 3rd Qu.:2013
## PAR Promesa Parcial : 203 Max. :79984.0 Max. :2014
## (Other) : 813
## TIPOCONTACTO MORA
## CEF:2484 NO:6440
## CNE:5974 SI:2018
##
##
##
##
##
#EL CONJUNTO DE DATOS CORRESPONDE A LOS REGISTROS DE LOS MESES ENERO ABRIL FREBREO Y MARZO, SE REGISTRAR MORA DESDE EL MES_0 , ADEMAS SE OBSERVA LA FECHA EN QUE SE LLAMA A LOS CLIENTES Y LA HORA, TAMBIENSE OBSERVA DATOS MUY DISPERSOS EN EL ATRIBUTO DEUDA_TOTAL
library(Hmisc)
describe(morosidad)
## morosidad
##
## 14 Variables 8458 Observations
## ---------------------------------------------------------------------------
## NRO_VEC_COB
## n missing distinct
## 8458 0 2
##
## Value <=10 >10
## Frequency 5917 2541
## Proportion 0.7 0.3
## ---------------------------------------------------------------------------
## ESTADO_PDP
## n missing distinct
## 8458 0 2
##
## Value 0 1
## Frequency 8128 330
## Proportion 0.961 0.039
## ---------------------------------------------------------------------------
## NRO_CUOTAS
## n missing distinct
## 8458 0 3
##
## Value <=24 <24, 48] >48
## Frequency 1077 5192 2189
## Proportion 0.127 0.614 0.259
## ---------------------------------------------------------------------------
## MES
## n missing distinct
## 8458 0 3
##
## Value Abril Febrero Marzo
## Frequency 2704 2796 2958
## Proportion 0.320 0.331 0.350
## ---------------------------------------------------------------------------
## MES_0
## n missing distinct Info Mean Gmd .05 .10
## 8458 0 6382 1 610.2 561.7 73.54 128.46
## .25 .50 .75 .90 .95
## 239.85 422.55 762.36 1330.62 1798.39
##
## lowest : 20.15 21.07 21.18 21.22 21.27
## highest: 4690.78 4749.85 4794.60 4876.55 4905.99
## ---------------------------------------------------------------------------
## MES_1
## n missing distinct Info Mean Gmd .05 .10
## 8458 0 3520 0.917 382.4 536 0.0 0.0
## .25 .50 .75 .90 .95
## 0.0 135.3 556.4 1076.8 1557.9
##
## lowest : 0.00 0.01 0.02 0.04 0.05
## highest: 5214.47 5243.34 5507.34 5833.31 5909.18
## ---------------------------------------------------------------------------
## MES_2
## n missing distinct Info Mean Gmd .05 .10
## 8458 0 2423 0.76 266.7 431.4 0.0 0.0
## .25 .50 .75 .90 .95
## 0.0 0.0 311.1 847.2 1244.9
##
## lowest : 0.00 0.09 0.10 0.12 0.17
## highest: 6665.19 6972.50 8023.21 8495.14 8791.91
## ---------------------------------------------------------------------------
## FECHALLAMADA
## n missing distinct
## 8458 0 61
##
## lowest : 2020-02-03 2020-02-04 2020-02-05 2020-02-06 2020-02-07
## highest: 2020-04-24 2020-04-25 2020-04-28 2020-04-29 2020-04-30
## ---------------------------------------------------------------------------
## HORA
## n missing distinct Info Mean Gmd .05 .10
## 8458 0 14 0.993 12.15 4.254 7 8
## .25 .50 .75 .90 .95
## 9 11 15 18 19
##
## Value 7 8 9 10 11 12 13 14 15 16
## Frequency 804 870 888 842 862 592 610 588 578 538
## Proportion 0.095 0.103 0.105 0.100 0.102 0.070 0.072 0.070 0.068 0.064
##
## Value 17 18 19 20
## Frequency 334 311 325 316
## Proportion 0.039 0.037 0.038 0.037
## ---------------------------------------------------------------------------
## RESULTADOLLAMADA
## n missing distinct
## 8458 0 24
##
## lowest : CAN Cliente Cancelo CIH Generar Cita CIT Genera Cita Otro Dia IPN Inbound Pdp de Neg IPP Inbound Promesa Par
## highest: REC Cliente con Reclamo RPP Recordar Promesa TAT Tratamiento al Titu TAT sin contacto con Titular TELF. NO CORRESPONDE
## ---------------------------------------------------------------------------
## DEUDA_TOTAL
## n missing distinct Info Mean Gmd .05 .10
## 8458 0 6590 1 11545 11615 1165 1896
## .25 .50 .75 .90 .95
## 3711 7318 14697 24994 36629
##
## lowest : 546.09 546.47 547.50 551.33 553.28
## highest: 79304.00 79489.00 79570.60 79695.90 79984.00
## ---------------------------------------------------------------------------
## ACTIVACION
## n missing distinct Info Mean Gmd
## 8458 0 5 0.865 2012 0.9287
##
## Value 2010 2011 2012 2013 2014
## Frequency 275 1387 2670 3908 218
## Proportion 0.033 0.164 0.316 0.462 0.026
## ---------------------------------------------------------------------------
## TIPOCONTACTO
## n missing distinct
## 8458 0 2
##
## Value CEF CNE
## Frequency 2484 5974
## Proportion 0.294 0.706
## ---------------------------------------------------------------------------
## MORA
## n missing distinct
## 8458 0 2
##
## Value NO SI
## Frequency 6440 2018
## Proportion 0.761 0.239
## ---------------------------------------------------------------------------
#GRAFICAMOS EL TARGET
target<-table(morosidad$MORA)
barplot(target)
#SEGUN EL GRAFICO LA MAYORIA DE CLIENTES NO TIENEN MORA
library(ggplot2)
ggplot(data=morosidad)+
geom_bar(mapping=aes(x=MORA))
###REALIZO IUNA TABLA DE RESUMEN CON LA LIBRERIA gmodels
library(gmodels)
CrossTable(morosidad$MORA, format="SPSS")
##
## Cell Contents
## |-------------------------|
## | Count |
## | Row Percent |
## |-------------------------|
##
## Total Observations in Table: 8458
##
## | NO | SI |
## |-----------|-----------|
## | 6440 | 2018 |
## | 76.141% | 23.859% |
## |-----------|-----------|
##
##
###REALIZAMOS GRAFICOS CON LA LIBRERIA GGPLOT2
library(ggplot2)
ggplot(data=morosidad)+
geom_bar(mapping=aes(x=NRO_VEC_COB, color=MORA))
ggplot(data=morosidad)+
geom_bar(mapping=aes(x=ESTADO_PDP, color=MORA))
ggplot(data=morosidad)+
geom_bar(mapping=aes(x=NRO_CUOTAS, color=MORA))
ggplot(data=morosidad)+
geom_histogram(mapping=aes(x=MES_0, color=MORA))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
ggplot(data=morosidad)+
geom_histogram(mapping=aes(x=MES_1, color=MORA))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
ggplot(data=morosidad)+
geom_histogram(mapping=aes(x=MES_2, color=MORA))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.