R Markdown

#1. Elección de las variables

De las variables categóricas, se eligieron las siguientes:

  1. Trabajo Esta variable fue elegida pues puede estar relacionada con el depósito a plazo fijo , pues puede que las personas que tienen trabajos más estables estén más interesadas en tener un depósito fijo.

    Hipotesis: Las personas que trabajan en management tienen mayor probabilidad de tener un depósito a termino fijo que los estudiantes

  2. Mora
    Si una persona se encuentra en mora,es probable que por el momento no pueda tener un depósito a termino fijo

    Hipotesis: Las personas en mora tienen mayor probabilidad de no querer un depósito a termino fijo

  3. Préstamo Si una persona tiene un préstamo personal, es más probable que decida no tener un depósito a termino fijo pues debe seguir pagandolo y no tendrá para este ahorro

    Hipotesis: Las personas con préstamo tienen mayor probabilidad de no querer un depósito a termino fijo

De las variables cuantitativas, se eligieron las siguientes:

  1. Edad Esta variable cuantitativa puede estar relacionada con la determinación de personas que aceptarán un depósito a termino fijo, pues puede que las personas que tengan un mayor edad, deseen tener mayor seguridad en su vida

    Hipotesis: Las personas de mayor edad tienen mayor probabilidad de tener un depósito a termino fijo

    Ho: Media_SI = Media_NO Ha: Media_SI > Media_NO

  2. Campaña actual El número de contactos realizados durante la campaña actual, puede influir en si una persona decide tener o no un depósito a termino fijo, pues si tiene mayor conocimiento sobre la oferta, hay mayor probabilidad de que la tome

    Hipotesis: Las personas que han tenido menos contactos realizados, tienen menor probabilidad de tener un depósito a termino fijo

    Ho: Media_SI = Media_NO Ha: Media_SI > Media_NO

  3. Campañaas anteriores El número de contactos realizados durante campañas previas, puede influir en si una persona decide tener o no un depósito a termino fijo, pues si tiene mayor conocimiento sobre la oferta, hay mayor probabilidad de que la tome

    Hipotesis: Las personas que han tenido más contactos previos realizados, tienen mayor probabilidad de tener un depósito a termino fijo

    Ho: Media_SI = Media_NO Ha: Media_SI > Media_NO

#2. Análisis Univariado

data.frame(table(Parcial3$y))
##   Var1 Freq
## 1   no 4000
## 2  yes  521

El 11,5% de las personas de la base de datos SI decidió tener un depósito a termino fijo

require(table1)

y <- table1::table1(~age+job+default+loan+campaign+previous | y, data = Parcial3)
y
no
(N=4000)
yes
(N=521)
Overall
(N=4521)
age
Mean (SD) 41.0 (10.2) 42.5 (13.1) 41.2 (10.6)
Median [Min, Max] 39.0 [19.0, 86.0] 40.0 [19.0, 87.0] 39.0 [19.0, 87.0]
job
admin. 420 (10.5%) 58 (11.1%) 478 (10.6%)
blue-collar 877 (21.9%) 69 (13.2%) 946 (20.9%)
entrepreneur 153 (3.8%) 15 (2.9%) 168 (3.7%)
housemaid 98 (2.5%) 14 (2.7%) 112 (2.5%)
management 838 (21.0%) 131 (25.1%) 969 (21.4%)
retired 176 (4.4%) 54 (10.4%) 230 (5.1%)
self-employed 163 (4.1%) 20 (3.8%) 183 (4.0%)
services 379 (9.5%) 38 (7.3%) 417 (9.2%)
student 65 (1.6%) 19 (3.6%) 84 (1.9%)
technician 685 (17.1%) 83 (15.9%) 768 (17.0%)
unemployed 115 (2.9%) 13 (2.5%) 128 (2.8%)
unknown 31 (0.8%) 7 (1.3%) 38 (0.8%)
default
no 3933 (98.3%) 512 (98.3%) 4445 (98.3%)
yes 67 (1.7%) 9 (1.7%) 76 (1.7%)
loan
no 3352 (83.8%) 478 (91.7%) 3830 (84.7%)
yes 648 (16.2%) 43 (8.3%) 691 (15.3%)
campaign
Mean (SD) 2.86 (3.21) 2.27 (2.09) 2.79 (3.11)
Median [Min, Max] 2.00 [1.00, 50.0] 2.00 [1.00, 24.0] 2.00 [1.00, 50.0]
previous
Mean (SD) 0.471 (1.63) 1.09 (2.06) 0.543 (1.69)
Median [Min, Max] 0 [0, 25.0] 0 [0, 14.0] 0 [0, 25.0]

