En una organización, se busca comprender y prever los factores que influyen en la rotación de empleados entre distintos cargos. La empresa ha recopilado datos históricos sobre el empleo de sus trabajadores, incluyendo variables como la antigüedad en el cargo actual, el nivel de satisfacción laboral, el salario actual, edad y otros factores relevantes. La gerencia planea desarrollar un modelo de regresión logística que permita estimar la probabilidad de que un empleado cambie de cargo en el próximo período y determinar cuales factores indicen en mayor proporción a estos cambios.
Con esta información, la empresa podrá tomar medidas proactivas para retener a su talento clave, identificar áreas de mejora en la gestión de recursos humanos y fomentar un ambiente laboral más estable y tranquilo. La predicción de la probabilidad de rotación de empleados ayudará a la empresa a tomar decisiones estratégicas informadas y a mantener un equipo de trabajo comprometido y satisfecho en sus roles actuales.
data("rotacion")
glimpse(rotacion)
## Rows: 1,470
## Columns: 24
## $ Rotación <chr> "Si", "No", "Si", "No", "No", "No", "No", …
## $ Edad <dbl> 41, 49, 37, 33, 27, 32, 59, 30, 38, 36, 35…
## $ `Viaje de Negocios` <chr> "Raramente", "Frecuentemente", "Raramente"…
## $ Departamento <chr> "Ventas", "IyD", "IyD", "IyD", "IyD", "IyD…
## $ Distancia_Casa <dbl> 1, 8, 2, 3, 2, 2, 3, 24, 23, 27, 16, 15, 2…
## $ Educación <dbl> 2, 1, 2, 4, 1, 2, 3, 1, 3, 3, 3, 2, 1, 2, …
## $ Campo_Educación <chr> "Ciencias", "Ciencias", "Otra", "Ciencias"…
## $ Satisfacción_Ambiental <dbl> 2, 3, 4, 4, 1, 4, 3, 4, 4, 3, 1, 4, 1, 2, …
## $ Genero <chr> "F", "M", "M", "F", "M", "M", "F", "M", "M…
## $ Cargo <chr> "Ejecutivo_Ventas", "Investigador_Cientifi…
## $ Satisfación_Laboral <dbl> 4, 2, 3, 3, 2, 4, 1, 3, 3, 3, 2, 3, 3, 4, …
## $ Estado_Civil <chr> "Soltero", "Casado", "Soltero", "Casado", …
## $ Ingreso_Mensual <dbl> 5993, 5130, 2090, 2909, 3468, 3068, 2670, …
## $ Trabajos_Anteriores <dbl> 8, 1, 6, 1, 9, 0, 4, 1, 0, 6, 0, 0, 1, 0, …
## $ Horas_Extra <chr> "Si", "No", "Si", "Si", "No", "No", "Si", …
## $ Porcentaje_aumento_salarial <dbl> 11, 23, 15, 11, 12, 13, 20, 22, 21, 13, 13…
## $ Rendimiento_Laboral <dbl> 3, 4, 3, 3, 3, 3, 4, 4, 4, 3, 3, 3, 3, 3, …
## $ Años_Experiencia <dbl> 8, 10, 7, 8, 6, 8, 12, 1, 10, 17, 6, 10, 5…
## $ Capacitaciones <dbl> 0, 3, 3, 3, 3, 2, 3, 2, 2, 3, 5, 3, 1, 2, …
## $ Equilibrio_Trabajo_Vida <dbl> 1, 3, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 2, 3, …
## $ Antigüedad <dbl> 6, 10, 0, 8, 2, 7, 1, 1, 9, 7, 5, 9, 5, 2,…
## $ Antigüedad_Cargo <dbl> 4, 7, 0, 7, 2, 7, 0, 0, 7, 7, 4, 5, 2, 2, …
## $ Años_ultima_promoción <dbl> 0, 1, 0, 3, 2, 3, 0, 0, 1, 7, 0, 0, 4, 1, …
## $ Años_acargo_con_mismo_jefe <dbl> 5, 7, 0, 0, 2, 6, 0, 0, 8, 7, 3, 8, 3, 2, …
A continuación se describen los pasos que la gerencia ha propuesto para el análisis:
Seleccione 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que se consideren estén relacionadas con la rotación.
Nota: Debes justificar porque estas variables están relacionadas y que tipo de relación se espera entre ellas (Hipótesis).
Hipótesis sobre variables categóricas:
Departamento: Es posible que el departamento en el que trabaja un empleado influya en su rotación. Por ejemplo, es posible que ciertos departamentos tengan tasas de rotación más altas que otros debido a la naturaleza del trabajo.
Estado Civil: El estado civil de un empleado podría estar relacionado con su rotación. Por ejemplo, es posible que los empleados casados tengan una menor probabilidad de rotación debido a responsabilidades familiares.
Horas Extra: Es probable que la cantidad de horas extras trabajadas por un empleado esté relacionada con la rotación. Es posible que aquellos que trabajen muchas horas extras tengan una mayor probabilidad de rotación debido a un desgaste laboral.
Hipótesis sobre variables cuantitativas:
Edad: La edad de un empleado podría estar relacionada con la rotación. Se podría hipotetizar que los empleados más jóvenes tienen una mayor probabilidad de rotación debido a la búsqueda de nuevas oportunidades.
Ingreso Mensual: El salario de un empleado puede influir en su decisión de rotar. Es posible que los empleados con salarios más bajos tengan una mayor probabilidad de rotación debido a incentivos económicos.
Años de Experiencia: La experiencia laboral podría estar relacionada con la rotación. Es posible que los empleados con menos años de experiencia tengan una mayor probabilidad de rotación debido a la búsqueda de nuevos desafíos.
Realiza un análisis univariado (caracterización) de la información contenida en la base de datos rotacion.
Nota: Los indicadores o gráficos se usan dependiendo del tipo de variable (cuantitativas o cualitativas). Incluir interpretaciones de la variable rotacion.
Variables Categóricas:
table(rotacion$Rotación)
##
## No Si
## 1233 237
ggplot(rotacion, aes(x = Rotación)) +
geom_bar(fill = "#F6C091") +
labs(title = "Distribución de Rotación de Empleados", x = "Rotación", y = "Frecuencia")
Basándonos en el gráfico, podemos concluir que la mayoría de los empleados en el conjunto de datos no han experimentado rotación. Es importante destacar que la tasa de rotación (proporción de empleados que se han ido) es fundamental para las estrategias de gestión de recursos humanos y la estabilidad organizativa. En este caso, parece que la organización tiene una tasa de rotación relativamente baja, al menos en el período de tiempo capturado por los datos.
table(rotacion$Departamento)
##
## IyD RH Ventas
## 961 63 446
ggplot(rotacion, aes(x = Departamento)) +
geom_bar(fill = "#F6C091") +
labs(title = "Distribución por Departamento", x = "Departamento", y = "Frecuencia")
Se observa que los departamentos con más empleados en el conjunto de datos son “IyD” (Investigación y Desarrollo) y “Ventas”. Los departamentos “IyD” y “Ventas” también tienen una cantidad considerable de empleados. “Recursos Humanos” tiene la menor cantidad de empleados.
table(rotacion$Estado_Civil)
##
## Casado Divorciado Soltero
## 673 327 470
ggplot(rotacion, aes(x = Estado_Civil)) +
geom_bar(fill = "#F6C091") +
labs(title = "Distribución por Estado Civil", x = "Estado Civil", y = "Frecuencia")
Observamos que la categoría de “Casado” tiene la barra más alta, lo que indica que la mayoría de los empleados en el conjunto de datos están casados. Las categorías “Soltero” y “Divorciado” también tienen una cantidad significativa de empleados, pero son menos frecuentes que los casados.
table(rotacion$Horas_Extra)
##
## No Si
## 1054 416
ggplot(rotacion, aes(x = Horas_Extra)) +
geom_bar(fill = "#F6C091") +
labs(title = "Distribución por Horas Extra", x = "Horas Extra", y = "Frecuencia")
Observamos que la categoría “No” (que indica que los empleados no trabajan horas extra) tiene la barra más alta, lo que indica que la mayoría de los empleados no trabajan horas extra. La categoría “Si” (que indica que los empleados trabajan horas extra) tiene una barra más baja en comparación con “No”, lo que sugiere que una proporción menor de empleados trabaja horas extra.
Variables Cuantitativas:
# Histograma para la variable "Edad" con ggplot2
ggplot(rotacion, aes(x = Edad)) +
geom_histogram(binwidth = 5, fill = "#80D298") +
labs(title = "Distribución de Edades", x = "Edad", y = "Frecuencia")
summary(rotacion$Edad)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.00 30.00 36.00 36.92 43.00 60.00
Observamos que la mayoría de los empleados tienen edades entre 25 y 45 años. Hay una ligera asimetría hacia la derecha, lo que sugiere que hay menos empleados de mayor edad en comparación con los más jóvenes. La mayor concentración de empleados parece estar en el grupo de edades de 30 a 35 años, lo que podría indicar una característica demográfica importante de la fuerza laboral. La edad promedio de los empleados está entre 36 y 37 años. a edad mediana es de 36 años, lo que significa que la mitad de los empleados tienen menos de 36 años y la otra mitad tiene más de 36 años. El empleado mas jóven tiene 18 año y el mayor tiene 60 años de edad.
# Boxplot para la variable "Ingreso_Mensual" con ggplot2
ggplot(rotacion, aes(y = Ingreso_Mensual)) +
geom_boxplot(fill = "#80D298") +
labs(title = "Boxplot de Ingreso Mensual", y = "Ingreso Mensual")
summary(rotacion$Ingreso_Mensual)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1009 2911 4919 6503 8379 19999
Observamos que la mediana (línea en el interior de la caja) está en un nivel moderado y que hay algunos valores atípicos superiores que indican empleados con ingresos mensuales significativamente más altos La caja (intercuartil) es bastante ancha, lo que sugiere una variabilidad significativa en los ingresos mensuales entre los empleados. El ingreso mensual promedio de los empleados es aproximadamente 6,502 El ingreso mensual mínimo registrado es 1,009 unidades monetarias. Máximo (Max): El ingreso mensual máximo registrado es 19,999 unidades monetarias.
*Años de experiencia:
# Boxplot para la variable "Ingreso_Mensual" con ggplot2
ggplot(rotacion, aes(x = Años_Experiencia)) +
geom_histogram(binwidth = 2, fill = "#80D298") +
labs(title = "Distribución de Años de Experiencia", x = "Años de Experiencia", y = "Frecuencia")
summary(rotacion$Años_Experiencia)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00 6.00 10.00 11.28 15.00 40.00
El histograma muestra la distribución de los años de experiencia de los empleados. La mayoría de los empleados tienen entre 0 y 10 años de experiencia, con una concentración en los primeros años. Esta distribución sugiere que la mayoría de los empleados son relativamente nuevos en sus roles actuales, pero también hay una cantidad significativa de empleados con experiencia más extensa. La experiencia laboral promedio de los empleados está entre 11 y 12 años. La mediana de la experiencia laboral es de aproximadamente 10 años, lo que significa que la mitad de los empleados tienen menos de 10 años de experiencia laboral y la otra mitad tiene más de 10 años. El empleado máximo es aquel que tiene 40 años de experiencia.
Realiza un análisis de bivariado en donde la variable respuesta sea rotacion 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 hipotesis planteada en el punto 2.
primero codificaremos la variable roatición 1 para Si y 0 para No
rotacion <- rotacion %>%
mutate(Rotacion_Codificada = ifelse(Rotación == "Si", 1, 0))
Variables Categóricas (“Departamento”, “Estado Civil” y “Horas Extra”):
Para las variables categóricas, realizaremos pruebas de chi-cuadrado para evaluar si existe una asociación estadísticamente significativa entre cada variable categórica y la variable “Rotacion_Codificada”. Para determinar si estas variables influyen en la rotación de empleados.
ggplot(rotacion, aes(x = Departamento, fill = factor(Rotacion_Codificada))) +
geom_bar(position = "fill") +
labs(title = "Distribución de Rotación por Departamento", x = "Departamento", y = "Proporción") +
scale_fill_manual(values = c("0" = "#61BFF8", "1" = "#F86172"))
# Prueba de chi-cuadrado para Departamento
tabla_contingencia_departamento <- table(rotacion$Departamento, rotacion$Rotacion_Codificada)
chisq.test(tabla_contingencia_departamento)
##
## Pearson's Chi-squared test
##
## data: tabla_contingencia_departamento
## X-squared = 10.796, df = 2, p-value = 0.004526
El resultado de la prueba de chi-cuadrado para la variable “Departamento” vs. “Rotacion_Codificada” indica que existe una asociación estadísticamente significativa entre estas dos variables. El valor p obtenido es de 0.0045, que es menor que el nivel de significancia comúnmente utilizado de 0.05.
Esto significa que hay evidencia para rechazar la hipótesis nula de que no existe relación entre el departamento al que pertenece un empleado y si experimenta rotación o no. En otras palabras, parece haber diferencias significativas en las tasas de rotación entre los diferentes departamentos de la organización.
En general, este resultado sugiere que el departamento al que pertenece un empleado podría ser un factor significativo en la predicción de la rotación de empleados.
ggplot(rotacion, aes(x = Estado_Civil, fill = factor(Rotacion_Codificada))) +
geom_bar(position = "fill") +
labs(title = "Distribución de Rotación por Estado Civil", x = "Estado Civil", y = "Proporción") +
scale_fill_manual(values = c("0" = "#61BFF8", "1" = "#F86172"))
# Prueba de chi-cuadrado para Estado Civil
tabla_contingencia_estado_civil <- table(rotacion$Estado_Civil, rotacion$Rotacion_Codificada)
chisq.test(tabla_contingencia_estado_civil)
##
## Pearson's Chi-squared test
##
## data: tabla_contingencia_estado_civil
## X-squared = 46.164, df = 2, p-value = 9.456e-11
El resultado de la prueba de chi-cuadrado para la variable “Estado Civil” vs. “Rotacion_Codificada” indica que existe una asociación estadísticamente significativa entre estas dos variables. El valor p obtenido es extremadamente bajo, aproximadamente 9.456e-11, lo que es prácticamente cero y mucho menor que el nivel de significancia comúnmente utilizado de 0.05.
Esto significa que hay evidencia contundente para rechazar la hipótesis nula de que no existe relación entre el estado civil de un empleado y si experimenta rotación o no. En otras palabras, parece haber diferencias extremadamente significativas en las tasas de rotación entre los diferentes estados civiles de los empleados.
En resumen, este resultado sugiere que el estado civil de los empleados es un factor muy significativo en la predicción de la rotación de empleados en la organización. Esto podría ser importante para tomar decisiones estratégicas relacionadas con la retención de empleados y la gestión de recursos humanos.
ggplot(rotacion, aes(x = Horas_Extra, fill = factor(Rotacion_Codificada))) +
geom_bar(position = "fill") +
labs(title = "Distribución de Rotación por Horas Extra", x = "Horas Extra", y = "Proporción") +
scale_fill_manual(values = c("0" = "#61BFF8", "1" = "#F86172"))
# Prueba de chi-cuadrado para Horas Extra
tabla_contingencia_horas_extra <- table(rotacion$Horas_Extra, rotacion$Rotacion_Codificada)
chisq.test(tabla_contingencia_horas_extra)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: tabla_contingencia_horas_extra
## X-squared = 87.564, df = 1, p-value < 2.2e-16
El resultado de la prueba de chi-cuadrado con corrección de continuidad de Yates para la variable “Horas Extra” vs. “Rotacion_Codificada” indica que existe una asociación estadísticamente significativa entre estas dos variables. El valor p obtenido es prácticamente cero (p-value < 2.2e-16), lo que significa que hay una fuerte evidencia para rechazar la hipótesis nula de que no existe relación entre si los empleados hacen horas extra y si experimentan rotación o no.
En otras palabras, hay una diferencia significativa en las tasas de rotación entre los empleados que hacen horas extra y los que no lo hacen. Este resultado sugiere que la variable “Horas Extra” es un factor importante en la predicción de la rotación de empleados.
En resumen, el análisis bivariado sugiere que el hecho de realizar horas extra está fuertemente relacionado con la probabilidad de rotación de los empleados en la organización. Esto puede tener implicaciones importantes para la gestión de recursos humanos y la retención de empleados.
Variables Cuantitativas (“Edad”, “Ingreso Mensual” y “Años de Experiencia”):
Para las variables cuantitativas, realizaremos pruebas t o ANOVA para comparar las diferencias en las medias de estas variables entre los grupos de “Si Rotación” y “No Rotación”.
ggplot(rotacion, aes(x = factor(Rotacion_Codificada), y = Edad, fill = factor(Rotacion_Codificada))) +
geom_boxplot() +
labs(title = "Distribución de Edad por Rotación", x = "Rotación_Codificada", y = "Edad") +
scale_fill_manual(values = c("0" = "#61BFF8", "1" = "#F86172"))
# Prueba t para Edad
t.test(Edad ~ Rotacion_Codificada, data = rotacion)
##
## Welch Two Sample t-test
##
## data: Edad by Rotacion_Codificada
## 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
El resultado de la prueba de t de Welch para la variable “Edad” en relación con “Rotacion_Codificada” indica que existe una diferencia significativa en las edades promedio entre los grupos “No Rotación” (grupo 0) y “Rotación” (grupo 1). El valor p obtenido es prácticamente cero (p-value = 1.371e-08), lo que sugiere que hay una fuerte evidencia para rechazar la hipótesis nula de que no hay diferencia en las edades promedio entre estos grupos.
La diferencia promedio en las edades entre los empleados que rotan (grupo 1) y los que no rotan (grupo 0) es de aproximadamente 3.95 años. Esto indica que, en promedio, los empleados que rotan tienden a ser más jóvenes que los que no rotan.
El intervalo de confianza del 95% para la diferencia en las medias se encuentra entre 2.62 y 5.29, lo que confirma la significación de esta diferencia.
En resumen, el análisis bivariado sugiere que la edad promedio de los empleados que rotan es significativamente menor que la de los empleados que no rotan en la organización. Esta diferencia en edades puede ser un factor importante a considerar al analizar la rotación de empleados.
ggplot(rotacion, aes(x = factor(Rotacion_Codificada), y = Ingreso_Mensual, fill = factor(Rotacion_Codificada))) +
geom_boxplot() +
labs(title = "Distribución de Ingreso Mensual por Rotación", x = "Rotación_Codificada", y = "Ingreso Mensual") +
scale_fill_manual(values = c("0" = "#61BFF8", "1" = "#F86172"))
# Prueba t para Ingreso Mensual
t.test(Ingreso_Mensual ~ Rotacion_Codificada, data = rotacion)
##
## Welch Two Sample t-test
##
## data: Ingreso_Mensual by Rotacion_Codificada
## 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
El resultado de la prueba de t de Welch para la variable “Ingreso Mensual” en relación con “Rotacion_Codificada” indica que existe una diferencia significativa en los ingresos mensuales promedio entre los grupos “No Rotación” (grupo 0) y “Rotación” (grupo 1). El valor p obtenido es prácticamente cero (p-value = 4.434e-13), lo que sugiere que hay una fuerte evidencia para rechazar la hipótesis nula de que no hay diferencia en los ingresos mensuales promedio entre estos grupos.
La diferencia promedio en los ingresos mensuales entre los empleados que rotan (grupo 1) y los que no rotan (grupo 0) es de aproximadamente $2,045.65. Esto indica que, en promedio, los empleados que rotan tienden a tener ingresos mensuales significativamente más bajos que los que no rotan.
El intervalo de confianza del 95% para la diferencia en las medias se encuentra entre $1508.24 y $2583.05, lo que confirma la significación de esta diferencia.
En resumen, el análisis bivariado sugiere que los empleados que rotan tienen ingresos mensuales promedio significativamente más bajos que los empleados que no rotan en la organización. Esta diferencia en ingresos puede ser un factor importante a considerar al analizar la rotación de empleados y tomar medidas para retener a los empleados clave.
ggplot(rotacion, aes(x = factor(Rotacion_Codificada), y = Años_Experiencia, fill = factor(Rotacion_Codificada))) +
geom_boxplot() +
labs(title = "Distribución de Años de Experiencia por Rotación", x = "Rotación_Codificada", y = "Años de Experiencia") +
scale_fill_manual(values = c("0" = "#61BFF8", "1" = "#F86172"))
# Prueba t para Años de Experiencia
t.test(Años_Experiencia ~ Rotacion_Codificada, data = rotacion)
##
## Welch Two Sample t-test
##
## data: Años_Experiencia by Rotacion_Codificada
## t = 7.0192, df = 350.88, p-value = 1.16e-11
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## 2.604401 4.632019
## sample estimates:
## mean in group 0 mean in group 1
## 11.862936 8.244726
El resultado de la prueba de t de Welch para la variable “Años de Experiencia” en relación con “Rotacion_Codificada” indica que existe una diferencia significativa en la experiencia laboral promedio entre los grupos “No Rotación” (grupo 0) y “Rotación” (grupo 1). El valor p obtenido es prácticamente cero (p-value = 1.16e-11), lo que sugiere que hay una fuerte evidencia para rechazar la hipótesis nula de que no hay diferencia en la experiencia laboral promedio entre estos grupos.
La diferencia promedio en años de experiencia entre los empleados que rotan (grupo 1) y los que no rotan (grupo 0) es de aproximadamente 3.62 años. Esto indica que, en promedio, los empleados que rotan tienden a tener menos años de experiencia laboral que los que no rotan.
El intervalo de confianza del 95% para la diferencia en las medias se encuentra entre 2.60 y 4.63 años, lo que confirma la significación de esta diferencia.
En resumen, el análisis bivariado sugiere que la experiencia laboral promedio de los empleados que rotan es significativamente menor que la de los empleados que no rotan en la organización. Esta diferencia en años de experiencia puede ser un factor importante a considerar al analizar la rotación de empleados y tomar medidas para retener a los empleados clave.
Realiza la estimación de un modelo de regresión logístico en el cual la variable respuesta es rotacion (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.
# Estimación de un modelo de regresión logística
modelo_logistico <- glm(Rotacion_Codificada ~ Departamento + Estado_Civil + Horas_Extra + Edad + Ingreso_Mensual + Años_Experiencia, data = rotacion, family = binomial)
# Ver los resultados del modelo
summary(modelo_logistico)
##
## Call:
## glm(formula = Rotacion_Codificada ~ Departamento + Estado_Civil +
## Horas_Extra + Edad + Ingreso_Mensual + Años_Experiencia,
## family = binomial, data = rotacion)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.6088 -0.5925 -0.4110 -0.2466 2.9705
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.234e+00 3.693e-01 -3.343 0.000829 ***
## DepartamentoRH 6.625e-01 3.556e-01 1.863 0.062479 .
## DepartamentoVentas 5.859e-01 1.673e-01 3.501 0.000463 ***
## Estado_CivilDivorciado -3.041e-01 2.291e-01 -1.327 0.184426
## Estado_CivilSoltero 8.354e-01 1.695e-01 4.929 8.28e-07 ***
## Horas_ExtraSi 1.485e+00 1.568e-01 9.471 < 2e-16 ***
## Edad -2.065e-02 1.155e-02 -1.788 0.073724 .
## Ingreso_Mensual -9.281e-05 3.303e-05 -2.810 0.004954 **
## Años_Experiencia -2.196e-02 2.039e-02 -1.077 0.281526
## ---
## 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: 1100.7 on 1461 degrees of freedom
## AIC: 1118.7
##
## Number of Fisher Scoring iterations: 5
DepartamentoRH: El coeficiente para “DepartamentoRH” es positivo (0.6625), pero no es estadísticamente significativo (p-value = 0.0625). Esto sugiere que pertenecer al departamento de Recursos Humanos podría estar asociado con un aumento en la probabilidad de rotación en comparación con el departamento de referencia, pero esta asociación no es lo suficientemente fuerte como para considerarse significativa en este modelo.
DepartamentoVentas: El coeficiente para “DepartamentoVentas” es positivo (0.5859) y es altamente significativo (p-value = 0.000463). Esto indica que los empleados que pertenecen al departamento de Ventas tienen una mayor probabilidad de rotación en comparación con el departamento de referencia (posiblemente otro departamento no incluido en el modelo).
Estado_CivilDivorciado: El coeficiente para “Estado_CivilDivorciado” es negativo (-0.3041), pero no es estadísticamente significativo (p-value = 0.1844). Esto sugiere que el estado civil de “divorciado” no tiene un impacto significativo en la probabilidad de rotación en comparación con el estado civil de referencia (posiblemente otro estado civil no incluido en el modelo).
Estado_CivilSoltero: El coeficiente para “Estado_CivilSoltero” es positivo (0.8354) y es altamente significativo (p-value < 0.0001). Esto indica que los empleados solteros tienen una mayor probabilidad de rotación en comparación con los empleados casados, y esta asociación es muy significativa desde el punto de vista estadístico.
Horas_ExtraSi: El coeficiente para “Horas_ExtraSi” es positivo (1.4850) y es altamente significativo (p-value < 0.0001). Esto sugiere que los empleados que realizan horas extras tienen una probabilidad significativamente mayor de rotación en comparación con aquellos que no hacen horas extras.
Edad: El coeficiente para “Edad” es negativo (-0.0207), pero no es estadísticamente significativo (p-value = 0.0737). Esto indica que la edad no tiene un impacto significativo en la probabilidad de rotación en este modelo.
Ingreso_Mensual: El coeficiente para “Ingreso_Mensual” es negativo (-0.00009281) y es significativo (p-value = 0.004954). Esto sugiere que un aumento en el ingreso mensual está asociado con una disminución en la probabilidad de rotación, y esta asociación es estadísticamente significativa.
Años_Experiencia: El coeficiente para “Años_Experiencia” es negativo (-0.02196), pero no es estadísticamente significativo (p-value = 0.2815). Esto indica que la experiencia laboral no tiene un impacto significativo en la probabilidad de rotación en este modelo.
En resumen, las variables significativas que están asociadas con una mayor probabilidad de rotación en este modelo son pertenecer al departamento de Ventas, ser soltero y hacer horas extras. Por otro lado, un ingreso mensual más alto está asociado con una menor probabilidad de rotación. Es importante tener en cuenta que las variables no significativas (como la edad y la experiencia laboral) no tienen un impacto significativo en la probabilidad de rotación según este modelo. Estos resultados pueden ser útiles para tomar decisiones de gestión de recursos humanos y retención de empleados en la organización.
Evaluar el poder predictivo del modelo con base en la curva ROC y el AUC.
# Instalar el paquete pROC (solo si no está instalado)
# install.packages("pROC")
# Obtener las probabilidades predichas por el modelo
predicciones <- predict(modelo_logistico, type = "response")
# Crear un objeto ROC
roc_obj <- roc(rotacion$Rotacion_Codificada, predicciones)
## Setting levels: control = 0, case = 1
## Setting direction: controls < cases
# Calcular el AUC
auc <- auc(roc_obj)
# Visualizar la curva ROC
plot(roc_obj, main = "Curva ROC")
abline(a = 0, b = 1, lty = 2, col = "red") # Línea de referencia aleatoria
# Mostrar el AUC en el gráfico
text(0.7, 0.2, paste("AUC =", round(auc, 2)), col = "blue")
Un valor de AUC (Área Bajo la Curva) de 0.76 indica que el modelo de regresión logística tiene una capacidad bastante buena para discriminar entre las dos clases en tu problema de rotación de empleados (rotación vs. no rotación).
La escala típica del AUC varía de 0 a 1, donde:
Un AUC de 0.5 indica un rendimiento equivalente al azar, lo que significa que el modelo no tiene capacidad para distinguir entre las clases y sus predicciones son ineficaces.
Un AUC de 1.0 representa un rendimiento perfecto, lo que significa que el modelo puede distinguir perfectamente entre las dos clases sin errores.
Un AUC de 0.76 se encuentra significativamente por encima de 0.5, lo que indica que el modelo tiene una capacidad bastante buena para diferenciar entre los empleados que rotan y los que no rotan. Esto sugiere que el modelo tiene un poder predictivo útil en la clasificación de los empleados en estas dos categorías.
En resumen, un AUC de 0.76 es una indicación positiva de que el modelo tiene una buena capacidad para predecir la rotación de empleados y que las probabilidades predichas por el modelo son informativas para tomar decisiones basadas en la probabilidad de rotación.
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 realizar una predicción de la probabilidad de que un individuo hipotético rote, primero definimos los valores de las variables predictoras para ese individuo. Luego, utilizaremos el modelo de regresión logística estimado previamente para calcular la probabilidad de rotación. Finalmente, se establece un umbral (corte) en la probabilidad para decidir si se debe intervenir con el empleado o no.
Supongamos que tienes un empleado hipotético con las siguientes características:
Departamento: Ventas (como ejemplo) Estado Civil: Soltero (como ejemplo) Horas Extra: Sí (como ejemplo) Edad: 40 años Ingreso Mensual: $6,000 Años de Experiencia: 10 años
# Crear un nuevo conjunto de datos con las características del empleado hipotético
nuevo_empleado <- data.frame(
Departamento = "Ventas",
Estado_Civil = "Soltero",
Horas_Extra = "Si",
Edad = 40,
Ingreso_Mensual = 6000,
Años_Experiencia = 10
)
# Predecir la probabilidad de rotación para el empleado hipotético
probabilidad_rotacion <- predict(modelo_logistico, newdata = nuevo_empleado, type = "response")
# Imprimir la probabilidad predicha
print(probabilidad_rotacion)
## 1
## 0.517453
La probabilidad estimada de que este empleado hipotético rote en el próximo período es de 51%
Cualquier empleado con una probabilidad de rotación superior al 0.3 (30%) debe ser considerado para una intervención.
if(probabilidad_rotacion > 0.3) {
cat("Intervenir al empleado")
} else {
cat("No es necesario intervenir")
}
## Intervenir al empleado
Algunas posibles acciones de intervención podrían incluir:
Realizar una revisión individual con el empleado para comprender sus necesidades y preocupaciones laborales.
Ofrecer incentivos adicionales, como bonificaciones, beneficios o oportunidades de desarrollo profesional.
Proporcionar oportunidades de capacitación o desarrollo para mejorar la satisfacción y el compromiso del empleado.
Establecer un plan de desarrollo profesional que se alinee con las metas del empleado y de la organización.
Proporcionar retroalimentación regular y reconocimiento por el desempeño excepcional.
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).
Es importante destacar que estas estrategias no son exhaustivas y deben adaptarse a las necesidades y políticas específicas de la organización. Además, la comunicación efectiva con los empleados y la retroalimentación constante son elementos esenciales para la implementación exitosa de estas estrategias. La gestión de recursos humanos debe estar dispuesta a escuchar las preocupaciones de los empleados y a ajustar las políticas y programas en consecuencia.
En resumen, abordar la rotación de empleados es un desafío que requiere una combinación de políticas efectivas y un enfoque centrado en el bienestar y la satisfacción de los empleados. La identificación de las variables significativas a través del análisis estadístico proporciona una base sólida para desarrollar estrategias personalizadas y efectivas para retener el talento en la empresa.