En el siguiente Informe se realiza el analisis de comportamiento de la rotacion del personal en una organizacion, para este desarrollo se utilizara la base de datos rotacion, la cual sera procesada para obtener la estructura y caracteristicas de los datos, que permitan obtener los resultados deseados, el uso de diferentes tecnicas de exploracion, transformacion, modelamiento y comprobaciones seran claves para lograr predicciones con mayor exactitud.
Se realiza la carga de la base de datos rotacion, la cual cuenta con 24 variables y se imprime una muestra de las primeras y las ultimas 6 lineas utilizando las funciones head y tail.
## # A tibble: 6 × 24
## Rotación Edad `Viaje de Negocios` Departamento Distancia_Casa Educación
## <chr> <dbl> <chr> <chr> <dbl> <dbl>
## 1 Si 41 Raramente Ventas 1 2
## 2 No 49 Frecuentemente IyD 8 1
## 3 Si 37 Raramente IyD 2 2
## 4 No 33 Frecuentemente IyD 3 4
## 5 No 27 Raramente IyD 2 1
## 6 No 32 Frecuentemente IyD 2 2
## # ℹ 18 more variables: Campo_Educación <chr>, Satisfacción_Ambiental <dbl>,
## # Genero <chr>, Cargo <chr>, Satisfación_Laboral <dbl>, Estado_Civil <chr>,
## # Ingreso_Mensual <dbl>, Trabajos_Anteriores <dbl>, Horas_Extra <chr>,
## # Porcentaje_aumento_salarial <dbl>, Rendimiento_Laboral <dbl>,
## # Años_Experiencia <dbl>, Capacitaciones <dbl>,
## # Equilibrio_Trabajo_Vida <dbl>, Antigüedad <dbl>, Antigüedad_Cargo <dbl>,
## # Años_ultima_promoción <dbl>, Años_acargo_con_mismo_jefe <dbl>
## # A tibble: 6 × 24
## Rotación Edad `Viaje de Negocios` Departamento Distancia_Casa Educación
## <chr> <dbl> <chr> <chr> <dbl> <dbl>
## 1 No 26 Raramente Ventas 5 3
## 2 No 36 Frecuentemente IyD 23 2
## 3 No 39 Raramente IyD 6 1
## 4 No 27 Raramente IyD 4 3
## 5 No 49 Frecuentemente Ventas 2 3
## 6 No 34 Raramente IyD 8 3
## # ℹ 18 more variables: Campo_Educación <chr>, Satisfacción_Ambiental <dbl>,
## # Genero <chr>, Cargo <chr>, Satisfación_Laboral <dbl>, Estado_Civil <chr>,
## # Ingreso_Mensual <dbl>, Trabajos_Anteriores <dbl>, Horas_Extra <chr>,
## # Porcentaje_aumento_salarial <dbl>, Rendimiento_Laboral <dbl>,
## # Años_Experiencia <dbl>, Capacitaciones <dbl>,
## # Equilibrio_Trabajo_Vida <dbl>, Antigüedad <dbl>, Antigüedad_Cargo <dbl>,
## # Años_ultima_promoción <dbl>, Años_acargo_con_mismo_jefe <dbl>
Se realiza la revision de la estructura de los datos contenidos en la base de datos rotacion obteniendo la siguiente informacion:
- Observaciones: 1470 - Variables: 24 - Variable tipo Categorica: 6 - Variable tipo numerica: 18
con esta revision se obtine un panorama mucho mas claro de los tipos de datos que puede contener nuestra base de datos para iniciar con el procesamiento necesario para los analisis posteriores
## '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 ...
Se realiza la seleccion de las variables de interes para el analisis segun los requerimientos del ejercicio planteado, las variables seleccionadas fueron:
- Rotación: Variable que sera tenida en cuenta como la variable de salida o de resultado - Edad: Se espera una mayor rotacion en la poblacion mas Joven - Genero: Se espera una mayor rotacion en la poblacion M (hombres) - Cargo: Se espera una mayor rotacion en el cargo de Ejecutivo_Ventas que del cargo Investigador_Cientifico - Estado_Civil: Se espera una mayor rotacion en la poblacion Solteros que en la de Casados - Ingreso_Mensual: Se espera una mayor rotacion en la poblacion con ingresos salariales mas bajos - Años_Experiencia: Se espera una mayor rotacion en la poblacion con menor experiencia
se realiza una visualizacion de las primeras 6 lineas de la nueva base de datos para confirmar la seleccion.
## Rotación Edad Genero Cargo Estado_Civil Ingreso_Mensual
## 1 Si 41 F Ejecutivo_Ventas Soltero 5993
## 2 No 49 M Investigador_Cientifico Casado 5130
## 3 Si 37 M Tecnico_Laboratorio Soltero 2090
## 4 No 33 F Investigador_Cientifico Casado 2909
## 5 No 27 M Tecnico_Laboratorio Casado 3468
## 6 No 32 M Tecnico_Laboratorio Soltero 3068
## Años_Experiencia
## 1 8
## 2 10
## 3 7
## 4 8
## 5 6
## 6 8
Se realiza la verificacion de faltantes en la base de datos con las variables seleccionadas para el analisis, no se encontraron datos faltantes para el analisis.
## Rotación Edad Genero Cargo
## 0 0 0 0
## Estado_Civil Ingreso_Mensual Años_Experiencia
## 0 0 0
Se realiza la verificacion de las variables categoricas identificando los valores unicos que las conforman.
## Valores únicos Rotación : Si, No
## Valores únicos Genero : F, M
## Valores únicos Cargo : Ejecutivo_Ventas, Investigador_Cientifico, Tecnico_Laboratorio, Director_Manofactura, Representante_Salud, Gerente, Representante_Ventas, Director_Investigación, Recursos_Humanos
## Valores únicos Estado_Civil : Soltero, Casado, Divorciado
A continuacion se realiza el analisis univariado de las variables seleccionadas para identificar patrones de comportamiento que permitan familiarizarnos mejor con la informacion a obtener.
Luego de realizado el analisis univariado se puede concluir que la
rotacion del personal fue de un total de 237 de una
poblacion de 1470 personas, el personal de la compania
tiene una distribucion segun estado civil de mayor proporcion
Casados y Solteros, tambien se
identifica que los hombres superan en numero a las
mujeres que laboran en la compania, las areas con mayor
volumen de personal son Ejecutivo_Ventas,
Investigador_Cientifico y
Tecnico_Laboratorio.
Para las variables cuantitativas se observa que la poblacion de mayor volumen por Edad se encuentra concentrada entre los 25 y 40 anios aproximadamente, mientras que los Anios_Experiencia muestran una alta concentracion de personal entre los 0 y 10 anios, sin embargo la poblacion con mas de 10 anios no es despreciable, los ingresos mensuales de los empleados estan concentrados entre los 1000 y 6000, tambien se observa que entre la variable Anios_Experiencia e Ingreso_Mensual podrian existir una alta correlacion debido a que la distribucion de los datos es muy similar para ambas variables, para darle una interpretacion mas detallada de estas variables, a continuacion se realiza un resumen de algunos estadisticos que nos proporcionan mayor detalle.
## Rotación Edad Genero Cargo
## Length:1470 Min. :18.00 Length:1470 Length:1470
## Class :character 1st Qu.:30.00 Class :character Class :character
## Mode :character Median :36.00 Mode :character Mode :character
## Mean :36.92
## 3rd Qu.:43.00
## Max. :60.00
## Estado_Civil Ingreso_Mensual Años_Experiencia
## Length:1470 Min. : 1009 Min. : 0.00
## Class :character 1st Qu.: 2911 1st Qu.: 6.00
## Mode :character Median : 4919 Median :10.00
## Mean : 6503 Mean :11.28
## 3rd Qu.: 8379 3rd Qu.:15.00
## Max. :19999 Max. :40.00
Se realiza la transformacion de la variable categorica rotacion a Binaria definiendo el valor rotacion== “Si” = 1
## Cross-Tabulation, Row Proportions
## Genero * y1
## Data Frame: Rotacion_var_sel
##
## -------- ---- -------------- ------------- ---------------
## y1 0 1 Total
## Genero
## F 501 (85.2%) 87 (14.8%) 588 (100.0%)
## M 732 (83.0%) 150 (17.0%) 882 (100.0%)
## Total 1233 (83.9%) 237 (16.1%) 1470 (100.0%)
## -------- ---- -------------- ------------- ---------------
Se observa que la poblacion de hombres (M) tiende a rotar en mayor proporcion que las mujeres (F)
## Cross-Tabulation, Row Proportions
## Cargo * y1
## Data Frame: Rotacion_var_sel
##
## ------------------------- ---- -------------- ------------- ---------------
## y1 0 1 Total
## Cargo
## Director_Investigación 78 (97.5%) 2 ( 2.5%) 80 (100.0%)
## Director_Manofactura 135 (93.1%) 10 ( 6.9%) 145 (100.0%)
## Ejecutivo_Ventas 269 (82.5%) 57 (17.5%) 326 (100.0%)
## Gerente 97 (95.1%) 5 ( 4.9%) 102 (100.0%)
## Investigador_Cientifico 245 (83.9%) 47 (16.1%) 292 (100.0%)
## Recursos_Humanos 40 (76.9%) 12 (23.1%) 52 (100.0%)
## Representante_Salud 122 (93.1%) 9 ( 6.9%) 131 (100.0%)
## Representante_Ventas 50 (60.2%) 33 (39.8%) 83 (100.0%)
## Tecnico_Laboratorio 197 (76.1%) 62 (23.9%) 259 (100.0%)
## Total 1233 (83.9%) 237 (16.1%) 1470 (100.0%)
## ------------------------- ---- -------------- ------------- ---------------
Los Cargos Tecnico_Laboratorio, Ejecutivo_Ventas, Investigador_Cientifico y Representante_Ventas son los que mayor rotacion presentan.
## Cross-Tabulation, Row Proportions
## Estado_Civil * y1
## Data Frame: Rotacion_var_sel
##
## -------------- ---- -------------- ------------- ---------------
## y1 0 1 Total
## Estado_Civil
## Casado 589 (87.5%) 84 (12.5%) 673 (100.0%)
## Divorciado 294 (89.9%) 33 (10.1%) 327 (100.0%)
## Soltero 350 (74.5%) 120 (25.5%) 470 (100.0%)
## Total 1233 (83.9%) 237 (16.1%) 1470 (100.0%)
## -------------- ---- -------------- ------------- ---------------
En la revision de la rotacion por generos se observa que las personas con estado civil Soltero tienen mayor volumen de rotacion, seguido por las personas con estado civil Casado
La rotacion del personal con salarios inferiores a 5000 es evidentemente mayor que las personas con ingresos mas altos, sin embargo, se puede apreciar que existen algunos casos atipicos en salarios mayores que valdria la pena revisar para asociarlos a algun patron en particular.
El personal con experiencia inferior a 10 anios tiene una alta tendencia a rotar, se observan algunos casos atipicos en muy baja proporcion que superan los 20 anios de experiencia.
El analisis de la variable Edad muestra que la poblacion con mayor rotacion se encuentra entre los 27 a 39 años.
## Edad Ingreso_Mensual Años_Experiencia y1 Genero_M Director_Investigación
## 1465 26 2966 5 0 0 0
## 1466 36 2571 17 0 1 0
## 1467 39 9991 9 0 1 0
## 1468 27 6142 6 0 1 0
## 1469 49 5390 17 0 1 0
## 1470 34 4404 6 0 1 0
## Ejecutivo_Ventas Gerente Investigador_Cientifico Recursos_Humanos
## 1465 0 0 0 0
## 1466 0 0 0 0
## 1467 0 0 0 0
## 1468 0 0 0 0
## 1469 1 0 0 0
## 1470 0 0 0 0
## Representante_Salud Representante_Ventas Tecnico_Laboratorio Soltero
## 1465 0 1 0 1
## 1466 0 0 1 0
## 1467 1 0 0 0
## 1468 0 0 0 0
## 1469 0 0 0 0
## 1470 0 0 1 0
## Casado
## 1465 0
## 1466 1
## 1467 1
## 1468 1
## 1469 1
## 1470 1
Se realiza una verificacion del tipo de datos despues de aplicar el One Hot Encoding
## Edad Ingreso_Mensual Años_Experiencia
## "numeric" "numeric" "numeric"
## y1 Genero_M Director_Investigación
## "numeric" "numeric" "numeric"
## Ejecutivo_Ventas Gerente Investigador_Cientifico
## "numeric" "numeric" "numeric"
## Recursos_Humanos Representante_Salud Representante_Ventas
## "numeric" "numeric" "numeric"
## Tecnico_Laboratorio Soltero Casado
## "numeric" "numeric" "numeric"
A continuacion se realiza la construccion del modelo de regresion con las variables seleccionadas.
##
## Call:
## glm(formula = y1 ~ ., family = "binomial", data = Rotacion_var_sel_One_Hot_Encoded)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.3213 -0.6290 -0.4791 -0.2747 2.7709
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -2.547e+00 5.775e-01 -4.410 1.03e-05 ***
## Edad -1.713e-02 1.128e-02 -1.518 0.128953
## Ingreso_Mensual 5.441e-05 4.955e-05 1.098 0.272223
## Años_Experiencia -2.703e-02 1.995e-02 -1.355 0.175488
## Genero_M 1.394e-01 1.554e-01 0.897 0.369620
## Director_Investigación -1.164e+00 8.734e-01 -1.333 0.182478
## Ejecutivo_Ventas 9.783e-01 3.632e-01 2.694 0.007068 **
## Gerente -4.040e-01 7.059e-01 -0.572 0.567090
## Investigador_Cientifico 8.873e-01 4.081e-01 2.174 0.029680 *
## Recursos_Humanos 1.505e+00 4.894e-01 3.076 0.002100 **
## Representante_Salud 4.325e-02 4.805e-01 0.090 0.928271
## Representante_Ventas 1.992e+00 4.496e-01 4.430 9.43e-06 ***
## Tecnico_Laboratorio 1.424e+00 4.029e-01 3.535 0.000408 ***
## Soltero 9.964e-01 2.192e-01 4.546 5.48e-06 ***
## Casado 2.003e-01 2.228e-01 0.899 0.368683
## ---
## 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: 1164.5 on 1455 degrees of freedom
## AIC: 1194.5
##
## Number of Fisher Scoring iterations: 6
Al analizar los resultados obtenidos del modelo de regresion se puede evidenciar que:
Las variables Cargo\(Representante_Ventas** , **CargoTecnico_Laboratorio** y **Estado_Civil\)Soltero son las mas significativas en el modelo aumentando la probabilidad de rotacion
En segundo nivel de significancia se encuentran las variables
CargoEjecutivo_Ventas y
CargoRecursos_Humanos
En tercer nivel de significancia se encuentran la variable CargoInvestigador_Cientifico
La variable que disminuye en mayor proporcion la probabilidad de rotacion es Ingreso_Mensual
## (Intercept) Edad Ingreso_Mensual
## 0.07832495 0.98301273 1.00005441
## Años_Experiencia Genero_M Director_Investigación
## 0.97333157 1.14956619 0.31212129
## Ejecutivo_Ventas Gerente Investigador_Cientifico
## 2.65980987 0.66764292 2.42844591
## Recursos_Humanos Representante_Salud Representante_Ventas
## 4.50489864 1.04420351 7.32675471
## Tecnico_Laboratorio Soltero Casado
## 4.15390437 2.70846109 1.22174878
Los coeficientes del modelo evidencian que lo que mas influye en la rotacion del personal son los cargos, en especial el cargo de Representante_Ventas el cual incrementa en 7.3 veces la probabilidad de rotacion, seguido de Recursos_Humanos con 4.5 y Tecnico_Laboratorio con 4.1.
Con este analisis se realizara la evaluacion de las varianzas y asi determinar que variables son significativas para el modelo
## Analysis of Deviance Table
##
## Model: binomial, link: logit
##
## Response: y1
##
## Terms added sequentially (first to last)
##
##
## Df Deviance Resid. Df Resid. Dev Pr(>Chi)
## NULL 1469 1298.6
## Edad 1 39.519 1468 1259.1 3.249e-10 ***
## Ingreso_Mensual 1 18.126 1467 1240.9 2.068e-05 ***
## Años_Experiencia 1 2.388 1466 1238.5 0.122296
## Genero_M 1 0.654 1465 1237.9 0.418560
## Director_Investigación 1 2.691 1464 1235.2 0.100926
## Ejecutivo_Ventas 1 1.544 1463 1233.7 0.214033
## Gerente 1 0.005 1462 1233.7 0.942073
## Investigador_Cientifico 1 3.796 1461 1229.9 0.051375 .
## Recursos_Humanos 1 0.318 1460 1229.5 0.572782
## Representante_Salud 1 6.917 1459 1222.6 0.008540 **
## Representante_Ventas 1 10.048 1458 1212.6 0.001525 **
## Tecnico_Laboratorio 1 15.570 1457 1197.0 7.951e-05 ***
## Soltero 1 31.705 1456 1165.3 1.795e-08 ***
## Casado 1 0.824 1455 1164.5 0.363952
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Luego de obtener los resultados de la tabla Anova se observa que las varables significativas para el modelo son Edad, Ingreso_Mensual,Soltero, Representante_Ventas y por ultimo Representante_Salud, se debe revisar la posibilidad de eliminar el resto de variables del modelo.
## Edad Ingreso_Mensual Años_Experiencia
## 1.663720 5.250600 2.748118
## Genero_M Director_Investigación Ejecutivo_Ventas
## 1.014562 1.462361 4.479101
## Gerente Investigador_Cientifico Recursos_Humanos
## 2.275469 4.990652 2.032557
## Representante_Salud Representante_Ventas Tecnico_Laboratorio
## 1.816191 3.370150 5.483663
## Soltero Casado
## 2.144429 2.121383
## predicciones
## observaciones 0 1
## 0 916 317
## 1 92 145
La matriz de confusion nos evidencia que el modelo identifica que 916
observaciones corresponden a no rotacion, 317 fueron falsos positivos,
145 fueron rotaciones correctamente identificadas y 92 fueron falsos
positivos.
sum(diag(result1)/sum(result1))
## [1] 0.7217687
Se puede afirmar que la bondad del modelo es de aproximadamente del 72%
library(pROC)
AUClog <- auc(roc_obj)
cat("AUC: ", round(AUClog,2),"%", "\n")
## AUC: 72.58 %
newdata = data.frame(
Soltero = 1,
Edad = 35,
Director_Investigación=0,
Recursos_Humanos=0,
Años_Experiencia = 1,
Ingreso_Mensual = 8000,
Ejecutivo_Ventas=0,
Representante_Salud=0,
Casado=0,
Representante_Ventas = 1,
Genero_M = 1,
Investigador_Cientifico=0,
Tecnico_Laboratorio=0,
Gerente=0)
predict(object = modelol_1, newdata = newdata, type = 'response')
## 1
## 0.5960336
El individuo con las caracteristicas evaluadas tiene una probabilidad de rotacion de 59.6%, lo que sugiere que un incremento de los Ingresos_Mensuales pude contribuir a la disminucion de la rotacion.