Edad: Como se puede observar, las personas que NO tienen un depósito fijo tienen una edad menor(41) en comparación a los que SI tienen un depósito fijo (42.5) Trabajo: Según lo observado en la tabla1, se puede decir que la mayor parte de las personas que NO tienen un depósito a término fijo son las personas que realizan trabajos manuales o obras (blue-collar) (21.9%), mientras que la mayoría de las personas que SI tienen un depósito a término fijo son administradores (management) (25.1%) Mora: De la tabla1 se puede decir que de las personas que SI tienen un depósito a término fijo, la mayoría no está en mora (98.3%), y en las personas que SI tienen un depósito a término fijo, la mayoría tampoco está en mora. (98.3) Préstamo: Sobre los prestamos, se puede observar que las personas que NO tienen un depósito a término fijo, no tienen en su mayoría prestamos (83.8%).Lo mismo ocurre con las personas que SI tienen un depósito a término fijo, pues la mayoría de ellas no tiene préstamos personales(91.7%).Lo que si se puede resaltar, es que el porcentaje aumenta en las personas que SI decidieron tener el despósito. Campaña actual: Como se muestra en la tabla1, el promedio de contactos en la campaña actual de las personas que rechazaron tener un depósito a término fijo es de 2.86, mayor que el de las personas que si decidieron a SI tenerlo (2.27). Como esto es contrario a las hipotesis previas, estas deben tener sus respectivas correcciones Ho: Media_SI = Media_NO Ha: Media_SI < Media_NO Campañas previas: Según la tabla1,de las personas que SI decidieron tener un depósito a término fijo, el promedio de contactos fue de 1.09, mientras que el de las personas que decidieron no tenerlo es de 0.471

#3.Análisis Bivariado

Variables cuantitativas:

require(table1)
t.test(Parcial3$age~Parcial3$y)
## 
##  Welch Two Sample t-test
## 
## data:  Parcial3$age by Parcial3$y
## t = -2.5024, df = 604.47, p-value = 0.0126
## alternative hypothesis: true difference in means between group no and group yes is not equal to 0
## 95 percent confidence interval:
##  -2.6653503 -0.3213752
## sample estimates:
##  mean in group no mean in group yes 
##          40.99800          42.49136

Como el intervalo de confianza es de -2.6653503 -0.3213752, significa que si hay una diferencia significativa entre la edad de las personas que si tienen un depósito a término fijo, y los que no, pues el 0 no está incluido en el intervalo. Con un nivel de confianza del 95%, se puede concluir que como el p-valor (0.0126)< a 0.05 se rechaza Ho, entonces la edad de las personas que si tienen un depósito a término fijo es estadisticamente mayor a las que no decidieron tomarlo.

require(table1)
t.test(Parcial3$campaign~Parcial3$y)
## 
##  Welch Two Sample t-test
## 
## data:  Parcial3$campaign by Parcial3$y
## t = 5.6824, df = 877.72, p-value = 1.807e-08
## alternative hypothesis: true difference in means between group no and group yes is not equal to 0
## 95 percent confidence interval:
##  0.3897875 0.8011233
## sample estimates:
##  mean in group no mean in group yes 
##          2.862250          2.266795

Como el intervalo de confianza es de 0.3897875 0.8011233, significa que si hay una diferencia significativa entre la cantidad de contactos a las personas que si tienen un depósito a término fijo, y los que no, pues el 0 no está incluido en el intervalo. Con un nivel de confianza del 95%, se puede concluir que como el p-valor (1.807e-08)< a 0.05 se rechaza Ho, entonces la cantidad de contactos a las personas que si tienen un depósito a término fijo es estadisticamente menor a las que no decidieron tomarlo.

