#Punto 1.
Seleccione 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que se consideren estén relacionadas con la rotación.
Se realiza una revisión de las base de datos de rotación relacionada a a una compañía del ámbito productivo que presenta una situación de alta tasa de rotación de personal.
## [1] "Rotación" "Edad"
## [3] "Viaje de Negocios" "Departamento"
## [5] "Distancia_Casa" "Educación"
## [7] "Campo_Educación" "Satisfacción_Ambiental"
## [9] "Genero" "Cargo"
## [11] "Satisfación_Laboral" "Estado_Civil"
## [13] "Ingreso_Mensual" "Trabajos_Anteriores"
## [15] "Horas_Extra" "Porcentaje_aumento_salarial"
## [17] "Rendimiento_Laboral" "Años_Experiencia"
## [19] "Capacitaciones" "Equilibrio_Trabajo_Vida"
## [21] "Antigüedad" "Antigüedad_Cargo"
## [23] "Años_ultima_promoción" "Años_acargo_con_mismo_jefe"
Se identifican las variables categoricas y cuantitativas, de las cuales 8 son categoricas y 16 cuantitativas
## Classes 'tbl_df', 'tbl' and 'data.frame': 1470 obs. of 24 variables:
## $ Rotación : chr "Si" "No" "Si" "No" ...
## $ Edad : num 41 49 37 33 27 32 59 30 38 36 ...
## $ Viaje de Negocios : chr "Raramente" "Frecuentemente" "Raramente" "Frecuentemente" ...
## $ Departamento : chr "Ventas" "IyD" "IyD" "IyD" ...
## $ Distancia_Casa : num 1 8 2 3 2 2 3 24 23 27 ...
## $ Educación : num 2 1 2 4 1 2 3 1 3 3 ...
## $ Campo_Educación : chr "Ciencias" "Ciencias" "Otra" "Ciencias" ...
## $ Satisfacción_Ambiental : num 2 3 4 4 1 4 3 4 4 3 ...
## $ Genero : chr "F" "M" "M" "F" ...
## $ Cargo : chr "Ejecutivo_Ventas" "Investigador_Cientifico" "Tecnico_Laboratorio" "Investigador_Cientifico" ...
## $ Satisfación_Laboral : num 4 2 3 3 2 4 1 3 3 3 ...
## $ Estado_Civil : chr "Soltero" "Casado" "Soltero" "Casado" ...
## $ Ingreso_Mensual : num 5993 5130 2090 2909 3468 ...
## $ Trabajos_Anteriores : num 8 1 6 1 9 0 4 1 0 6 ...
## $ Horas_Extra : chr "Si" "No" "Si" "Si" ...
## $ Porcentaje_aumento_salarial: num 11 23 15 11 12 13 20 22 21 13 ...
## $ Rendimiento_Laboral : num 3 4 3 3 3 3 4 4 4 3 ...
## $ Años_Experiencia : num 8 10 7 8 6 8 12 1 10 17 ...
## $ Capacitaciones : num 0 3 3 3 3 2 3 2 2 3 ...
## $ Equilibrio_Trabajo_Vida : num 1 3 3 3 3 2 2 3 3 2 ...
## $ Antigüedad : num 6 10 0 8 2 7 1 1 9 7 ...
## $ Antigüedad_Cargo : num 4 7 0 7 2 7 0 0 7 7 ...
## $ Años_ultima_promoción : num 0 1 0 3 2 3 0 0 1 7 ...
## $ Años_acargo_con_mismo_jefe : num 5 7 0 0 2 6 0 0 8 7 ...
## Rotación Edad Viaje de Negocios Departamento Distancia_Casa
## 1 Si 41 Raramente Ventas 1
## 2 No 49 Frecuentemente IyD 8
## 3 Si 37 Raramente IyD 2
## 4 No 33 Frecuentemente IyD 3
## 5 No 27 Raramente IyD 2
## 6 No 32 Frecuentemente IyD 2
## Classes 'tbl_df', 'tbl' and 'data.frame': 1470 obs. of 24 variables:
## $ Rotación : chr "Si" "No" "Si" "No" ...
## $ Edad : num 41 49 37 33 27 32 59 30 38 36 ...
## $ Viaje de Negocios : chr "Raramente" "Frecuentemente" "Raramente" "Frecuentemente" ...
## $ Departamento : chr "Ventas" "IyD" "IyD" "IyD" ...
## $ Distancia_Casa : num 1 8 2 3 2 2 3 24 23 27 ...
## $ Educación : num 2 1 2 4 1 2 3 1 3 3 ...
## $ Campo_Educación : chr "Ciencias" "Ciencias" "Otra" "Ciencias" ...
## $ Satisfacción_Ambiental : num 2 3 4 4 1 4 3 4 4 3 ...
## $ Genero : chr "F" "M" "M" "F" ...
## $ Cargo : chr "Ejecutivo_Ventas" "Investigador_Cientifico" "Tecnico_Laboratorio" "Investigador_Cientifico" ...
## $ Satisfación_Laboral : num 4 2 3 3 2 4 1 3 3 3 ...
## $ Estado_Civil : chr "Soltero" "Casado" "Soltero" "Casado" ...
## $ Ingreso_Mensual : num 5993 5130 2090 2909 3468 ...
## $ Trabajos_Anteriores : num 8 1 6 1 9 0 4 1 0 6 ...
## $ Horas_Extra : chr "Si" "No" "Si" "Si" ...
## $ Porcentaje_aumento_salarial: num 11 23 15 11 12 13 20 22 21 13 ...
## $ Rendimiento_Laboral : num 3 4 3 3 3 3 4 4 4 3 ...
## $ Años_Experiencia : num 8 10 7 8 6 8 12 1 10 17 ...
## $ Capacitaciones : num 0 3 3 3 3 2 3 2 2 3 ...
## $ Equilibrio_Trabajo_Vida : num 1 3 3 3 3 2 2 3 3 2 ...
## $ Antigüedad : num 6 10 0 8 2 7 1 1 9 7 ...
## $ Antigüedad_Cargo : num 4 7 0 7 2 7 0 0 7 7 ...
## $ Años_ultima_promoción : num 0 1 0 3 2 3 0 0 1 7 ...
## $ Años_acargo_con_mismo_jefe : num 5 7 0 0 2 6 0 0 8 7 ...
## [1] 1470 5
Seleccione 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que se consideren estén relacionadas con la rotación.
| Variable Categorica | Relación | Hipotesis |
| Cargo | Va relacionado con las aspiraciones y el cambio de cargo al interio o exterior de una compañia | Este nos puede indicar si, la posibilidad de mayor o menor rotación |
| Departmento | Orientado a la comodidad de cada persona dentro de la compañia y el area | Esta nos puede orientar las areas con mayor rotación |
| Estado Civil | Se plantea que está variable influye en la rotación de los empleados de una entidad, identificando si las personas solteras tienen mayor rotación que aquellas que están casadas. | Las casadas pueden rotar más. |
| Variable Cuantitativa | Relación | Hipotesis |
|---|---|---|
| Ingreso Mensual | De acuerdo al ingreso laboral se estima que haya una rotación de acuerdo al cargo y la oferta en el mercado | Las personas rotan debido a la varidedad de ingreso mensual de acuerdo al cargo |
| Edad | La rotación de empleados en una empresa puede estar vinculada con la edad de los profesionales, ya que estos pueden tener diferentes motivaciones como buscar nuevas experiencias y mejores oportunidades laborales en otras compañías. | Las personas mas jóvenes tienen mayor posibilidad de rotar que las que tienen edades más altas. |
| Aumento Salarial | El aumento salarial puede estar relacionado con la rotación de acuerdo a que puede generar un grado de valoración de los empleados de manera economica | Las personas con menor aumento salarial tienen mayor posibilidades de rotar |
| No (N=1233) |
Si (N=237) |
Overall (N=1470) |
|
|---|---|---|---|
| Edad | |||
| Mean (SD) | 37.6 (8.89) | 33.6 (9.69) | 36.9 (9.14) |
| Median [Min, Max] | 36.0 [18.0, 60.0] | 32.0 [18.0, 58.0] | 36.0 [18.0, 60.0] |
| Estado Civil | |||
| Casado | 589 (47.8%) | 84 (35.4%) | 673 (45.8%) |
| Divorciado | 294 (23.8%) | 33 (13.9%) | 327 (22.2%) |
| Soltero | 350 (28.4%) | 120 (50.6%) | 470 (32.0%) |
| Cargo | |||
| Director_Investigación | 78 (6.3%) | 2 (0.8%) | 80 (5.4%) |
| Director_Manofactura | 135 (10.9%) | 10 (4.2%) | 145 (9.9%) |
| Ejecutivo_Ventas | 269 (21.8%) | 57 (24.1%) | 326 (22.2%) |
| Gerente | 97 (7.9%) | 5 (2.1%) | 102 (6.9%) |
| Investigador_Cientifico | 245 (19.9%) | 47 (19.8%) | 292 (19.9%) |
| Recursos_Humanos | 40 (3.2%) | 12 (5.1%) | 52 (3.5%) |
| Representante_Salud | 122 (9.9%) | 9 (3.8%) | 131 (8.9%) |
| Representante_Ventas | 50 (4.1%) | 33 (13.9%) | 83 (5.6%) |
| Tecnico_Laboratorio | 197 (16.0%) | 62 (26.2%) | 259 (17.6%) |
| Satisfacción Laboral | |||
| 1 | 223 (18.1%) | 66 (27.8%) | 289 (19.7%) |
| 2 | 234 (19.0%) | 46 (19.4%) | 280 (19.0%) |
| 3 | 369 (29.9%) | 73 (30.8%) | 442 (30.1%) |
| 4 | 407 (33.0%) | 52 (21.9%) | 459 (31.2%) |
| Porcentaje Salario | |||
| Mean (SD) | 15.2 (3.64) | 15.1 (3.77) | 15.2 (3.66) |
| Median [Min, Max] | 14.0 [11.0, 25.0] | 14.0 [11.0, 25.0] | 14.0 [11.0, 25.0] |
| Ingreso Mensual | |||
| Mean (SD) | 6830 (4820) | 4790 (3640) | 6500 (4710) |
| Median [Min, Max] | 5200 [1050, 20000] | 3200 [1010, 19900] | 4920 [1010, 20000] |
De acuerdo a las variables elegidas se realiza un analisis a partir de una tabla donde se identifica el porcentaje relacionado con la rotación a partir de los diversos graficos:
###Graficos Univariados Categoricos
De acuerdo a la tabla y las graficas presentada se puede análisar lo siguiente:
El 46% de los empleados de la empresa se encuentran casados equivalente a 673 empleados, tambien, que los cargos más ocupados en la compañia s encuentran en las áreas de ejecutivo de ventas es el area con mayor personal con 326 empleados equivalente al 22%, seguidos por investigador Cientifico con 292 eqivalente al 20% y ténicos de labortario con un 17% siendo 259 empleados. Los cargos menos frecuentes son los del area de recursos humanos con 52 personas equivalente a 3.5% y directores de investigación con 80 personas equivalente al 5.4%.
Encuanto a la Variable Categorica de satisfacción laboral se puede interpretar como 1 las personas con menor satisfacción laboral y 4 las que mas gozan de satisfacción labora, siendo 3 y 4 las categorías que superan el 30% con aproximadamente 900 personas.
###Graficos Univariados Cuantitativos
Se realizan graficas para conocer la tendencia de los datos y de acuerdo a estos y la tabla se puede describir lo siguiente: las edades de los empleados oscilan entre los 25 y 50 años con una media de 37 años y una mediana de 36, los ingresos de la mayoria de los empleados están entre 3000 y 9000 con una media de 6500 y una mediana de aprox 5000, y por ultimo el porcentaje de aumento de salario oscila principalmente hasta el 15% con una media de 15.2% y una mediana de 14%.
Realiza un análisis de bivariado en donde la variable respuesta sea rotación codificada de la siguiente manera (y=1 es si rotación, y=0 es no rotación). Con base en estos resultados identifique cuales son las variables ] determinantes de la rotación e interpretar el signo del coeficiente estimado. Compare estos resultados con la hipótesis planteada en el punto 2.
Para realización de este punto y de los siguientes, se toma la tabla original “rotacion” y se crea una copia “rotacion_mod” para poder trabajar con esta ultima en adelante, esto con la finalidad de poder llevar un orden y realizar la codificación solicitada (y=1 es si rotación, y=0 es no rotación).
Se realizan graficas para conocer el la tendencia de los datos y la relación de las variables categoricas con el impacto de aquellos que rotan en la entidad de igual manera el analisis de la diferencias entre el desenlace de Rotación y las demás variables categoricas y cuantitativas.
De acuerdo al análisis bivariado la variable categorica, Tal y como se propuso en la hipótesis, más de la mitad de los individuos que participaron en el procedimiento de rotación pertenecen al grupo de personas solteras, representando un 26%. Por debajo de los solteros se encuentran los casados, que conforman el grupo intermedio y cuentan con un 12% de personas que rotan.
Con relación a la satisfacción laboral, los que se encuentran en las primeras categorías tienden a rotar más siendo la categoría 1 con un 23%, seguido por la 2 y 3 con un 16%, los que menos rotan son los que mayor satisfación tienen con la empresa con un valor de rotación de 11%.
Y realizando un análisis de los cargos que mayo rotación tienen en la compañia son los representantes de ventas con un 40% seguido por los técnicos de laboratorio con un 24%, los cargos con menor rotación son los cargos administrativos como el director de investigación con una rotación del 2% y el gerente con una rotación del 5%.
##
## Welch Two Sample t-test
##
## data: rotacion_mod$Edad by rotacion_mod$Rotación
## t = 5.8291, df = 316.94, p-value = 1.371e-08
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## 2.619728 5.289170
## sample estimates:
## mean in group 0 mean in group 1
## 37.56204 33.60759
En cuanto a la edad, se observó que las personas que rotan con mayor frecuencia son más jóvenes en comparación con aquellas que no rotan. La edad promedio de las personas que rotan con mayor frecuencia es de 33.6 años, mientras que las personas que rotan menos tienden a ser mayores, con una edad promedio de 37.6 años. Además, se observó que el grupo de trabajadores menores de 0 a 20 años es el que presenta la mayor tasa de rotación, representando el 57% del total de trabajadores en ese rango de edad.
##
## Welch Two Sample t-test
##
## data: rotacion_mod$Porcentaje_aumento_salarial by rotacion_mod$Rotación
## t = 0.50424, df = 326.11, p-value = 0.6144
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## -0.3890709 0.6572652
## sample estimates:
## mean in group 0 mean in group 1
## 15.23114 15.09705
En cuanto al aumento salarial, se observó que las personas que rotan con mayor frecuencia son las que tienen un porcentaje mas alto de aumento salarial entre los grupos del 22% al 24% siendo el grupo de 24% el que mayor rotación tiene. el procentaje de aumento salarial de las personas que rotan con mayor frecuencia es de 15.1% , mientras que las personas que rotan menos tienden a ser mayores, con unaumento salarial promedio de 25%.
##
## Welch Two Sample t-test
##
## data: rotacion_mod$Ingreso_Mensual by rotacion_mod$Rotación
## t = 7.4826, df = 412.74, p-value = 4.434e-13
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## 1508.244 2583.050
## sample estimates:
## mean in group 0 mean in group 1
## 6832.740 4787.093
En cuanto al ingreso salarial, se observó que las personas que rotan con mayor frecuencia son las que tienen un ingreso salarial menor de 2000 siendo este el grupo que mayor rotación tiene con un 55%. el ingreso salarial de las personas que rotan con mayor frecuencia es de 4787 , mientras que las personas que rotan menos tienden a ser mayores, con un ingreso salarial promedio de 6832 siendo el grupo con valores mas altos el que menor tendencia tiene a rotar.
##Punto 4. Realiza la estimación de un modelo de regresión logístico en el cual la variable respuesta es rotación (y=1 es si rotación, y=0 es no rotación) y las covariables las 6 seleccionadas en el punto 1. Interprete los coeficientes del modelo y la significancia de los parámetros.
Para la estimación del modelo se utiliza el método tradicional trabajado en clase, a continuación se presenta el desarrollo del mismo:
##
## Call:
## glm(formula = Rotación ~ Estado_Civil + Satisfación_Laboral +
## Cargo + Edad + Porcentaje_aumento_salarial + Ingreso_Mensual,
## family = "binomial", data = rotacion_mod)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.5475 -0.6193 -0.4569 -0.2577 2.7468
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -2.504e+00 1.065e+00 -2.351 0.01872 *
## Estado_CivilDivorciado -2.355e-01 2.245e-01 -1.049 0.29421
## Estado_CivilSoltero 8.032e-01 1.661e-01 4.835 1.33e-06 ***
## Satisfación_Laboral2 -4.888e-01 2.279e-01 -2.145 0.03196 *
## Satisfación_Laboral3 -4.328e-01 2.020e-01 -2.142 0.03216 *
## Satisfación_Laboral4 -9.567e-01 2.145e-01 -4.461 8.15e-06 ***
## CargoDirector_Manofactura 1.040e+00 8.701e-01 1.196 0.23185
## CargoEjecutivo_Ventas 2.065e+00 8.256e-01 2.502 0.01236 *
## CargoGerente 7.394e-01 8.566e-01 0.863 0.38800
## CargoInvestigador_Cientifico 1.920e+00 9.093e-01 2.111 0.03477 *
## CargoRecursos_Humanos 2.561e+00 9.322e-01 2.748 0.00600 **
## CargoRepresentante_Salud 1.060e+00 8.757e-01 1.211 0.22609
## CargoRepresentante_Ventas 3.063e+00 9.373e-01 3.267 0.00109 **
## CargoTecnico_Laboratorio 2.447e+00 9.065e-01 2.699 0.00695 **
## Edad -2.553e-02 9.888e-03 -2.582 0.00981 **
## Porcentaje_aumento_salarial -6.158e-03 2.104e-02 -0.293 0.76979
## Ingreso_Mensual 2.004e-05 4.375e-05 0.458 0.64693
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1298.6 on 1469 degrees of freedom
## Residual deviance: 1146.6 on 1453 degrees of freedom
## AIC: 1180.6
##
## Number of Fisher Scoring iterations: 6
Los coeficientes estimados en el modelo indican el cambio en el registro de probabilidades de rotación asociado con un cambio unitario en cada variable predictora. Por ejemplo, el coeficiente estimado para la variable “Edad” es negativo (-0.02553), lo que sugiere que a medida que la edad del empleado aumenta en una unidad, la probabilidad de rotación disminuye en un factor de exp (-0.02553), es decir, un 2.5%.
Los coeficientes estimados en el modelo indican el cambio en el registro de probabilidades de rotación asociado con un cambio unitario en cada variable predictora. Por ejemplo, el coeficiente estimado para la variable “Edad” es negativo (-0.02553), lo que sugiere que a medida que la edad del empleado aumenta en una unidad, la probabilidad de rotación disminuye en un factor de exp (-0.02553), es decir, un 2.5%.
En este modelo, las variables Estado Civil (Soltero), Satisfacción Laboral (en niveles 2, 3 y 4), Cargo (en los niveles Ejecutivo de Ventas, Investigador Científico, Recursos Humanos, Representante de Ventas y Técnico de Laboratorio) y Edad son significativas. Por otro lado, el porcentaje de aumento salarial e ingreso mensual no son significativas.
## Start: AIC=1180.6
## Rotación ~ Estado_Civil + Satisfación_Laboral + Cargo + Edad +
## Porcentaje_aumento_salarial + Ingreso_Mensual
##
## Df Deviance AIC
## - Porcentaje_aumento_salarial 1 1146.7 1178.7
## - Ingreso_Mensual 1 1146.8 1178.8
## <none> 1146.6 1180.6
## - Edad 1 1153.5 1185.5
## - Satisfación_Laboral 3 1167.1 1195.1
## - Cargo 8 1186.7 1204.7
## - Estado_Civil 2 1180.2 1210.2
##
## Step: AIC=1178.69
## Rotación ~ Estado_Civil + Satisfación_Laboral + Cargo + Edad +
## Ingreso_Mensual
##
## Df Deviance AIC
## - Ingreso_Mensual 1 1146.9 1176.9
## <none> 1146.7 1178.7
## - Edad 1 1153.7 1183.7
## - Satisfación_Laboral 3 1167.2 1193.2
## - Cargo 8 1187.0 1203.0
## - Estado_Civil 2 1180.3 1208.3
##
## Step: AIC=1176.9
## Rotación ~ Estado_Civil + Satisfación_Laboral + Cargo + Edad
##
## Df Deviance AIC
## <none> 1146.9 1176.9
## - Edad 1 1153.8 1181.8
## - Satisfación_Laboral 3 1167.5 1191.5
## - Estado_Civil 2 1180.6 1206.6
## - Cargo 8 1204.3 1218.3
##
## Call: glm(formula = Rotación ~ Estado_Civil + Satisfación_Laboral +
## Cargo + Edad, family = "binomial", data = rotacion_mod)
##
## Coefficients:
## (Intercept) Estado_CivilDivorciado
## -2.33314 -0.23311
## Estado_CivilSoltero Satisfación_Laboral2
## 0.80532 -0.48848
## Satisfación_Laboral3 Satisfación_Laboral4
## -0.43216 -0.95928
## CargoDirector_Manofactura CargoEjecutivo_Ventas
## 0.86969 1.89295
## CargoGerente CargoInvestigador_Cientifico
## 0.75964 1.67449
## CargoRecursos_Humanos CargoRepresentante_Salud
## 2.33884 0.89184
## CargoRepresentante_Ventas CargoTecnico_Laboratorio
## 2.80865 2.20439
## Edad
## -0.02426
##
## Degrees of Freedom: 1469 Total (i.e. Null); 1455 Residual
## Null Deviance: 1299
## Residual Deviance: 1147 AIC: 1177
De acuerdo al nivel de significancia de algunos coeficientes se procede a hacer el ajuste al modelo con la metodología akaike, en el cual se elimina la variable con el valor de AIC más alto hasta que no hay más variables que puedan ser eliminadas. El resultado final es el modelo con el valor de AIC más bajo, lo que indica que es el modelo más adecuado para los datos en cuestión. En este caso, el modelo final incluye las variables “Estado_Civil”, “Satisfacción_Laboral”, “Cargo” y “Edad”.
Los coeficientes representan el efecto que tiene cada variable independiente en la probabilidad de rotación. Por ejemplo, para la variable “Estado_Civil”, un individuo divorciado tiene una disminución de 0.23311 de rotación en comparación con un individuo casado (la categoría de referencia). Un individuo soltero, por otro lado, tiene un aumento de 0.80532 de rotación en comparación con un individuo casado.
De manera similar, para la variable “Satisfacción_Laboral”, se puede observar que cuanto mayor sea el nivel de satisfacción laboral, menor será la probabilidad de rotación. Por ejemplo, un individuo con un nivel de satisfacción laboral de 2 tiene una disminución de 0.48848 de rotación en comparación con un individuo con un nivel de satisfacción laboral de 1 (la categoría de referencia).
Además, se puede observar que los coeficientes para las diferentes categorías de “Cargo” varían significativamente. Por ejemplo, un “Gerente” tiene un efecto positivo de 0.75964 de rotación en comparación con un “Representante de Ventas”.
El modelo general tiene una desviación residual de 1147 y un AIC de 1177, lo que sugiere que el modelo ajustado es adecuado para los datos y tiene un buen ajuste.
##
## Call:
## glm(formula = Rotación ~ Estado_Civil + Satisfación_Laboral +
## Edad + Porcentaje_aumento_salarial + Ingreso_Mensual, family = "binomial",
## data = rotacion_mod)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.2230 -0.6245 -0.4854 -0.3075 2.8814
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.129e-01 4.753e-01 0.448 0.65419
## Estado_CivilDivorciado -2.664e-01 2.214e-01 -1.203 0.22893
## Estado_CivilSoltero 7.943e-01 1.626e-01 4.885 1.03e-06 ***
## Satisfación_Laboral2 -4.526e-01 2.225e-01 -2.034 0.04195 *
## Satisfación_Laboral3 -4.461e-01 1.980e-01 -2.253 0.02423 *
## Satisfación_Laboral4 -9.376e-01 2.112e-01 -4.439 9.02e-06 ***
## Edad -2.702e-02 9.651e-03 -2.800 0.00511 **
## Porcentaje_aumento_salarial -1.006e-02 2.057e-02 -0.489 0.62486
## Ingreso_Mensual -9.345e-05 2.385e-05 -3.919 8.91e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1298.6 on 1469 degrees of freedom
## Residual deviance: 1186.7 on 1461 degrees of freedom
## AIC: 1204.7
##
## Number of Fisher Scoring iterations: 5
##
## Call: glm(formula = Rotación ~ Estado_Civil + Satisfación_Laboral +
## Edad + Porcentaje_aumento_salarial + Ingreso_Mensual, family = "binomial",
## data = rotacion_mod)
##
## Coefficients:
## (Intercept) Estado_CivilDivorciado
## 2.129e-01 -2.664e-01
## Estado_CivilSoltero Satisfación_Laboral2
## 7.943e-01 -4.526e-01
## Satisfación_Laboral3 Satisfación_Laboral4
## -4.461e-01 -9.376e-01
## Edad Porcentaje_aumento_salarial
## -2.702e-02 -1.006e-02
## Ingreso_Mensual
## -9.345e-05
##
## Degrees of Freedom: 1469 Total (i.e. Null); 1461 Residual
## Null Deviance: 1299
## Residual Deviance: 1187 AIC: 1205
Elmodelomejorado recoje las variables significativas y presenta lo que
##Punto 5.
Evaluar el poder predictivo del modelo con base en la curva ROC y el AUC.
Se divide la data para realizar un entrenamiento del modelo con el 60% de los datos y se hace un test con el 40% de los dato.
valor_pronosticado <- predict(modelomejorado,test.dat,type = "response")
niveles_pronosticados <- factor(ifelse(valor_pronosticado >0.5, "Si","No"))
library(pROC)
library(caret)
curva_ROC <- roc(test.dat$Rotación, valor_pronosticado)
auc<- round(auc(curva_ROC, levels =c(0,1), direction = "<"),4)
ggroc(curva_ROC, colour = "#1F74B1", size=1.5) + ggtitle(paste0("Curva ROC ", "(AUC = ", auc, ")")) + xlab("Especificidad") + ylab("Sensibilidad")
En el análisis, se utiliza la curva ROC para evaluar la capacidad predictiva del modelo de clasificación binaria llamado “modelomejorado”. Se calcula el área bajo la curva, también conocido como AUC, que en este caso específico es mayor a 0.5 y tiene un valor de 0.67. Este resultado indica una excelente capacidad de clasificación, ya que la curva ROC se acerca al punto (0,1), lo que significa que el modelo puede clasificar adecuadamente tanto los valores positivos como los negativos del modelo.
##Punto 6.
Realiza una predicción la probabilidad de que un individuo (hipotético) rote y defina un corte para decidir si se debe intervenir a este empleado o no (posible estrategia para motivar al empleado).
Se identifica un individuo con las siguietes caracteristicas:
Persona en estado civil “Soltero” Satisfación “2” Edad: 20 Cargo: Representante de ventas Porcentaje aumento salarial: 15 Ingreso mensual: 2000
predict(modelomejorado,list(Estado_Civil="Soltero",Satisfación_Laboral="2",Edad=20,Cargo="Representante_Ventas",Ingreso_Mensual=2500,Porcentaje_aumento_salarial=15),type="response")
## 1
## 0.4084525
DE acuerdo a las caracteristicas presentadas previamente, este individuo tiene una probabilidad del 40% de rotar de la empresa, el cual debería ser considerado para mejorar su calidad de acuerdo a las variables presentadas para disminuri este % de rotación se mejora a las siguientes caracteristicas.
Persona en estado civil “Soltero” Satisfación “4” Edad: 20 Cargo: Representante de ventas Porcentaje aumento salarial: 20 Ingreso mensual: 3000
predict(modelomejorado,list(Estado_Civil="Soltero",Satisfación_Laboral="4",Edad=20,Cargo="Ejecutivo_Ventas",Ingreso_Mensual=3500,Porcentaje_aumento_salarial=20),type="response")
## 1
## 0.2691267
Mejorando las condiciones del individuo este pasaría de un porcentaje de rotación del 40% al 27% mejorando un 13% las probabilidad de rotación de la empresa.
##Punto 7
En las conclusiones adicione una discución sobre cuál sería la estrategia para disminuir la rotación en la empresa (con base en las variables que resultaron significativas en el punto 3).
De acuerdo a los datos presentados, se realiza la siguiente conclusión: Mejoramiento de la calidad de los empleados de las areas de ventas, recursos humanos y técnico de laboratorio, con actividades ludicas que permitan tener una mejor satisfacción laboral en estas areas, también insentivando el aumento salarial en menores de 30 años con oportunidades de crecimiento en la empresa que a su vez permita mejorar los salarios y se genere un mejor entorno en la compañía.
Entre las estrategias es pertinente identificar los individuos con alto riesgo de rotación y poder mejorar la calidad laboral de estos, ya sea en oportunidades de crecimiento economico y mejor ambiente laboral, esto permitiría una disminución de la rota en la compañia, tambien enfocandose en los empleados jovenes que puedan aumentar su satisfacción con la compañía.
##Problema 2:
Con base en los datos de créditos proponga un modelo de regresión logístico múltiple que permita predecir el riesgo de default o de no pago en función de las covariables que considere importantes y seleccionándolas de acuerdo con un proceso adecuado. Tenga en cuenta realizar una evaluación de la significancia de los parámetros, interpretación y proponga un método de evaluación por medio de validación cruzada. Presente métricas apropiadas como el AUC y la curva ROC.
library(paqueteMOD)
data("creditos")
names(creditos)
## [1] "default" "antiguedad" "edad" "cuota" "ingresos"
creditos$deuda=round(creditos$cuota/creditos$ingresos*100,1)
modelocredito=glm(default~antiguedad+edad+ingresos+deuda,data = creditos,family = "binomial")
summary(modelocredito)
##
## Call:
## glm(formula = default ~ antiguedad + edad + ingresos + deuda,
## family = "binomial", data = creditos)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.1914 -0.3510 -0.2791 -0.2177 2.9418
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.173e+00 9.911e-01 -4.211 2.54e-05 ***
## antiguedad -4.441e-02 2.288e-02 -1.941 0.052239 .
## edad 2.084e-02 1.913e-02 1.089 0.275984
## ingresos -2.787e-08 8.537e-08 -0.326 0.744068
## deuda 4.444e-02 1.160e-02 3.830 0.000128 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 309.68 on 779 degrees of freedom
## Residual deviance: 287.97 on 775 degrees of freedom
## AIC: 297.97
##
## Number of Fisher Scoring iterations: 6
de acuerdo al modelo propuesto se realiza una validación cruzada usando la librería Caret, se hace una evaluación de la exactitud.
library(table1) #Genera una tabla de descripciones de variables, teniendo en cuenta la Rotación como variable dependiente
table1(~deuda|default,data = creditos)
| 0 (N=741) |
1 (N=39) |
Overall (N=780) |
|
|---|---|---|---|
| deuda | |||
| Mean (SD) | 17.0 (11.9) | 26.7 (21.8) | 17.4 (12.7) |
| Median [Min, Max] | 15.3 [0, 85.8] | 23.1 [0.800, 130] | 15.6 [0, 130] |
control=trainControl(method = "cv",number = 10,p = 0.2)
mod_caret=train(default ~ antiguedad + edad + ingresos + deuda,data=creditos,method="glm",family="binomial",trControl=control)
summary(mod_caret)
##
## Call:
## NULL
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.1914 -0.3510 -0.2791 -0.2177 2.9418
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.173e+00 9.911e-01 -4.211 2.54e-05 ***
## antiguedad -4.441e-02 2.288e-02 -1.941 0.052239 .
## edad 2.084e-02 1.913e-02 1.089 0.275984
## ingresos -2.787e-08 8.537e-08 -0.326 0.744068
## deuda 4.444e-02 1.160e-02 3.830 0.000128 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 309.68 on 779 degrees of freedom
## Residual deviance: 287.97 on 775 degrees of freedom
## AIC: 297.97
##
## Number of Fisher Scoring iterations: 6
varImp(mod_caret)
## glm variable importance
##
## Overall
## deuda 100.00
## antiguedad 46.09
## edad 21.78
## ingresos 0.00
plot(varImp(mod_caret))
mod_caret$finalModel
##
## Call: NULL
##
## Coefficients:
## (Intercept) antiguedad edad ingresos deuda
## -4.173e+00 -4.441e-02 2.084e-02 -2.787e-08 4.444e-02
##
## Degrees of Freedom: 779 Total (i.e. Null); 775 Residual
## Null Deviance: 309.7
## Residual Deviance: 288 AIC: 298
Al examinar el modelo anterior y teniendo en cuenta que el valor 0 representa a las personas que cumplieron con el pago y el valor 1 a aquellos que no lo hicieron, se pueden interpretar los coeficientes de la siguiente manera:
Antigüedad: El coeficiente negativo de -4.441e-02 indica que a medida que aumenta la antigüedad crediticia del individuo, hay menos probabilidad (signo negativo del coeficiente) de que incumpla en el pago de sus cuotas. La relevancia de esta variable en el modelo es moderadamente baja, con un valor de 0.1.
Edad: El coeficiente positivo de 2.084e-02 sugiere que a medida que aumenta la edad del individuo, hay una mayor probabilidad (signo positivo del coeficiente) de incumplimiento en el pago de sus cuotas. Este valor atípico requiere una evaluación más detallada, ya que normalmente las personas mayores tienen más experiencia en la gestión de sus finanzas. La significancia de esta variable en el modelo es baja.
Ingresos: El coeficiente negativo de -2.787e-08 indica que a medida que aumenta el ingreso del individuo, hay menos probabilidad (signo negativo del coeficiente) de incumplimiento en el pago de sus cuotas. La relevancia de esta variable en el modelo es baja.
Deuda: El coeficiente positivo de 4.444e-02 indica que a medida que aumenta la deuda del individuo, hay una mayor probabilidad (signo positivo del coeficiente) de incumplimiento en el pago de sus cuotas. Esta variable es la más significativa.
Todo esto se confirma con los resultados de la validación cruzada, donde las variables más discriminantes del conjunto de datos son la deuda con un valor de 100, seguida de la antigüedad con un valor de 46, como se muestra en la tabla y el gráfico anteriores.
Para un proceso de validación y mejora en los resultados se utiliza un ajuste del modelo con metodología de estimación de manera gradual con procesos de paso a paso como el que se realiza a continuación:
mod_credito2=step(modelocredito,direction = "backward")
## Start: AIC=297.97
## default ~ antiguedad + edad + ingresos + deuda
##
## Df Deviance AIC
## - ingresos 1 288.08 296.08
## - edad 1 289.12 297.12
## <none> 287.97 297.97
## - antiguedad 1 291.67 299.67
## - deuda 1 304.34 312.34
##
## Step: AIC=296.08
## default ~ antiguedad + edad + deuda
##
## Df Deviance AIC
## - edad 1 289.20 295.20
## <none> 288.08 296.08
## - antiguedad 1 292.73 298.73
## - deuda 1 305.50 311.50
##
## Step: AIC=295.2
## default ~ antiguedad + deuda
##
## Df Deviance AIC
## <none> 289.20 295.20
## - antiguedad 1 293.32 297.32
## - deuda 1 306.00 310.00
mod_credito2
##
## Call: glm(formula = default ~ antiguedad + deuda, family = "binomial",
## data = creditos)
##
## Coefficients:
## (Intercept) antiguedad deuda
## -3.36240 -0.03070 0.04416
##
## Degrees of Freedom: 779 Total (i.e. Null); 777 Residual
## Null Deviance: 309.7
## Residual Deviance: 289.2 AIC: 295.2
Se realiza un ajuste del modelo con las variables massignificativas.
modelocredajustado=glm(default~antiguedad+deuda,data = creditos,family = "binomial")
summary(modelocredajustado)
##
## Call:
## glm(formula = default ~ antiguedad + deuda, family = "binomial",
## data = creditos)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.2053 -0.3589 -0.2802 -0.2192 2.9259
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -3.36240 0.37751 -8.907 < 2e-16 ***
## antiguedad -0.03070 0.01572 -1.954 0.0508 .
## deuda 0.04416 0.01132 3.903 9.5e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 309.68 on 779 degrees of freedom
## Residual deviance: 289.20 on 777 degrees of freedom
## AIC: 295.2
##
## Number of Fisher Scoring iterations: 6
Luego se evalúa el poder predictivo del modelo con base en la curva ROC y el AUC.
Se procede a dividir la data en dos partes:
train2 con el 70% de los datos test2 con el 30% de los datos
train2 <- nrow(creditos)*0.7
test2 <- nrow(creditos)*0.3
set.seed(123)
index_train2 <- sample(1:nrow(creditos),size = train2)
train.dat2 <- creditos[index_train2,] # muestra de entrenamiento
test.dat2 <- creditos[-index_train2,] # muestra de prueba
valor_pronosticado2 <- predict(modelocredajustado,test.dat2,type = "response")
niveles_pronosticados2 <- factor(ifelse(valor_pronosticado2 >0.5, "Si","No"))
curva_ROC2 <- roc(test.dat2$default, valor_pronosticado2)
auc2<- round(auc(curva_ROC2, levels =c(0,1), direction = "<"),4)
#Se realiza la curva con la funcion ggplot
ggroc(curva_ROC2, colour = "#B30D1C", size=1) + ggtitle(paste0("Curva ROC 2 ", "(AUC = ", auc2, ")")) + xlab("Especificidad") + ylab("Sensibilidad")
En el análisis final se utiliza la curva ROC para evaluar la capacidad predictiva del modelo de clasificación binaria denominado “modelocredajustado”. Se calcula el área bajo la curva (AUC), que en este caso específico tiene un valor mayor a 0.5, específicamente un AUC de 0.75, lo que indica una clasificación excelente. Esto se debe a que la curva ROC se acerca al punto (0,1), lo que sugiere que el modelo es altamente capaz de clasificar correctamente los valores positivos y negativos verdaderos.