##1. Selección de variables

Seleccione 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que se consideren estén relacionadas con la rotación.

  1. Satisfacción laboral

Se espera que la Satisfacción laboral se relacione con la rotación debido a que un empleado con una satisfacción laboral baja buscara otras oportunidades laborales que llenen sus expectativas.

  1. Estado Civil

Se espera que el estado civil se relacione con la rotación debido a que un empleado soltero tomara decisiones más arriesgadas y no se preocupara tanto por la estabilidad o continuidad laboral.

  1. Equilibrio Trabajo Vida

Se espera que el Equilibrio Trabajo Vida se relacione con la rotación debido a que un empleado con un equilibrio trabajo vida bajo buscara otras oportunidades laborales que permitan mejorar sus condiciones de vida o disfrutar de su tiempo libre.

  1. Edad

Se espera que el estado civil se relacione con la rotación debido a que un empleado joven tomara decisiones más arriesgadas y no se preocupara tanto por la estabilidad o continuidad laboral.

  1. Trabajos Anteriores

Se espera que la cantidad de Trabajos Anteriores se relacione con la rotación debido a que un empleado con muchos trabajos anteriores puede indicar que la rotación es costumbre en sus ámbito laboral.

  1. Porcentaje Aumento Salarial

Se espera que el Porcentaje Aumento Salarial se relacione con la rotación debido a que un empleado con porcentaje bajo de aumento salarial puede buscar otras oportunidades laborales que permitan mejorar sus condiciones económicas.

##2. Análisis Univariado

Realiza un análisis univariado (caracterización) de la información contenida en la base de datos rotación.

Para realizar el análisis univariado segmentaremos la base de datos en dos, una base cuantitativa y otra cualitativa.

Iniciando por la base cuantitativa:

# Cargar los datos de rotación
rot_cuantiativa <- rotacion[, c("Rotación", "Edad", "Distancia_Casa", "Ingreso_Mensual", "Trabajos_Anteriores", "Porcentaje_aumento_salarial", "Años_Experiencia", "Capacitaciones", "Antigüedad", "Antigüedad_Cargo", "Años_ultima_promoción", "Años_acargo_con_mismo_jefe")]

# Crear un marco de datos vacío para resumir estadísticas
summary_df <- data.frame(
  Variable = character(1),
  Minimum = numeric(1),
  Q1 = numeric(1),
  Median = numeric(1),
  Mean = numeric(1),
  Q3 = numeric(1),
  Maximum = numeric(1)
)

# Obtener los nombres de las columnas
column_names <- colnames(rot_cuantiativa)

# Loop a través de las columnas
for (col in column_names) {
  
  # Verificar si la columna es numérica
  if (is.numeric(rot_cuantiativa[[col]])) {
    
    # Configurar una disposición de gráficos de 1 fila y 2 columnas
    par(mfrow=c(1,2))
    
    # Crear un histograma
    hist(rot_cuantiativa[[col]], main = paste("Histograma de", col), xlab = col)
    
    # Crear un diagrama de caja
    boxplot(rot_cuantiativa[[col]], main = paste("Diagrama de caja de", col), ylab = col)
    
    # Restaurar la disposición de gráficos a la configuración predeterminada
    par(mfrow=c(1,1))
    
    # Imprimir una línea en blanco para separar las salidas
    cat("\n\n")
    
    # Resumir estadísticas descriptivas y agregarlas al marco de datos
    summary_stats <- summary(rot_cuantiativa[[col]])
    summary_df <- rbind(summary_df, c(Variable = col, summary_stats))
  }
}