require(table1)
t.test(Parcial3$previous~Parcial3$y)
## 
##  Welch Two Sample t-test
## 
## data:  Parcial3$previous by Parcial3$y
## t = -6.6092, df = 607.86, p-value = 8.458e-11
## alternative hypothesis: true difference in means between group no and group yes is not equal to 0
## 95 percent confidence interval:
##  -0.8028809 -0.4350414
## sample estimates:
##  mean in group no mean in group yes 
##          0.471250          1.090211

Como el intervalo de confianza es de -0.8028809 -0.4350414, significa que si hay una diferencia significativa entre la cantidad de contactos previos a las personas que si tienen un depósito a término fijo, y los que no, pues el 0 no está incluido en el intervalo. Con un nivel de confianza del 95%, se puede concluir que como el p-valor (8.458e-11)< a 0.05 se rechaza Ho, entonces la cantidad de contactos previamente realizados a las personas que si tienen un depósito a término fijo es estadisticamente mayor a las que no decidieron tomarlo.

Variables cualitativas

require(CGPfunctions)
PlotXTabs2(data = Parcial3,x = job,y = y)

En la gráfica se puede observar que las personas retiradas y los estudiantes son los que más han aceptado tener un depósito a término fijo, Mientras que los que menos aceptan son los obreros. 23% de las personas retiradas y los estudiantes deciden tener un depósito a término fijo, y tan solo un 7% de los obreros tiene depósito fijo.

require(CGPfunctions)
PlotXTabs2(data = Parcial3,x = loan, y=y )

En la gráfica se puede observar que las personas que no tienen préstamos fueron las que más decidieron tener un depósito a término fijo, mientras que las personas que si tenían prestamos personales, no aceptaron el depósito.

require(CGPfunctions)
PlotXTabs2(data = Parcial3,x = default,y = y)

En la gráfica se puede observar que las personas que tienen y no tienen mora aceptaron tener un depósito a término fijo en un 12%

#4. Regresión logística

Parcial3$y=as.numeric(Parcial3$y=="yes")
modelo=glm(y~ `job` +`default` +`loan`+ age+campaign+previous,data=Parcial3,family = binomial(link="logit"))
summary(modelo)
## 
## Call:
## glm(formula = y ~ job + default + loan + age + campaign + previous, 
##     family = binomial(link = "logit"), data = Parcial3)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.7443  -0.5259  -0.4518  -0.3638   3.1370  
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## (Intercept)      -1.933047   0.257546  -7.506 6.11e-14 ***
## jobblue-collar   -0.564040   0.190006  -2.969 0.002992 ** 
## jobentrepreneur  -0.302693   0.307755  -0.984 0.325336    
## jobhousemaid      0.013968   0.322769   0.043 0.965482    
## jobmanagement     0.125514   0.171002   0.734 0.462954    
## jobretired        0.689997   0.243002   2.839 0.004519 ** 
## jobself-employed -0.119391   0.280938  -0.425 0.670856    
## jobservices      -0.287386   0.222712  -1.290 0.196915    
## jobstudent        0.645424   0.307863   2.096 0.036041 *  
## jobtechnician    -0.132784   0.184078  -0.721 0.470695    
## jobunemployed    -0.257371   0.328411  -0.784 0.433224    
## jobunknown        0.399735   0.447438   0.893 0.371650    
## defaultyes        0.250138   0.364123   0.687 0.492106    
## loanyes          -0.709354   0.167416  -4.237 2.26e-05 ***
## age               0.004013   0.005180   0.775 0.438497    
## campaign         -0.088347   0.023510  -3.758 0.000171 ***
## previous          0.135628   0.020916   6.484 8.91e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 3231.0  on 4520  degrees of freedom
## Residual deviance: 3085.4  on 4504  degrees of freedom
## AIC: 3119.4
## 
## Number of Fisher Scoring iterations: 5
step(modelo,direction = "backward")
## Start:  AIC=3119.45
## y ~ job + default + loan + age + campaign + previous
## 
##            Df Deviance    AIC
## - default   1   3085.9 3117.9
## - age       1   3086.0 3118.0
## <none>          3085.4 3119.4
## - campaign  1   3103.4 3135.4
## - loan      1   3106.5 3138.5
## - job      11   3134.1 3146.1
## - previous  1   3124.0 3156.0
## 
## Step:  AIC=3117.89
## y ~ job + loan + age + campaign + previous
## 
##            Df Deviance    AIC
## - age       1   3086.5 3116.5
## <none>          3085.9 3117.9
## - campaign  1   3103.9 3133.9
## - loan      1   3106.6 3136.6
## - job      11   3134.4 3144.4
## - previous  1   3124.3 3154.3
## 
## Step:  AIC=3116.47
## y ~ job + loan + campaign + previous
## 
##            Df Deviance    AIC
## <none>          3086.5 3116.5
## - campaign  1   3104.4 3132.4
## - loan      1   3107.4 3135.4
## - job      11   3143.1 3151.1
## - previous  1   3124.9 3152.9
## 
## Call:  glm(formula = y ~ job + loan + campaign + previous, family = binomial(link = "logit"), 
##     data = Parcial3)
## 
## Coefficients:
##      (Intercept)    jobblue-collar   jobentrepreneur      jobhousemaid  
##         -1.77147          -0.56068          -0.28411           0.04567  
##    jobmanagement        jobretired  jobself-employed       jobservices  
##          0.13004           0.78178          -0.11080          -0.29004  
##       jobstudent     jobtechnician     jobunemployed        jobunknown  
##          0.59479          -0.13134          -0.24650           0.43279  
##          loanyes          campaign          previous  
##         -0.70585          -0.08815           0.13527  
## 
## Degrees of Freedom: 4520 Total (i.e. Null);  4506 Residual
## Null Deviance:       3231 
## Residual Deviance: 3086  AIC: 3116

