Actividad 3 Modelos Estadísticos para la toma de decisiones
Caso Rotación de cargos
Problema Planteado
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.
1. Selección de variables
Enunciado
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).
Desarrollo
Instalación de paquetes y carga de datos
#install.packages("devtools") # solo la primera vez
#install.packages("leaflet")
#install.packages("leaflet.extras")
# devtools::install_github("dgonxalex80/paqueteMODELOS", force =TRUE)
library(paqueteMODELOS)
library(ggplot2)
library(dplyr)
library(leaflet)
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, …
Para abordar el problema de rotación de empleados, es necesario elegir variables que razonablemente se espera que influyan en la decisión de un empleado de cambiar de cargo dentro de la empresa. Basado en el diccionario de datos y la literatura existente sobre satisfacción laboral y rotación de personal, se seleccionaron tres variables categóricas y tres variables cuantitativas que pueden estar relacionadas con la rotación.
Variables Categóricas:
Rendimiento Laboral (Categórica): Es razonable suponer que los empleados con un rendimiento más alto están más comprometidos con su trabajo y pueden tener menos probabilidades de rotar, mientras que aquellos con un rendimiento más bajo podrían buscar cambios con la esperanza de encontrar un mejor ajuste o en respuesta a la presión de la gerencia. Hipótesis: Un mayor rendimiento laboral está asociado con menores tasas de rotación.
Satisfacción Laboral (Categórica): Esta es directamente relevante para la rotación de empleados. Se espera que empleados más satisfechos con su trabajo tengan menos probabilidades de dejar su puesto actual. Hipótesis: Una mayor satisfacción laboral está inversamente relacionada con la rotación.
Estado Civil (Categórica): El estado civil puede influir en la estabilidad laboral de un empleado, ya que responsabilidades familiares podrían incentivar a un individuo a permanecer en un cargo o, por el contrario, buscar oportunidades con mejor compensación o equilibrio entre vida laboral y personal. Hipótesis: Empleados casados pueden tener tasas de rotación diferentes en comparación con los solteros o divorciados.
Variables Cuantitativas:
Antigüedad en el Cargo Actual (Cuantitativa): La cantidad de tiempo que un empleado ha pasado en su cargo actual puede ser un indicador de estabilidad o de deseos de cambio. Hipótesis: Una mayor antigüedad en el cargo está relacionada con una menor probabilidad de rotación, asumiendo que la satisfacción y el compromiso aumentan con el tiempo.
Salario Actual (Cuantitativa): El salario puede ser un fuerte motivador para la rotación, especialmente si el empleado siente que puede obtener mejor compensación en otro lugar. Hipótesis: Un salario más alto está asociado con una menor rotación, ya que el costo de la pérdida de beneficios salariales al cambiar de cargo puede ser significativo.
Edad (Cuantitativa): La edad puede influir en la probabilidad de rotación, con empleados más jóvenes potencialmente buscando más oportunidades de desarrollo y cambio, mientras que empleados mayores pueden valorar la estabilidad. Hipótesis: La edad está inversamente relacionada con la rotación, asumiendo que los empleados más jóvenes son más propensos a cambiar de cargo.
2. Análisis univariado
Enunciado
Realiza un análisis univariado (caracterización) de la información contenida en la base de datos rotacion.
Desarrollo
Medidas descriptivas para variables cuantitativas
## Antigüedad_Cargo Ingreso_Mensual Edad
## Min. : 0.000 Min. : 1009 Min. :18.00
## 1st Qu.: 2.000 1st Qu.: 2911 1st Qu.:30.00
## Median : 3.000 Median : 4919 Median :36.00
## Mean : 4.229 Mean : 6503 Mean :36.92
## 3rd Qu.: 7.000 3rd Qu.: 8379 3rd Qu.:43.00
## Max. :18.000 Max. :19999 Max. :60.00
Histogramas para variables cuantitativas Para Antigüedad en el Cargo
ggplot(rotacion, aes(x=Antigüedad_Cargo)) +
geom_histogram(aes(y=..density..), bins=30, fill="skyblue", alpha=0.5) +
geom_density(color="blue", size=1) +
geom_vline(aes(xintercept=mean(Antigüedad_Cargo, na.rm=TRUE)), color="red", linetype="dashed", size=1) +
geom_vline(aes(xintercept=median(Antigüedad_Cargo, na.rm=TRUE)), color="darkgreen", linetype="dashed", size=1) +
labs(title="Distribución de Antigüedad en el Cargo", x="Antigüedad en el Cargo", y="Densidad") +
theme_minimal()## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(density)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Para Salario Actual
ggplot(rotacion, aes(x=Ingreso_Mensual)) +
geom_histogram(aes(y=..density..), bins=30, fill="lightgreen", alpha=0.5) +
geom_density(color="green", size=1) +
geom_vline(aes(xintercept=mean(Ingreso_Mensual, na.rm=TRUE)), color="red", linetype="dashed", size=1) +
geom_vline(aes(xintercept=median(Ingreso_Mensual, na.rm=TRUE)), color="darkgreen", linetype="dashed", size=1) +
labs(title="Distribución del Salario Actual", x="Salario Actual", y="Densidad") +
theme_minimal()ggplot(rotacion, aes(x=Edad)) +
geom_histogram(aes(y=..density..), bins=30, fill="salmon", alpha=0.5) +
geom_density(color="red", size=1) +
geom_vline(aes(xintercept=mean(Edad, na.rm=TRUE)), color="blue", linetype="dashed", size=1) +
geom_vline(aes(xintercept=median(Edad, na.rm=TRUE)), color="darkgreen", linetype="dashed", size=1) +
labs(title="Distribución de Edad", x="Edad", y="Densidad") +
theme_minimal()Variables Cuantitativas:
Antigüedad en el Cargo:
- La
Antigüedad en el Cargovaría desde 0 hasta 18 años, con una mediana de 3 años. Esto indica que más de la mitad de los empleados han estado en su cargo actual durante 3 años o menos, sugiriendo posiblemente una alta rotación de cargos o un crecimiento rápido de la empresa que lleva a cambios frecuentes de rol. - La media es ligeramente superior a la mediana (4.229 años), lo que puede indicar una distribución sesgada hacia la derecha, con algunos empleados teniendo una antigüedad significativamente alta en su cargo actual que eleva el promedio.
Ingreso Mensual:
- Los ingresos mensuales varían considerablemente, desde tan solo 1009 hasta 19999, con una mediana de 4919. Esto sugiere una amplia gama de salarios dentro de la organización, probablemente reflejando la variedad de roles, niveles de experiencia y responsabilidades.
- Al igual que con la
Antigüedad en el Cargo, el promedio (6503) es mayor que la mediana, lo que podría indicar una distribución sesgada hacia la derecha, con algunos empleados de alto ingreso elevando el promedio.
Edad:
- La
Edadde los empleados varía de 18 a 60 años, con una mediana de 36 años. Esto sugiere que la fuerza laboral tiene una distribución de edad relativamente centrada, con una mezcla de empleados más jóvenes y más experimentados. - La media es ligeramente superior a la mediana (36.92 años), indicando un ligero sesgo hacia la derecha pero, en general, sugiere que la distribución de la edad es bastante simétrica.
Medidas para variables categóricas
##
## 3 4
## 1244 226
##
## 1 2 3 4
## 289 280 442 459
##
## Casado Divorciado Soltero
## 673 327 470
Gráficos de barras para variables categóricas
#
ggplot(rotacion, aes(x=factor(Rendimiento_Laboral))) + geom_bar(fill="lightblue") + labs(title="Distribución de Rendimiento Laboral", x="Rendimiento Laboral", y="Frecuencia")ggplot(rotacion, aes(x=factor(Satisfación_Laboral))) + geom_bar(fill="lightcoral") + labs(title="Distribución de Satisfacción Laboral", x="Satisfacción Laboral", y="Frecuencia")ggplot(rotacion, aes(x=factor(Estado_Civil))) + geom_bar(fill="lightgreen") + labs(title="Distribución de Estado Civil", x="Estado Civil", y="Frecuencia")Variables Categóricas
Rendimiento Laboral
- La mayoría de los empleados se clasifican en las categorías de “alto” rendimiento, con solo una pequeña fracción clasificada como “muy alto”. Esto podría indicar que la mayoría de los empleados están cumpliendo satisfactoriamente con sus obligaciones laborales.
Satisfacción Laboral
- La distribución de la satisfacción laboral muestra una buena cantidad de empleados en cada categoría, pero con ligeras tendencias hacia “satisfecho” y “muy satisfecho”. Esto podría sugerir que, en general, los empleados se sienten positivamente sobre su trabajo, lo que potencialmente reduce la probabilidad de rotación.
Estado Civil
- La mayoría de los empleados están casados, seguidos por solteros y luego divorciados. Esto es relevante porque las responsabilidades familiares y las necesidades financieras asociadas pueden influir en la decisión de un empleado de buscar o no cambios de empleo.
3. Análisis bivariado
Enunciado
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.
Desarrollo
Para este enunciado se va a emplear modelos de regresión logística para cada variable seleccionada contra la variable de rotación. Este análisis permitirá entender la relación entre cada predictor y la probabilidad de que un empleado cambie de cargo.
# Cargamos la libreria necesaria
#install.packages("glm2")
library(glm2)
# Asegurarse de que rotacion$Rotación sea numérica
rotacion$Rotación <- ifelse(rotacion$Rotación == "Si", 1, 0)# Modelo para Antigüedad en el Cargo
modelo_antiguedad_cargo <- glm(Rotación ~ Antigüedad_Cargo, data = rotacion, family = binomial(link = "logit"))
summary(modelo_antiguedad_cargo)##
## Call:
## glm(formula = Rotación ~ Antigüedad_Cargo, family = binomial(link = "logit"),
## data = rotacion)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.11841 0.10380 -10.775 < 2e-16 ***
## Antigüedad_Cargo -0.14628 0.02424 -6.033 1.61e-09 ***
## ---
## 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: 1255.9 on 1468 degrees of freedom
## AIC: 1259.9
##
## Number of Fisher Scoring iterations: 5
# Modelo para Ingreso Mensual
modelo_ingreso_mensual <- glm(Rotación ~ Ingreso_Mensual, data = rotacion, family = binomial(link = "logit"))
summary(modelo_ingreso_mensual)##
## Call:
## glm(formula = Rotación ~ Ingreso_Mensual, family = binomial(link = "logit"),
## data = rotacion)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -9.291e-01 1.292e-01 -7.191 6.43e-13 ***
## Ingreso_Mensual -1.271e-04 2.162e-05 -5.879 4.12e-09 ***
## ---
## 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: 1253.1 on 1468 degrees of freedom
## AIC: 1257.1
##
## Number of Fisher Scoring iterations: 5
# Modelo para Edad
modelo_edad <- glm(Rotación ~ Edad, data = rotacion, family = binomial(link = "logit"))
summary(modelo_edad)##
## Call:
## glm(formula = Rotación ~ Edad, family = binomial(link = "logit"),
## data = rotacion)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.20637 0.30597 0.674 0.5
## Edad -0.05225 0.00870 -6.006 1.9e-09 ***
## ---
## 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: 1259.1 on 1468 degrees of freedom
## AIC: 1263.1
##
## Number of Fisher Scoring iterations: 4
# Modelo para Rendimiento Laboral (Categórica)
modelo_rendimiento <- glm(Rotación ~ factor(Rendimiento_Laboral), data = rotacion, family = binomial(link = "logit"))
summary(modelo_rendimiento)##
## Call:
## glm(formula = Rotación ~ factor(Rendimiento_Laboral), family = binomial(link = "logit"),
## data = rotacion)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.65250 0.07719 -21.409 <2e-16 ***
## factor(Rendimiento_Laboral)4 0.02167 0.19564 0.111 0.912
## ---
## 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: 1298.6 on 1468 degrees of freedom
## AIC: 1302.6
##
## Number of Fisher Scoring iterations: 3
# Modelo para Satisfacción Laboral (Categórica)
modelo_satisfaccion <- glm(Rotación ~ factor(Satisfación_Laboral), data = rotacion, family = binomial(link = "logit"))
summary(modelo_satisfaccion)##
## Call:
## glm(formula = Rotación ~ factor(Satisfación_Laboral), family = binomial(link = "logit"),
## data = rotacion)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.2175 0.1401 -8.689 < 2e-16 ***
## factor(Satisfación_Laboral)2 -0.4092 0.2137 -1.915 0.0555 .
## factor(Satisfación_Laboral)3 -0.4028 0.1899 -2.122 0.0339 *
## factor(Satisfación_Laboral)4 -0.8401 0.2033 -4.132 3.59e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1298.6 on 1469 degrees of freedom
## Residual deviance: 1281.2 on 1466 degrees of freedom
## AIC: 1289.2
##
## Number of Fisher Scoring iterations: 4
# Modelo para Estado Civil (Categórica)
modelo_estado_civil <- glm(Rotación ~ factor(Estado_Civil), data = rotacion, family = binomial(link = "logit"))
summary(modelo_estado_civil)##
## Call:
## glm(formula = Rotación ~ factor(Estado_Civil), family = binomial(link = "logit"),
## data = rotacion)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.9476 0.1166 -16.699 < 2e-16 ***
## factor(Estado_Civil)Divorciado -0.2395 0.2175 -1.101 0.271
## factor(Estado_Civil)Soltero 0.8772 0.1575 5.571 2.54e-08 ***
## ---
## 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: 1254.6 on 1467 degrees of freedom
## AIC: 1260.6
##
## Number of Fisher Scoring iterations: 4
Los resultados de los modelos de regresión logística proporcionan valiosa información sobre la relación entre diversas variables y la probabilidad de rotación de empleados. A continuación, se interpreta cada modelo en el contexto de las hipótesis planteadas inicialmente:
Antigüedad en el Cargo
- Coeficiente para Antigüedad en el Cargo: -0.14628, p < 0.05. Este resultado indica una relación negativa significativa entre la antigüedad en el cargo y la probabilidad de rotación. Esto respalda la hipótesis de que a mayor antigüedad en el cargo, menor es la probabilidad de que el empleado busque cambiar de posición, sugiriendo que los empleados con mayor permanencia están menos inclinados a la rotación.
Ingreso Mensual
- Coeficiente para Ingreso Mensual: -1.271e-04, p < 0.05. Similar al caso anterior, hay una relación negativa significativa entre el ingreso mensual y la rotación. Conforme aumenta el salario del empleado, es menos probable que éste decida cambiar de cargo. Esto confirma la hipótesis de que mejores salarios pueden ser un factor de retención para los empleados.
Edad
- Coeficiente para Edad: -0.05225, p < 0.05. De nuevo, observamos una relación negativa significativa, indicando que la probabilidad de rotación disminuye a medida que los empleados envejecen. Esto apoya la hipótesis de que los empleados más jóvenes son más propensos a cambiar de cargo, posiblemente buscando mejores oportunidades o cambios en su carrera profesional.
Rendimiento Laboral
- Coeficiente para Rendimiento Laboral (Muy Alto): 0.02167, p > 0.05. En este caso, no hay una relación estadísticamente significativa entre el rendimiento laboral (específicamente, el nivel “muy alto”) y la rotación. Esto sugiere que el rendimiento laboral, al menos en el nivel más alto, no es un predictor significativo de la rotación en este conjunto de datos.
Satisfacción Laboral
- Coeficientes para Satisfacción Laboral: Observamos coeficientes negativos para los niveles 2, 3, y 4, con significancia estadística en los niveles 3 y 4. Esto indica que mayores niveles de satisfacción laboral están asociados con menores probabilidades de rotación, lo cual respalda la hipótesis inicial de que la satisfacción en el trabajo es un factor importante para retener a los empleados.
Estado Civil
- Coeficiente para Soltero: 0.8772, p < 0.05. Los empleados solteros tienen una mayor probabilidad de rotación en comparación con los casados (categoría de referencia). Esto proporciona evidencia de que el estado civil puede influir en la decisión de un empleado de cambiar de cargo, siendo los solteros más propensos a la rotación.
Resultados del análisis
Los resultados corroboran la mayoría de las hipótesis planteadas, mostrando que la antigüedad en el cargo, el ingreso mensual, la edad, y la satisfacción laboral tienen relaciones negativas significativas con la probabilidad de rotación, indicando que factores como la estabilidad, compensación y satisfacción en el trabajo son importantes para retener a los empleados. Por otro lado, el rendimiento laboral en el nivel más alto no mostró ser un predictor significativo de la rotación, y ser soltero aumenta la probabilidad de cambiar de cargo. Estos insights pueden ser valiosos para la empresa al desarrollar estrategias orientadas a minimizar la rotación de empleados.
4. Modelo entrenamiento y prueba
Enunciado
Realice una partición en los datos de forma aleatoria donde 70% sea un set para entrenar el modelo y 30% para prueba. Estime un modelo logístico con la muestra del 70%. Muestre los resultados.
Desarrollo
# Cargar la librería necesaria para la división de datos
#install.packages("caTools")
library(caTools)
# Establecer una semilla para reproducibilidad
set.seed(123)
# Dividir los datos en conjunto de entrenamiento y de prueba
split <- sample.split(rotacion$Rotación, SplitRatio = 0.7)
# Subconjunto de entrenamiento
train_set <- subset(rotacion, split == TRUE)
# Subconjunto de prueba
test_set <- subset(rotacion, split == FALSE)
# Ajustar el modelo de regresión logística usando el conjunto de entrenamiento
modelo_logistico <- glm(Rotación ~ Antigüedad_Cargo + Ingreso_Mensual + Edad +
factor(Rendimiento_Laboral) + factor(Satisfación_Laboral) +
factor(Estado_Civil),
data = train_set, family = binomial(link = "logit"))
# Mostrar el resumen del modelo
summary(modelo_logistico)##
## Call:
## glm(formula = Rotación ~ Antigüedad_Cargo + Ingreso_Mensual +
## Edad + factor(Rendimiento_Laboral) + factor(Satisfación_Laboral) +
## factor(Estado_Civil), family = binomial(link = "logit"),
## data = train_set)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.589e-01 4.157e-01 -0.382 0.70227
## Antigüedad_Cargo -9.657e-02 3.146e-02 -3.070 0.00214 **
## Ingreso_Mensual -7.942e-05 2.912e-05 -2.727 0.00638 **
## Edad -1.128e-02 1.106e-02 -1.020 0.30783
## factor(Rendimiento_Laboral)4 -3.003e-01 2.714e-01 -1.106 0.26867
## factor(Satisfación_Laboral)2 -3.732e-01 2.688e-01 -1.388 0.16499
## factor(Satisfación_Laboral)3 -4.145e-01 2.371e-01 -1.748 0.08039 .
## factor(Satisfación_Laboral)4 -1.078e+00 2.643e-01 -4.077 4.56e-05 ***
## factor(Estado_Civil)Divorciado -3.339e-01 2.666e-01 -1.252 0.21044
## factor(Estado_Civil)Soltero 7.852e-01 1.958e-01 4.011 6.05e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 909.34 on 1028 degrees of freedom
## Residual deviance: 818.39 on 1019 degrees of freedom
## AIC: 838.39
##
## Number of Fisher Scoring iterations: 5
Coeficientes de Variables y su Significado:
Antigüedad en el Cargo (
Antigüedad_Cargo): El coeficiente es -0.09657 con un valor p de 0.00214, lo que indica que es estadísticamente significativo y que la antigüedad en el cargo está negativamente asociada con la rotación. Esto significa que por cada año adicional que un empleado pasa en su cargo, la probabilidad de rotación disminuye.Ingreso Mensual (
Ingreso_Mensual): El coeficiente es -7.942e-05 con un valor p de 0.00638, sugiriendo que hay una asociación negativa estadísticamente significativa entre el ingreso mensual y la rotación. Conforme aumenta el ingreso mensual, la probabilidad de rotación disminuye ligeramente.Edad (
Edad): El coeficiente es -0.01128 con un valor p de 0.30783, lo cual no es estadísticamente significativo. Esto implica que no hay suficiente evidencia para afirmar que la edad tiene un efecto en la probabilidad de rotación dentro de este modelo.Rendimiento Laboral (
factor(Rendimiento_Laboral)4): El coeficiente es -0.3003 con un valor p de 0.26867, lo cual no es estadísticamente significativo. Esto significa que no podemos concluir que el rendimiento laboral “muy alto” afecte la rotación de manera significativa en comparación con el nivel de referencia (probablemente “alto”).Satisfacción Laboral:
- Nivel 2
(
factor(Satisfación_Laboral)2): No es estadísticamente significativo con un valor p de 0.16499. - Nivel 3
(
factor(Satisfación_Laboral)3): Tiene un valor p cercano al umbral de significancia (0.08039), sugiriendo que podría haber una relación negativa con la rotación que merece una investigación más detallada. - Nivel 4
(
factor(Satisfación_Laboral)4): Es estadísticamente significativo con un valor p muy bajo (4.56e-05), lo que indica que una alta satisfacción laboral está fuertemente asociada con una baja probabilidad de rotación.
- Nivel 2
(
Estado Civil:
- Divorciado
(
factor(Estado_Civil)Divorciado): No es estadísticamente significativo, con un valor p de 0.21044. - Soltero (
factor(Estado_Civil)Soltero): Es estadísticamente significativo (p = 6.05e-05) y tiene un coeficiente positivo, lo que sugiere que los empleados solteros tienen una mayor probabilidad de rotar en comparación con el nivel de referencia (probablemente “casado”).
- Divorciado
(
Resumen del Modelo:
AIC (Criterio de Información de Akaike): El valor es 838.39. Este valor se usa para comparar modelos; cuanto más bajo, mejor. Sirve para equilibrar la bondad del ajuste del modelo con la simplicidad del mismo.
Null deviance y Residual deviance: La diferencia entre la devianza nula y la devianza residual nos muestra cuánto ha mejorado el modelo al incluir las variables independientes. Una gran disminución sugiere que el modelo tiene un buen ajuste.
análisis
L información obtenida del modelo es valiosa para diseñar intervenciones destinadas a reducir la rotación de personal. Por ejemplo, las políticas que incrementan la satisfacción laboral o que reconocen la antigüedad podrían ser eficaces. Además, programas específicos podrían dirigirse a empleados solteros, que parecen tener una mayor propensión a la rotación.
Estadísticamente, los resultados indican dónde la empresa debe concentrar sus esfuerzos y qué factores no son tan relevantes para la rotación de empleados. La significancia estadística, junto con la dirección de los coeficientes, proporciona una base sólida para tales decisiones estratégicas.
5. Evaluación
Enunciado
Evaluar el poder predictivo del modelo con base en la curva ROC y el AUC en el set de datos de prueba.
Desarrollo
## Type 'citation("pROC")' for a citation.
##
## Attaching package: 'pROC'
## The following objects are masked from 'package:stats':
##
## cov, smooth, var
# Usar el modelo para hacer predicciones en el conjunto de prueba
predicciones_prob <- predict(modelo_logistico, newdata = test_set, type = "response")
# Crear la curva ROC
roc_obj <- roc(test_set$Rotación, predicciones_prob)## Setting levels: control = 0, case = 1
## Setting direction: controls < cases
# Calcular el área bajo la curva ROC
auc_obj <- auc(roc_obj)
# Crear el gráfico de la curva ROC
plot(roc_obj, main=sprintf("Curva ROC (AUC = %0.2f)", auc_obj))# Agregar color al gráfico
plot(roc_obj, col="#1c61b6", main=sprintf("Curva ROC (AUC = %0.2f)", auc_obj))
abline(a=0, b=1, col="red")## Area under the curve: 0.7043
El resultado es una Curva ROC y se puede ver que el AUC (Área Bajo la Curva) es de 0.70. Esto significa que el modelo de regresión logística tiene una capacidad razonable para distinguir entre empleados que rotarán y los que no. En términos estadísticos, un AUC de 0.70 indica que hay un 70% de probabilidad de que el modelo clasifique correctamente un caso positivo aleatorio más alto que un caso negativo aleatorio.
6. Conclusiones
Enunciado
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).
Desarrollo
Hallazgos Clave:
De los modelos de regresión logística, se identificó que:
- La antigüedad en el cargo tiene un impacto negativo en la rotación: empleados con más tiempo en su posición actual tienden a rotar menos.
- Un mayor ingreso mensual se asocia con una menor rotación.
- La edad no mostró una asociación estadísticamente significativa con la rotación.
- La satisfacción laboral, especialmente en los niveles más altos, está fuertemente vinculada a una menor rotación.
- El estado civil influye en la rotación, con los empleados solteros mostrando una mayor probabilidad de cambiar de trabajo.
Estrategias Sugeridas:
1. Programas de Reconocimiento de Antigüedad: - Implementar programas que reconozcan y recompensen la lealtad y la dedicación, como bonificaciones por antigüedad, reconocimientos formales o vías aceleradas para el desarrollo profesional.
2. Estructura Salarial Competitiva: - Revisar la estructura salarial y asegurarse de que sea competitiva en el mercado para retener talento. - Considerar revisiones salariales periódicas y ajustes por mérito.
3. Fomentar la Satisfacción Laboral: - Desarrollar encuestas de satisfacción para identificar áreas de mejora. - Crear programas de desarrollo profesional y capacitación que permitan a los empleados sentir que están creciendo y aprendiendo. - Establecer canales efectivos de comunicación donde los empleados puedan expresar sus inquietudes y sugerencias.
4. Atención al Estado Civil: - Ofrecer beneficios que sean atractivos para los empleados solteros, como flexibilidad en horarios, oportunidades para el desarrollo de habilidades o actividades de team building que fomenten la integración.
5. Entorno Laboral Inclusivo y Diverso: - Promover un ambiente de trabajo inclusivo que valore la diversidad de experiencias y antecedentes, lo que puede ser especialmente atractivo para empleados jóvenes y solteros.
6. Análisis Continuo y Mejora del Modelo Predictivo: - Mantener un enfoque analítico para la gestión de recursos humanos, utilizando datos para informar decisiones. - Mejorar continuamente el modelo predictivo de rotación a medida que se disponga de más datos y feedback.
Estas estrategias no solo están orientadas a reducir la rotación, sino también a fortalecer la cultura organizacional y mejorar la experiencia del empleado. La educación y el desarrollo profesional continuo deben ser pilares en la estrategia de retención, así como la adaptación a las necesidades cambiantes de los empleados.
Implementación de Estrategias:
Al implementar estas estrategias, es crucial involucrar a todas las partes interesadas y comunicar efectivamente los cambios y beneficios. El seguimiento y la evaluación periódica de las políticas implementadas permitirán ajustes oportunos y asegurarán que las estrategias sean efectivas y sostenibles a largo plazo.