# Imprimir la tabla de resumen
kable(summary_df)
Variable Minimum Q1 Median Mean Q3 Maximum
0 0 0 0 0 0
Edad 18 30 36 36.9244897959184 43 60
Distancia_Casa 1 2 7 9.19251700680272 14 29
Ingreso_Mensual 1009 2911 4919 6502.93129251701 8379 19999
Trabajos_Anteriores 0 1 2 2.69319727891156 4 9
Porcentaje_aumento_salarial 11 12 14 15.2095238095238 18 25
Años_Experiencia 0 6 10 11.2795918367347 15 40
Capacitaciones 0 2 3 2.79931972789116 3 6
Antigüedad 0 3 5 7.00816326530612 9 40
Antigüedad_Cargo 0 2 3 4.22925170068027 7 18
Años_ultima_promoción 0 0 1 2.18775510204082 3 15
Años_acargo_con_mismo_jefe 0 2 3 4.12312925170068 7 17

De las variables cuantitativas seleccionadas en el punto número 1 se puede decir que:

Siguiendo por la base cualitativa:

# Cargar los datos de rotación
rot_cualitativa <- rotacion[, c("Rotación", "Viaje de Negocios", "Departamento", "Educación", "Campo_Educación", "Satisfacción_Ambiental", "Genero", "Cargo", "Satisfación_Laboral", "Estado_Civil", "Horas_Extra", "Rendimiento_Laboral", "Equilibrio_Trabajo_Vida")]

# Obtener los nombres de las columnas categóricas
columnas_categoricas <- colnames(rot_cualitativa)

# Loop a través de las columnas categóricas
for (col in columnas_categoricas) {
  # Configurar una disposición de gráficos de 1 fila y 2 columnas
  par(mfrow=c(1,2))
  
  # Calcular frecuencia absoluta y relativa de cada categoría
  frecuencia_absoluta <- table(rot_cualitativa[[col]])
  frecuencia_relativa <- prop.table(frecuencia_absoluta)
  
  # Crear una tabla de frecuencias
  tabla_frecuencias <- data.frame(Categoria = names(frecuencia_absoluta),
                                  Frecuencia_Absoluta = as.numeric(frecuencia_absoluta),
                                  Frecuencia_Relativa = as.numeric(frecuencia_relativa))
  
  # Crear un gráfico de barras para la frecuencia absoluta
  barplot(frecuencia_absoluta, main = paste("Frecuencia Absoluta de", col),
          xlab = "Categoría", ylab = "Frecuencia Absoluta")
  
  # Crear un gráfico de pastel para la frecuencia absoluta
  pie(frecuencia_absoluta, main = paste("Frecuencia Absoluta de", col))
  
  # Calcular la moda y el número de categorías únicas
  moda <- names(frecuencia_absoluta)[which.max(frecuencia_absoluta)]
  categorias_unicas <- length(unique(rot_cualitativa[[col]]))
  
  # Imprimir la moda y el número de categorías únicas
  cat("La moda de", col, "es:", moda, "\n")
  cat("Número de categorías únicas en", col, ":", categorias_unicas, "\n")
  
  # Imprimir información adicional
  cat("La variable", col, "presenta la categoría más frecuente:", moda, "\n")
  cat("Hay un total de", categorias_unicas, "categorías únicas en los datos.", "\n")
  
  # Imprimir una línea en blanco para separar las salidas
  cat("\n\n")
  
  # Restaurar la disposición de gráficos a la configuración predeterminada
  par(mfrow=c(1,1))
}

## La moda de Rotación es: No 
## Número de categorías únicas en Rotación : 2 
## La variable Rotación presenta la categoría más frecuente: No 
## Hay un total de 2 categorías únicas en los datos.

## La moda de Viaje de Negocios es: Raramente 
## Número de categorías únicas en Viaje de Negocios : 3 
## La variable Viaje de Negocios presenta la categoría más frecuente: Raramente 
## Hay un total de 3 categorías únicas en los datos.

## La moda de Departamento es: IyD 
## Número de categorías únicas en Departamento : 3 
## La variable Departamento presenta la categoría más frecuente: IyD 
## Hay un total de 3 categorías únicas en los datos.