Según este modelo, se puede decir que las variables que son más significativas son los préstamos personales,el trabajo, los contactos previos, y los contactos actuales.

Esto se puede interpretar de la siguiente manera:

Prestamos: Por cada 0.70585 que disminuyan las personas con prestamos personales, hay más probabilidad de que si decida tener el depósito a término fijo.

Campaña actual: Se puede decir que por cada 0.08815 contactos menos, hay más probabilidad de que la persona si decida tener el depósito a término fijo.

Campaña previa: Por cada 0.13527 que aumenten el contacto con las personas en campañas anteriores a la actual hay más probabilidad de que si decida tener el depósito a término fijo.

Trabajo: Se puede decir que los obreros tienen un 56% menos de probabilidad de tener un depósito a termino fijo que las personas de administración, y las personas retiradas tienen un 78% más de probabilidad de tener un depósito a termino fijo en comparación a las personas de administración.

#5. Evaluación del poder predictivo del modelo con base en la curva ROC y el AUC

Parcial3$y=as.numeric(Parcial3$y=="yes")
modelo2=glm(y~ `job` +`loan`+ campaign+previous,data=Parcial3,family = binomial(link="logit"))
summary (modelo2)
## 
## Call:
## glm(formula = y ~ job + loan + campaign + previous, family = binomial(link = "logit"), 
##     data = Parcial3)
## 
## Deviance Residuals: 
##        Min          1Q      Median          3Q         Max  
## -2.409e-06  -2.409e-06  -2.409e-06  -2.409e-06  -2.409e-06  
## 
## Coefficients:
##                    Estimate Std. Error z value Pr(>|z|)
## (Intercept)      -2.657e+01  1.728e+04  -0.002    0.999
## jobblue-collar    2.919e-16  2.000e+04   0.000    1.000
## jobentrepreneur   4.769e-16  3.196e+04   0.000    1.000
## jobhousemaid     -5.655e-16  3.741e+04   0.000    1.000
## jobmanagement     3.044e-16  1.994e+04   0.000    1.000
## jobretired       -2.112e-15  2.859e+04   0.000    1.000
## jobself-employed  2.216e-15  3.098e+04   0.000    1.000
## jobservices       3.000e-16  2.387e+04   0.000    1.000
## jobstudent       -1.348e-15  4.223e+04   0.000    1.000
## jobtechnician     6.733e-16  2.076e+04   0.000    1.000
## jobunemployed     6.276e-13  3.547e+04   0.000    1.000
## jobunknown       -7.089e-15  6.007e+04   0.000    1.000
## loanyes          -1.371e-14  1.480e+04   0.000    1.000
## campaign         -2.820e-15  1.710e+03   0.000    1.000
## previous         -3.406e-15  3.140e+03   0.000    1.000
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 0.0000e+00  on 4520  degrees of freedom
## Residual deviance: 2.6229e-08  on 4506  degrees of freedom
## AIC: 30
## 
## Number of Fisher Scoring iterations: 25
require (pROC)
probabilidad_modelo =modelo2$fitted.values

