Introduccion

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.

Carga de Datos

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.

Primeras 6

## # 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>

Ultimas 6

## # 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>

Analisis Exploratorio

Estructura de Los Datos

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 ...

Seleccion de Variables de Interes

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

Verificacion de Datos Faltantes

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

revision de Variables Categoricas

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

Analisis Univariado

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.

Analisis Univariado de Variables Categoricas

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.

Analisis Univariado de Variables Cuantitativas

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.

Visualizacion de Estadisticos

##    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

Transformacion Categorica-Binaria

Se realiza la transformacion de la variable categorica rotacion a Binaria definiendo el valor rotacion== “Si” = 1

Analisis Bivariado en Funcion del Indice de Rotacion

Analisis Bivariado de Variables Categoricas

## 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"

Regresion Logistica

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:

##             (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.

Analisis Anova

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.

Factor de Infalcion de Varianza VIF

##                    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%

Analisis ROC

library(pROC)
AUClog <- auc(roc_obj)

cat("AUC: ", round(AUClog,2),"%", "\n")
## AUC:  72.58 %

Analisis de Individuo

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.