## La moda de Educación es: 3 
## Número de categorías únicas en Educación : 5 
## La variable Educación presenta la categoría más frecuente: 3 
## Hay un total de 5 categorías únicas en los datos.

## La moda de Campo_Educación es: Ciencias 
## Número de categorías únicas en Campo_Educación : 6 
## La variable Campo_Educación presenta la categoría más frecuente: Ciencias 
## Hay un total de 6 categorías únicas en los datos.

## La moda de Satisfacción_Ambiental es: 3 
## Número de categorías únicas en Satisfacción_Ambiental : 4 
## La variable Satisfacción_Ambiental presenta la categoría más frecuente: 3 
## Hay un total de 4 categorías únicas en los datos.

## La moda de Genero es: M 
## Número de categorías únicas en Genero : 2 
## La variable Genero presenta la categoría más frecuente: M 
## Hay un total de 2 categorías únicas en los datos.

## La moda de Cargo es: Ejecutivo_Ventas 
## Número de categorías únicas en Cargo : 9 
## La variable Cargo presenta la categoría más frecuente: Ejecutivo_Ventas 
## Hay un total de 9 categorías únicas en los datos.

## La moda de Satisfación_Laboral es: 4 
## Número de categorías únicas en Satisfación_Laboral : 4 
## La variable Satisfación_Laboral presenta la categoría más frecuente: 4 
## Hay un total de 4 categorías únicas en los datos.

## La moda de Estado_Civil es: Casado 
## Número de categorías únicas en Estado_Civil : 3 
## La variable Estado_Civil presenta la categoría más frecuente: Casado 
## Hay un total de 3 categorías únicas en los datos.

## La moda de Horas_Extra es: No 
## Número de categorías únicas en Horas_Extra : 2 
## La variable Horas_Extra presenta la categoría más frecuente: No 
## Hay un total de 2 categorías únicas en los datos.

## La moda de Rendimiento_Laboral es: 3 
## Número de categorías únicas en Rendimiento_Laboral : 2 
## La variable Rendimiento_Laboral presenta la categoría más frecuente: 3 
## Hay un total de 2 categorías únicas en los datos.

## La moda de Equilibrio_Trabajo_Vida es: 3 
## Número de categorías únicas en Equilibrio_Trabajo_Vida : 4 
## La variable Equilibrio_Trabajo_Vida presenta la categoría más frecuente: 3 
## Hay un total de 4 categorías únicas en los datos.

##3. Análisis bivariado