realidad= Parcial3$y
objroc <- roc(Parcial3$y ~ probabilidad_modelo,auc=T,ci=T)
objroc

plot.roc(objroc,print.auc=T,print.thres = "best",col="red"
         ,xlab = "Specificity", ylab = "Sensitivity")
#Punto de corte: 

c<-coords(objroc, "best", ret=c("threshold", "specificity", "sensitivity"),
          as.list=FALSE,drop=TRUE, best.model=c("closest.topleft"), transpose = FALSE)
c

El mejor corte es el 12.04%, es decir que si está por encima del 12.04%, SI acepta un depósito a término fijo. Especifico: Detecta los positivos en aproximadamente 67%, es decir que el modelo predice acertadamente a las personas que SI aceptan un depósito a término fijo. Sensibilidad:Detecta los negativos en un 57%, en este caso los negativos se refieren a las personas que el modelo predice acertadamente que NO aceptan un depósito a término fijo

table(probabilidad_modelo>0.1204,realidad)

2680: Lo que el modelo dice que NO aceptarán un depósito y NO lo aceptan. 226: El modelo dice que NO aceptarán un depósito y SI lo aceptan. 1320: El modelo dice que SI aceptarán un depósito y NO lo aceptan. 295: El modelo dice que SI aceptarán un depósito y SI lo aceptan.

#6. Individuo hipotetico

lineal=predict(modelo2, list(campaign=1,job="retired",loan="no",previous=24))
lineal
##         1 
## -26.56607
exp(lineal)/(1+exp(lineal))
##            1 
## 2.900701e-12

Empleado 1

Una persona que está retirada y ya más estable económicamente,que no tiene préstamos personales, que solo fue contactada 1 vez en la campaña actual, pero 24 veces en las campañas previas, tiene una probabilidad muy alta de aceptar el depósito a término fijo. En el caso anterior, la probabilidad es aproximadamente del 90%

lineal=predict(modelo2, list(campaign=6,job="blue-collar",loan="yes",previous=0))
lineal
##         1 
## -26.56607
exp(lineal)/(1+exp(lineal))
##            1 
## 2.900701e-12

Empleado 2

Es una persona que es obrera, tiene préstamos, que ha sido contactada 15 veces en esta campaña y ninguna vez previamente.La probabilidad de que SI acepte el depósito es muy baja. En el caso anterior, la probabilidad es aproximadamente del 2.7%

lineal=predict(modelo2, list(campaign=3,job="student",loan="yes",previous=8))
lineal
##         1 
## -26.56607
exp(lineal)/(1+exp(lineal))
##            1 
## 2.900701e-12

Empleado 3

Para una persona que está estudiando, que ha sido contactada previamente 8 veces, y en esta campaña 3 veces, que tenga ciertos préstamos personales, la probabilidad de que SI acepte el depósito a término fijo es de aproximadamente el 26%

#7.Conclusiones

Después del analisis realizado anteriormente, se puede plantear estrategias para que más personas acepten el depósito como:

Ofrecer el servicio a personas ya retiradas del trabajo o a estudiantes, que no tengan prestamos personales. Tener una buena metodología y planeamiento en las campañas, y contactar constantemente al potencial cliente para que acepte el depósito en futuras ocasiones