Realiza un análisis bivariado en donde la variable respuesta sea rotación codificada de la siguiente manera (y=1 es si rotación, 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 1

# Renombrar columnas con espacios en los nombres
names(rotacion)[names(rotacion) == 'Viaje de Negocios'] <- 'Viaje_de_Negocios'
names(rotacion)[names(rotacion) == 'Satisfación_Laboral'] <- 'Satisfacion_Laboral'

# Crear variables binarias basadas en valores categóricos
rotacion$rot_binaria <- ifelse(rotacion$Rotación == "Si", 1, 0)

rotacion$Viaje_Negocios_Frecuente <- ifelse(rotacion$Viaje_de_Negocios == "Frecuentemente", 1, 0)
rotacion$Viaje_Negocios_NoViaja <- ifelse(rotacion$Viaje_de_Negocios == "No_Viaja", 1, 0)
rotacion$Viaje_Negocios_Raramente <- ifelse(rotacion$Viaje_de_Negocios == "Raramente", 1, 0)

rotacion$Dpto_IyD <- ifelse(rotacion$Departamento == "IyD", 1, 0)
rotacion$Dpto_RH <- ifelse(rotacion$Departamento == "RH", 1, 0)
rotacion$Dpto_Ventas <- ifelse(rotacion$Departamento == "Ventas", 1, 0)

rotacion$CampoEd_Ciencias <- ifelse(rotacion$Campo_Educación == "Ciencias", 1, 0)
rotacion$CampoEd_Humanidades <- ifelse(rotacion$Campo_Educación == "Humanidades", 1, 0)
rotacion$CampoEd_Mercadeo <- ifelse(rotacion$Campo_Educación == "Mercadeo", 1, 0)
rotacion$CampoEd_Salud <- ifelse(rotacion$Campo_Educación == "Salud", 1, 0)
rotacion$CampoEd_Tecnicos <- ifelse(rotacion$Campo_Educación == "Tecnicos", 1, 0)

rotacion$Genero_Dummy <- ifelse(rotacion$Genero == "M", 1, 0)

rotacion$Cargo_Director_Investigación <- ifelse(rotacion$Cargo == "Director_Investigación", 1, 0)
rotacion$Cargo_Director_Manofactura <- ifelse(rotacion$Cargo == "Director_Manofactura", 1, 0)
rotacion$Cargo_Ejecutivo_Ventas <- ifelse(rotacion$Cargo == "Ejecutivo_Ventas", 1, 0)
rotacion$Cargo_Gerente <- ifelse(rotacion$Cargo == "Gerente", 1, 0)
rotacion$Cargo_Investigador_Cientifico <- ifelse(rotacion$Cargo == "Investigador_Cientifico", 1, 0)
rotacion$Cargo_Recursos_Humanos <- ifelse(rotacion$Cargo == "Recursos_Humanos", 1, 0)
rotacion$Cargo_Representante_Salud <- ifelse(rotacion$Cargo == "Representante_Salud", 1, 0)
rotacion$Cargo_Representante_Ventas <- ifelse(rotacion$Cargo == "Representante_Ventas", 1, 0)
rotacion$Cargo_Tecnico_Laboratorio <- ifelse(rotacion$Cargo == "Tecnico_Laboratorio", 1, 0)

rotacion$Estado_Civil_Casado <- ifelse(rotacion$Estado_Civil == "Casado", 1, 0)
rotacion$Estado_Civil_Divorciado <- ifelse(rotacion$Estado_Civil == "Divorciado", 1, 0)
rotacion$Estado_Civil_Soltero <- ifelse(rotacion$Estado_Civil == "Soltero", 1, 0)

rotacion$Horas_Extra_Dummy <- ifelse(rotacion$Horas_Extra == "Si", 1, 0)

# Ajustar un modelo de regresión logística
modelo_logistico <- glm(rot_binaria ~ Edad + Distancia_Casa + Ingreso_Mensual + Trabajos_Anteriores + Porcentaje_aumento_salarial + Años_Experiencia + Capacitaciones + Antigüedad + Antigüedad_Cargo + Años_ultima_promoción + Años_acargo_con_mismo_jefe + Viaje_Negocios_Frecuente + Viaje_Negocios_NoViaja  + Dpto_IyD + Dpto_RH + Educación + CampoEd_Ciencias + CampoEd_Humanidades + CampoEd_Mercadeo + CampoEd_Salud + CampoEd_Tecnicos + Satisfacción_Ambiental + Genero_Dummy + Cargo_Director_Investigación + Cargo_Director_Manofactura + Cargo_Ejecutivo_Ventas + Cargo_Gerente + Cargo_Investigador_Cientifico + Cargo_Recursos_Humanos + Cargo_Representante_Salud + Cargo_Representante_Ventas  + Satisfacion_Laboral + Estado_Civil_Casado + Estado_Civil_Divorciado + Horas_Extra_Dummy + Rendimiento_Laboral + Equilibrio_Trabajo_Vida, data = rotacion, family = "binomial")

# Resumen del modelo
summary(modelo_logistico)
## 
## Call:
## glm(formula = rot_binaria ~ Edad + Distancia_Casa + Ingreso_Mensual + 
##     Trabajos_Anteriores + Porcentaje_aumento_salarial + Años_Experiencia + 
##     Capacitaciones + Antigüedad + Antigüedad_Cargo + Años_ultima_promoción + 
##     Años_acargo_con_mismo_jefe + Viaje_Negocios_Frecuente + 
##     Viaje_Negocios_NoViaja + Dpto_IyD + Dpto_RH + Educación + 
##     CampoEd_Ciencias + CampoEd_Humanidades + CampoEd_Mercadeo + 
##     CampoEd_Salud + CampoEd_Tecnicos + Satisfacción_Ambiental + 
##     Genero_Dummy + Cargo_Director_Investigación + Cargo_Director_Manofactura + 
##     Cargo_Ejecutivo_Ventas + Cargo_Gerente + Cargo_Investigador_Cientifico + 
##     Cargo_Recursos_Humanos + Cargo_Representante_Salud + Cargo_Representante_Ventas + 
##     Satisfacion_Laboral + Estado_Civil_Casado + Estado_Civil_Divorciado + 
##     Horas_Extra_Dummy + Rendimiento_Laboral + Equilibrio_Trabajo_Vida, 
##     family = "binomial", data = rotacion)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.7938  -0.5091  -0.2716  -0.0994   3.4048  
## 
## Coefficients:
##                                 Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                    3.243e+00  1.588e+00   2.042 0.041107 *  
## Edad                          -3.655e-02  1.328e-02  -2.753 0.005899 ** 
## Distancia_Casa                 4.250e-02  1.046e-02   4.063 4.85e-05 ***
## Ingreso_Mensual               -9.588e-07  5.854e-05  -0.016 0.986932    
## Trabajos_Anteriores            1.756e-01  3.746e-02   4.688 2.76e-06 ***
## Porcentaje_aumento_salarial   -2.302e-02  3.805e-02  -0.605 0.545193    
## Años_Experiencia              -5.408e-02  2.782e-02  -1.944 0.051874 .  
## Capacitaciones                -1.828e-01  7.125e-02  -2.566 0.010301 *  
## Antigüedad                     9.630e-02  3.750e-02   2.568 0.010220 *  
## Antigüedad_Cargo              -1.414e-01  4.386e-02  -3.224 0.001264 ** 
## Años_ultima_promoción          1.787e-01  4.112e-02   4.345 1.39e-05 ***
## Años_acargo_con_mismo_jefe    -1.563e-01  4.599e-02  -3.399 0.000677 ***
## Viaje_Negocios_Frecuente       8.215e-01  2.062e-01   3.984 6.78e-05 ***
## Viaje_Negocios_NoViaja        -9.414e-01  3.654e-01  -2.576 0.009990 ** 
## Dpto_IyD                      -1.231e-01  1.023e+00  -0.120 0.904238    
## Dpto_RH                       -1.305e+01  3.780e+02  -0.035 0.972468    
## Educación                     -1.149e-02  8.552e-02  -0.134 0.893169    
## CampoEd_Ciencias              -5.979e-02  4.024e-01  -0.149 0.881890    
## CampoEd_Humanidades            7.744e-01  8.445e-01   0.917 0.359176    
## CampoEd_Mercadeo               3.225e-01  4.753e-01   0.679 0.497431    
## CampoEd_Salud                 -1.734e-01  4.094e-01  -0.424 0.671891    
## CampoEd_Tecnicos               8.684e-01  4.565e-01   1.902 0.057154 .  
## Satisfacción_Ambiental        -4.424e-01  8.119e-02  -5.449 5.05e-08 ***
## Genero_Dummy                   3.248e-01  1.795e-01   1.809 0.070386 .  
## Cargo_Director_Investigación  -2.587e+00  1.018e+00  -2.541 0.011041 *  
## Cargo_Director_Manofactura    -1.318e+00  4.462e-01  -2.954 0.003132 ** 
## Cargo_Ejecutivo_Ventas        -5.983e-01  1.058e+00  -0.565 0.571771    
## Cargo_Gerente                 -1.340e+00  9.312e-01  -1.439 0.150022    
## Cargo_Investigador_Cientifico -9.439e-01  2.607e-01  -3.620 0.000294 ***
## Cargo_Recursos_Humanos         1.260e+01  3.780e+02   0.033 0.973407    
## Cargo_Representante_Salud     -1.550e+00  4.671e-01  -3.319 0.000905 ***
## Cargo_Representante_Ventas     3.750e-01  1.070e+00   0.350 0.726095    
## Satisfacion_Laboral           -4.048e-01  7.925e-02  -5.109 3.24e-07 ***
## Estado_Civil_Casado           -1.033e+00  1.941e-01  -5.323 1.02e-07 ***
## Estado_Civil_Divorciado       -1.431e+00  2.582e-01  -5.541 3.00e-08 ***
## Horas_Extra_Dummy              1.872e+00  1.869e-01  10.014  < 2e-16 ***
## Rendimiento_Laboral            1.702e-01  3.889e-01   0.438 0.661621    
## Equilibrio_Trabajo_Vida       -3.654e-01  1.207e-01  -3.027 0.002470 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1298.58  on 1469  degrees of freedom
## Residual deviance:  893.23  on 1432  degrees of freedom
## AIC: 969.23
## 
## Number of Fisher Scoring iterations: 14

Según el modelo las variables más significativas son las siguientes:

-Edad: Coeficiente negativo, implica que un aumento en la edad disminuye la probabilidad de que se de rotación de personal. Lo cual es acorde a los supuestos o hipótesis del punto número 1.

-Distancia Casa: Coeficiente positivo, implica que un aumento en la distancia a casa aumenta la probabilidad de que se de rotación de personal.

-Trabajos Anteriores: Coeficiente positivo, implica que un aumento en la cantidad de trabajos anteriores aumenta la probabilidad de que se de rotación de personal. Lo cual es acorde a los supuestos o hipótesis del punto número 1.

-Capacitaciones: Coeficiente negativo, implica que un aumento en las capacitaciones disminuye la probabilidad de que se de rotación de personal.

-Antigüedad: Coeficiente positivo, implica que un aumento en la antigüedad aumenta la probabilidad de que se de rotación de personal.

-Antigüedad Cargo: Coeficiente negativo, implica que un aumento en la antigüedad del cargo disminuye la probabilidad de que se de rotación de personal. Sin embargo, se contradice con el coeficiente positivo de la variable Antigüedad.

-Años_ultima_promoción: Coeficiente positivo, implica que un aumento en el tiempo desde la última promoción aumenta la probabilidad de que se de rotación de personal.

-Años_acargo_con_mismo_jefe: Coeficiente negativo, implica que un aumento los años con el mismo jefe disminuye la probabilidad de que se de rotación de personal.

-Viaje_Negocios_Frecuente: Coeficiente positivo, implica que un aumento la frecuencia de los viajes de negocio aumenta la probabilidad de que se de rotación de personal.

-Viaje_Negocios_NoViaja: Coeficiente negativo, implica que un aumento en el no viajar disminuye la probabilidad de que se de rotación de personal.

-Satisfacción_Ambiental: Coeficiente negativo, implica que un aumento en la satisfacción ambiental disminuye la probabilidad de que se de rotación de personal.

-Cargo_Director_Investigación: Coeficiente negativo, implica que el ser parte del cargo de director investigativo disminuye la probabilidad de que se de rotación de personal.

-Cargo_Director_Manofactura: Coeficiente negativo, implica que el ser parte del cargo de director de manufactura disminuye la probabilidad de que se de rotación de personal.

-Cargo_Investigador_Cientifico: Coeficiente negativo, implica que el ser parte del cargo de investigador cientifico disminuye la probabilidad de que se de rotación de personal.

-Cargo_Representante_Salud: Coeficiente negativo, implica que el ser parte del cargo de representante de salud disminuye la probabilidad de que se de rotación de personal.

-Satisfacion_Laboral: Coeficiente negativo, implica que el aumento de la satisfacción laboral disminuye la probabilidad de que se de rotación de personal. Lo cual es acorde a los supuestos o hipótesis del punto número 1.

-Estado_Civil_Casado: Coeficiente negativo, implica que el estar casado disminuye la probabilidad de que se de rotación de personal. Lo cual es acorde a los supuestos o hipótesis del punto número 1.

-Estado_Civil_Divorciado: Coeficiente negativo, implica que el estar divorciado disminuye la probabilidad de que se de rotación de personal. Lo cual es acorde a los supuestos o hipótesis del punto número 1.

-Horas_Extra_Dummy:Coeficiente positivo, implica que el persona que realiza horas extra aumenta la probabilidad de que se de rotación de personal.

-Equilibrio_Trabajo_Vida: Coeficiente negativo, implica que un aumento del equilibrio de trabajo vida disminuye la probabilidad de que se de rotación de personal. Lo cual es acorde a los supuestos o hipótesis del punto número 1.

##4. Estimación del modelo

Realiza la estimación de un modelo de regresión logístico en el cual la variable respuesta es rotación (es si rotación, 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.

# Ajustar un modelo de regresión logística

modelo_logistico <- glm(rot_binaria ~ Edad + Trabajos_Anteriores + Porcentaje_aumento_salarial + Satisfacion_Laboral + Estado_Civil_Soltero  + Equilibrio_Trabajo_Vida, data = rotacion, family = "binomial")

# Resumen del modelo

summary(modelo_logistico)
## 
## Call:
## glm(formula = rot_binaria ~ Edad + Trabajos_Anteriores + Porcentaje_aumento_salarial + 
##     Satisfacion_Laboral + Estado_Civil_Soltero + Equilibrio_Trabajo_Vida, 
##     family = "binomial", data = rotacion)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.5505  -0.6251  -0.4707  -0.3356   2.7512  
## 
## Coefficients:
##                              Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                  1.379302   0.565062   2.441 0.014648 *  
## Edad                        -0.057600   0.009369  -6.148 7.85e-10 ***
## Trabajos_Anteriores          0.106544   0.029547   3.606 0.000311 ***
## Porcentaje_aumento_salarial -0.008944   0.020570  -0.435 0.663709    
## Satisfacion_Laboral         -0.270277   0.066241  -4.080 4.50e-05 ***
## Estado_Civil_Soltero         0.896226   0.149854   5.981 2.22e-09 ***
## Equilibrio_Trabajo_Vida     -0.287965   0.101949  -2.825 0.004734 ** 
## ---
## 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: 1187.4  on 1463  degrees of freedom
## AIC: 1201.4
## 
## Number of Fisher Scoring iterations: 5

Coeficiente negativo, implica que un aumento en la edad disminuye la probabilidad de que se de rotación de personal en -0.057600.

Coeficiente positivo, implica que un aumento en la cantidad de trabajos anteriores aumenta la probabilidad de que se de rotación de personal en 0.106544.

Coeficiente negativo, implica que el aumento de la satisfacción laboral disminuye la probabilidad de que se de rotación de personal en -0.27027.

Coeficiente positivo, implica que el estar soltero aumenta la probabilidad de que se de rotación de personal en 0.896226.

Coeficiente negativo, implica que un aumento del equilibrio de trabajo vida disminuye la probabilidad de que se de rotación de personal en -0.287965.

##5. Evaluación

Evaluar el poder predictivo del modelo con base en la curva ROC y el AUC

# Obtener las probabilidades predichas del modelo
predicciones <- predict(modelo_logistico, type = "response")

# Crear un objeto ROC con las probabilidades y la variable de respuesta binaria
roc_obj <- roc(rotacion$rot_binaria, predicciones)
## Setting levels: control = 0, case = 1
## Setting direction: controls < cases
# Dibujar la Curva ROC
plot(roc_obj, main = "Curva ROC")
abline(a = 0, b = 1, col = "gray", lty = 2)

# Calcular el AUC
auc_resultado <- auc(roc_obj)
cat("Área bajo la Curva ROC (AUC):", auc_resultado, "\n")
## Área bajo la Curva ROC (AUC): 0.7043299

El área bajo la Curva ROC es cercana a 1 con un valor de 0.704 indica que el modelo tiene un poder predictivo moderado, el cual se puede mejorar si consideramos diferentes modelos con diferentes variables que puedan explicar mejor el comportamiento de la rotación de personal.

##6. Predicciones

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

Para el desarrollo de este punto vamos a suponer a un individuo con las siguientes características

Edad: 27 años Trabajos Anteriores: 5 trabajos Porcentaje_aumento_salarial: 5 Satisfacion_Laboral: 2 Estado_Civil_Soltero: SI Equilibrio_Trabajo_Vida: 2

y vamos a variar dos características que puede controlar o sobre las que la empresa puede incidir como la Satisfacion_Laboral y Equilibrio_Trabajo_Vida para ver el efecto de estas dos variables.

# Crear un data frame con nuevos datos para hacer predicciones

nuevos_datos <- data.frame(
  Edad = c(27, 27),
  Trabajos_Anteriores = c(5, 5),
  Porcentaje_aumento_salarial = c(5, 5),
  Satisfacion_Laboral = c(2, 4),
  Estado_Civil_Soltero = c(1, 1),
  Equilibrio_Trabajo_Vida = c(2, 4)
  # Agrega las demás variables predictoras según corresponda
)

# Realizar predicciones con el modelo
predicciones <- predict(modelo_logistico, nuevos_datos, type = "response")

# Las predicciones contendrán las probabilidades de pertenecer a la clase positiva (1)

umbral <- 0.5 
clases_predichas <- ifelse(predicciones >= umbral, 1, 0)

# Las clases_predichas ahora contendrán las predicciones binarias

print(clases_predichas)
## 1 2 
## 1 0

El individuo debe ser intervenido con el objetivo de mejorar su satisfacción laboral y el equilibrio trabajo vida, ya que estas dos variables son sobre las cuales la empresa puede intervenir. según el modelo al generar un aumento únicamente en esas dos variables podría evitarse la rotación de esta persona.

##7. Conclusiones

En las conclusiones adicione una discusió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).

Basado en los resultados del punto 3 se puede decir que una estrategia para disminuir la rotación puede estar enfocada en dos momentos, el momento de contratación del personal nuevo y el momento en el que ya se encuentran trabajando.

El primer momento se debe enfocar en aquellas variables que la empresa no puede controlar, con el objetivo de clasificar al personal que se postula para prevenir la contratación de personas propensas a la rotación. En este caso se evaluarían las siguientes variables:

-Edad: Se le daría prioridad a personal no tan joven, que se encuentren cercanos al promedio de la empresa en edad.

-Distancia a casa: Se le daría prioridad a personal que no viva lejos o que tenga la posibilidad de cambiar de residencia a un lugar más cercano.

-Trabajos Anteriores: Se le daría prioridad a personal que no haya tenido muchos trabajos, ya que esto puede indicar que la rotación es constante en su vida laboral.

-Estado Civil: Se le daría prioridad a personal casado o con pareja estable, debido a que las personas solteras pueden ser más propensas a la rotación.

El segundo momento se debe enfocar en aquellas variables que la empresa puede controlar, con el objetivo de mejorar en aspectos internos o en condiciones que generen satisfacción en los empleados y de esa forma reducir la probabilidad de rotación.

Siguiendo con las pautas anteriores se mejora la retención del personal y se evita la rotación que finalmente puede ser más costosa que implementar la estrategia aquí planteada.