Materia: Métodos Estadísticos para toma de
Decisiones
Profesora: Jennyfer Portilla
Integrantes: Cristian Sarmiento y Harvey Bastidas
En esta actividad, se busca comprender y prever los factores que influyen en la rotación de empleados entre distintos cargos dentro de una organización. Para ello, se 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 cuáles factores inciden en mayor proporción en estos cambios.
En esta sección, se seleccionarán 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas que se consideren relacionadas con la rotación de personal. Además, se justificará la relación esperada entre cada variable y la rotación, planteando hipótesis al respecto.
Se cargan las librerías necesarias y se visualizan las primeras filas del conjunto de datos ‘rotacion’ para familiarizarnos con las variables disponibles.
# Cargar las librerías necesarias
library(paqueteMODELOS) # Librería que contiene el conjunto de datos
library(dplyr) # Para manipulación de datos
library(ggplot2) # Para gráficos
library(knitr) # Para tablas
library(kableExtra) # Para formateo de tablas
# Cargar los datos de rotación
data("rotacion")
# Visualizar las primeras filas de los datos
head(rotacion)
## # 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>
Ahora se presentan las variables categóricas que se han seleccionado para el análisis. Estas variables se consideran relevantes para explicar la rotación de empleados en la empresa y se justifica su inclusión con base en la hipótesis planteada sobre su relación con la variable de interés.
Horas Extra: Se espera que los empleados que
realizan horas extra tengan mayor probabilidad de rotación, ya que el
exceso de trabajo puede generar desgaste y afectar el equilibrio entre
la vida laboral y personal.
Hipótesis: Los empleados que realizan horas extra
tienen una mayor probabilidad de rotación que aquellos que no realizan
horas extra.
Estado Civil: El estado civil puede influir en
la decisión de cambiar de empleo. Por ejemplo, empleados solteros pueden
estar más dispuestos a rotar que aquellos casados o con
responsabilidades familiares.
Hipótesis: Los empleados solteros tienen una mayor
probabilidad de rotación que los empleados casados.
Departamento: El departamento en el que trabaja
un empleado puede afectar su satisfacción laboral y oportunidades de
crecimiento, influyendo en la rotación.
Hipótesis: La rotación varía según el departamento;
algunos departamentos pueden tener mayores tasas de rotación debido a
factores específicos del área.
A continuación, se presentan las variables cuantitativas seleccionadas, que se consideran igualmente importantes para explicar la rotación de empleados en la empresa.
Satisfacción Laboral: La satisfacción laboral es
un factor clave en la decisión de permanecer o no en un empleo.
Hipótesis: A menor satisfacción laboral, mayor
probabilidad de rotación.
Ingreso Mensual: El salario puede influir en la
decisión de rotar, ya que empleados con menores ingresos pueden buscar
mejores oportunidades.
Hipótesis: A menor ingreso mensual, mayor probabilidad
de rotación.
Antigüedad en el Cargo: La antigüedad en el
cargo puede reflejar el compromiso del empleado con la empresa.
Hipótesis: A menor antigüedad en el cargo, mayor
probabilidad de rotación.
En esta sección, se realizará un análisis univariado de las variables seleccionadas y de la variable respuesta ‘Rotación’.
Se analiza la distribución de la variable respuesta ‘Rotación’ para comprender cómo se divide entre quienes han rotado y quienes no.
# Distribución de la variable Rotación
tabla_rotacion <- rotacion %>%
group_by(Rotación) %>%
summarise(Frecuencia = n()) %>%
mutate(Porcentaje = round(Frecuencia / sum(Frecuencia) * 100, 2))
# Mostrar la tabla
kable(tabla_rotacion, caption = "Distribución de la variable Rotación") %>%
kable_styling(full_width = F)
| Rotación | Frecuencia | Porcentaje |
|---|---|---|
| No | 1233 | 83.88 |
| Si | 237 | 16.12 |
# Generar un gráfico de barras para la distribución
ggplot(tabla_rotacion, aes(x = Rotación, y = Frecuencia, fill = Rotación)) +
geom_bar(stat = "identity") +
theme_minimal() +
labs(title = "Distribución de la Rotación de Empleados",
x = "Rotación",
y = "Frecuencia") +
theme(legend.position = "none")
La tabla y el gráfico de barras muestran que la mayoría de los empleados, el 83.88%, no han rotado en sus cargos dentro de la empresa. Por otro lado, el 16.12% de los empleados han rotado de cargo. Esta diferencia significativa entre los empleados que han rotado y los que no podría indicar que la mayoría de los empleados están satisfechos con sus puestos actuales o que existen barreras para la rotación dentro de la empresa. Es importante analizar más a fondo las variables relacionadas con la rotación para identificar las razones detrás de esta tendencia.
En esta sección se analiza la distribución de las variables categóricas seleccionadas en relación con la rotación.
Se analiza la distribución de la variable ‘Horas Extra’ para determinar cuántos empleados realizan horas extra y cómo esto podría estar relacionado con la rotación.
# Distribución de Horas Extra
tabla_horas_extra <- rotacion %>%
group_by(Horas_Extra) %>%
summarise(Frecuencia = n()) %>%
mutate(Porcentaje = round(Frecuencia / sum(Frecuencia) * 100, 2))
# Mostrar la tabla
kable(tabla_horas_extra, caption = "Distribución de la variable Horas Extra") %>%
kable_styling(full_width = F)
| Horas_Extra | Frecuencia | Porcentaje |
|---|---|---|
| No | 1054 | 71.7 |
| Si | 416 | 28.3 |
# Gráfico de barras para la variable Horas Extra
ggplot(rotacion, aes(x = Horas_Extra)) +
geom_bar(fill = "skyblue") +
labs(title = "Distribución de la variable Horas Extra",
x = "Horas Extra",
y = "Frecuencia") +
theme_minimal()
El 71.7% de los empleados no realiza horas extra, mientras que el 28.3% sí lo hace. Esto indica que la mayoría de los empleados trabajan solo dentro de su horario regular.
Se analiza la distribución de la variable ‘Estado Civil’ para observar si existen diferencias en la rotación según el estado civil de los empleados.
# Distribución de Estado Civil
tabla_estado_civil <- rotacion %>%
group_by(Estado_Civil) %>%
summarise(Frecuencia = n()) %>%
mutate(Porcentaje = round(Frecuencia / sum(Frecuencia) * 100, 2))
# Mostrar la tabla
kable(tabla_estado_civil, caption = "Distribución de la variable Estado Civil") %>%
kable_styling(full_width = F)
| Estado_Civil | Frecuencia | Porcentaje |
|---|---|---|
| Casado | 673 | 45.78 |
| Divorciado | 327 | 22.24 |
| Soltero | 470 | 31.97 |
# Gráfico de barras para la variable Estado Civil
ggplot(rotacion, aes(x = Estado_Civil)) +
geom_bar(fill = "lightgreen") +
labs(title = "Distribución de la variable Estado Civil",
x = "Estado Civil",
y = "Frecuencia") +
theme_minimal()
La mayoría de los empleados están casados (45.78%), seguidos por solteros (31.97%) y divorciados (22.24%). Esta distribución puede influir en la estabilidad laboral y la rotación.
Se analiza la distribución de la variable ‘Departamento’ para determinar si la rotación varía significativamente entre los diferentes departamentos de la empresa.
# Distribución de Departamento
tabla_departamento <- rotacion %>%
group_by(Departamento) %>%
summarise(Frecuencia = n()) %>%
mutate(Porcentaje = round(Frecuencia / sum(Frecuencia) * 100, 2))
# Mostrar la tabla
kable(tabla_departamento, caption = "Distribución de la variable Departamento") %>%
kable_styling(full_width = F)
| Departamento | Frecuencia | Porcentaje |
|---|---|---|
| IyD | 961 | 65.37 |
| RH | 63 | 4.29 |
| Ventas | 446 | 30.34 |
# Gráfico de barras para la variable Departamento
ggplot(rotacion, aes(x = Departamento)) +
geom_bar(fill = "coral") +
labs(title = "Distribución de la variable Departamento",
x = "Departamento",
y = "Frecuencia") +
theme_minimal()
El 65.37% de los empleados pertenece al departamento de I+D, el 30.34% a Ventas, y solo el 4.29% a Recursos Humanos (RH). Esta distribución sugiere una mayor concentración de empleados en I+D.
En esta sección se analiza la distribución de las variables cuantitativas seleccionadas en relación con la rotación.
Se presenta un resumen estadístico de la variable ‘Satisfacción Laboral’ para entender su variabilidad entre los empleados.
Se utiliza un gráfico de barras porque la variable ‘Satisfacción Laboral’ es categórica ordinal, con valores discretos. Un gráfico de barras permite visualizar claramente cuántos empleados se encuentran en cada nivel de satisfacción, facilitando la comparación entre categorías.
# Resumen estadístico de Satisfacción Laboral
summary(rotacion$Satisfación_Laboral)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 2.000 3.000 2.729 4.000 4.000
# Gráfico de barras para Satisfacción Laboral con paleta de colores multicolor
ggplot(rotacion, aes(x = as.factor(Satisfación_Laboral), fill = as.factor(Satisfación_Laboral))) +
geom_bar() +
scale_fill_manual(values = c("#66c2a5", "#fc8d62", "#8da0cb", "#e78ac3")) +
labs(title = "Distribución de la Satisfacción Laboral",
x = "Nivel de Satisfacción Laboral",
y = "Frecuencia") +
theme_minimal() +
theme(legend.position = "none",
plot.title = element_text(hjust = 0.5, face = "bold"),
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"))
El histograma de la Satisfacción Laboral muestra que la mayoría de los empleados se encuentra en un nivel medio a alto de satisfacción, con un promedio de 2.73. La distribución indica que un número considerable de empleados está en el nivel máximo de satisfacción (4), mientras que pocos están en el nivel mínimo
Se proporciona un resumen estadístico de la variable ‘Ingreso Mensual’ para observar su distribución y cómo podría impactar la rotación.
# Resumen estadístico de Ingreso Mensual
summary(rotacion$Ingreso_Mensual)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1009 2911 4919 6503 8379 19999
# Histograma para Ingreso Mensual con colores multicolor
ggplot(rotacion, aes(x = Ingreso_Mensual)) +
geom_histogram(binwidth = 500, fill = "#bebada", color = "#FFFFFF", aes(y = ..count..), alpha = 0.8) +
labs(title = "Distribución del Ingreso Mensual",
x = "Ingreso Mensual",
y = "Frecuencia") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"),
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"))
El histograma de Ingreso Mensual muestra que los ingresos de los empleados están concentrados principalmente entre 2,911 y 8,379 unidades monetarias, con un ingreso promedio de 6,503 unidades. Se observa que el ingreso varía considerablemente, alcanzando un máximo de 19,999 unidades y un mínimo de 1,009 unidades, lo que sugiere una significativa disparidad salarial.
Se analiza la variable ‘Antigüedad en el Cargo’ para ver cómo varía entre los empleados y su posible relación con la rotación.
# Resumen estadístico de Antigüedad en el Cargo
summary(rotacion$Antigüedad_Cargo)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 2.000 3.000 4.229 7.000 18.000
# Histograma para Antigüedad en el Cargo con colores multicolor
ggplot(rotacion, aes(x = Antigüedad_Cargo)) +
geom_histogram(binwidth = 1, fill = "#fb8072", color = "#FFFFFF", aes(y = ..count..), alpha = 0.8) +
labs(title = "Distribución de la Antigüedad en el Cargo",
x = "Antigüedad en el Cargo (años)",
y = "Frecuencia") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"),
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"))
Se puede observar que muestra que la mayoría de los empleados tiene entre 2 y 7 años de antigüedad en su cargo, con un promedio de 4.23 años. Sin embargo, también se observa una minoría con antigüedades muy cortas (0 años) y una minoría con antigüedades extendidas (hasta 18 años), lo que indica una diversidad en la duración del empleo en los diferentes cargos..
En esta sección, se realizará un análisis bivariado entre la variable respuesta ‘Rotación’ y las variables seleccionadas, codificando ‘Rotación’ como 1 para ‘Si’ y 0 para ‘No’.
Se preparan los datos creando una variable binaria para la rotación que facilite el análisis y la modelación.
# Crear variable binaria para Rotación
rotacion$Rotacion_binaria <- ifelse(rotacion$Rotación == "Si", 1, 0)
En esta subsección se explora la relación entre la variable respuesta ‘Rotación’ y las variables categóricas seleccionadas.
Se analiza la relación entre realizar horas extra y la rotación de empleados mediante una tabla de contingencia.
# Tabla de contingencia
tabla_rotacion_horas <- table(rotacion$Horas_Extra, rotacion$Rotación)
colnames(tabla_rotacion_horas) <- c("No Rotación", "Rotación")
# Mostrar la tabla
kable(tabla_rotacion_horas, caption = "Rotación vs Horas Extra") %>%
kable_styling(full_width = F)
| No Rotación | Rotación | |
|---|---|---|
| No | 944 | 110 |
| Si | 289 | 127 |
# Gráfico de barras
ggplot(rotacion, aes(x = Horas_Extra, fill = Rotación)) +
geom_bar(position = "fill") +
labs(title = "Relación entre Rotación y Horas Extra",
x = "Horas Extra",
y = "Proporción",
fill = "Rotación") +
theme_minimal()
Se observa que entre los empleados que no realizan horas extra, 944 no
rotaron y 110 sí rotaron, lo que representa un 10.4% de rotación. En
contraste, entre los empleados que realizan horas extra, 289 no rotaron
y 127 sí rotaron, lo que equivale a un 30.5% de rotación. Esto sugiere
que los empleados que realizan horas extra tienen una mayor probabilidad
de rotación.
Se examina la relación entre el estado civil de los empleados y la rotación a través de una tabla de contingencia.
# Tabla de contingencia
tabla_rotacion_estado <- table(rotacion$Estado_Civil, rotacion$Rotación)
colnames(tabla_rotacion_estado) <- c("No Rotación", "Rotación")
# Mostrar la tabla
kable(tabla_rotacion_estado, caption = "Rotación vs Estado Civil") %>%
kable_styling(full_width = F)
| No Rotación | Rotación | |
|---|---|---|
| Casado | 589 | 84 |
| Divorciado | 294 | 33 |
| Soltero | 350 | 120 |
# Gráfico de barras
ggplot(rotacion, aes(x = Estado_Civil, fill = Rotación)) +
geom_bar(position = "fill") +
labs(title = "Relación entre Rotación y Estado Civil",
x = "Estado Civil",
y = "Proporción",
fill = "Rotación") +
theme_minimal()
Se puede observar que los empleados casados tienen una tasa de rotación más baja, con 589 que no rotaron y 84 que sí rotaron, lo que representa un 12.5% de rotación. Los empleados divorciados tienen una tasa de rotación del 10.1%, con 294 que no rotaron y 33 que sí rotaron. Por otro lado, los empleados solteros muestran la tasa más alta de rotación, con un 25.5%, ya que 350 no rotaron y 120 sí rotaron. Esto indica que los empleados solteros son más propensos a rotar que los casados o divorciados
Se analiza si la rotación varía significativamente entre los diferentes departamentos de la empresa.
# Tabla de contingencia
tabla_rotacion_departamento <- table(rotacion$Departamento, rotacion$Rotación)
colnames(tabla_rotacion_departamento) <- c("No Rotación", "Rotación")
# Mostrar la tabla
kable(tabla_rotacion_departamento, caption = "Rotación vs Departamento") %>%
kable_styling(full_width = F)
| No Rotación | Rotación | |
|---|---|---|
| IyD | 828 | 133 |
| RH | 51 | 12 |
| Ventas | 354 | 92 |
# Gráfico de barras
ggplot(rotacion, aes(x = Departamento, fill = Rotación)) +
geom_bar(position = "fill") +
labs(title = "Relación entre Rotación y Departamento",
x = "Departamento",
y = "Proporción",
fill = "Rotación") +
theme_minimal()
En el departamento de Investigación y Desarrollo (IyD), 828 empleados no rotaron y 133 sí lo hicieron, lo que equivale a una tasa de rotación del 13.8%. En Recursos Humanos (RH), la tasa de rotación es ligeramente más alta, con un 19% (51 no rotaron y 12 sí rotaron). El departamento de Ventas muestra la mayor tasa de rotación, con un 20.6%, ya que 354 empleados no rotaron y 92 sí lo hicieron. Esto sugiere que el departamento en el que se trabaja puede influir en la probabilidad de rotación, siendo Ventas el más afectado.
En esta subsección se explora la relación entre la variable respuesta ‘Rotación’ y las variables cuantitativas seleccionadas.
Se analiza la relación entre la satisfacción laboral y la rotación mediante un boxplot.
# Boxplot de Satisfacción Laboral según Rotación
ggplot(rotacion, aes(x = factor(Rotación), y = Satisfación_Laboral)) +
geom_boxplot(fill = "skyblue") +
xlab("Rotación") +
ylab("Satisfacción Laboral") +
ggtitle("Satisfacción Laboral según Rotación")
Los empleados que no rotaron presentan una mediana de satisfacción laboral alrededor de 3, mientras que aquellos que rotaron muestran una mediana ligeramente menor, cercana a 2. Esto sugiere que una menor satisfacción laboral está asociada con una mayor probabilidad de rotación.
Se explora cómo los ingresos mensuales se relacionan con la rotación utilizando un boxplot.
# Boxplot de Ingreso Mensual según Rotación
ggplot(rotacion, aes(x = factor(Rotación), y = Ingreso_Mensual)) +
geom_boxplot(fill = "lightgreen") +
xlab("Rotación") +
ylab("Ingreso Mensual") +
ggtitle("Ingreso Mensual según Rotación")
Los empleados que no rotaron tienen un ingreso mensual mediano cercano a 5000 unidades monetarias, con algunos casos que llegan hasta los 20,000. Por otro lado, los empleados que rotaron tienen un ingreso mensual mediano de aproximadamente 4000, con una menor dispersión. Esto sugiere que los empleados con ingresos más altos tienden a rotar menos.
Se examina la relación entre la antigüedad en el cargo y la rotación de empleados utilizando un boxplot.
# Boxplot de Antigüedad en el Cargo según Rotación
ggplot(rotacion, aes(x = factor(Rotación), y = Antigüedad_Cargo)) +
geom_boxplot(fill = "pink") +
xlab("Rotación") +
ylab("Antigüedad en el Cargo") +
ggtitle("Antigüedad en el Cargo según Rotación")
La antigüedad en el cargo muestra que los empleados que no rotaron tienen una mediana de antigüedad cercana a 6 años, mientras que los que rotaron tienen una mediana alrededor de 3 años. Los empleados con mayor antigüedad tienden a permanecer más tiempo en sus cargos, lo que sugiere que la rotación es más común entre empleados con menor antigüedad.
A partir de los análisis bivariados realizados entre la variable respuesta ‘Rotación’ y las variables categóricas y cuantitativas seleccionadas, se identifican las siguientes variables como determinantes en la rotación de empleados:
Estos resultados refuerzan la importancia de las variables analizadas en la predicción de la rotación de empleados y proporcionan una base sólida para la construcción de un modelo de regresión logística que permita estimar la probabilidad de rotación.
En esta sección, se realizará una partición de los datos en entrenamiento (70%) y prueba (30%), y se estimará un modelo de regresión logística con la muestra de entrenamiento.
Se divide el conjunto de datos de forma aleatoria en un conjunto de entrenamiento (70%) y un conjunto de prueba (30%).
# Establecer semilla para reproducibilidad
set.seed(123)
# División de los datos
indice_entrenamiento <- sample(1:nrow(rotacion), size = 0.7 * nrow(rotacion))
# Datos de entrenamiento y prueba
datos_entrenamiento <- rotacion[indice_entrenamiento, ]
datos_prueba <- rotacion[-indice_entrenamiento, ]
Se asegura que las variables categóricas estén correctamente convertidas en factores antes de la modelación.
# Convertir variables categóricas en factores en el conjunto de entrenamiento
datos_entrenamiento$Horas_Extra <- as.factor(datos_entrenamiento$Horas_Extra)
datos_entrenamiento$Estado_Civil <- as.factor(datos_entrenamiento$Estado_Civil)
datos_entrenamiento$Departamento <- as.factor(datos_entrenamiento$Departamento)
# Convertir variables categóricas en factores en el conjunto de prueba
datos_prueba$Horas_Extra <- as.factor(datos_prueba$Horas_Extra)
datos_prueba$Estado_Civil <- as.factor(datos_prueba$Estado_Civil)
datos_prueba$Departamento <- as.factor(datos_prueba$Departamento)
Se estima un modelo de regresión logística utilizando las variables seleccionadas y se muestra un resumen de los resultados.
# Estimación del modelo
modelo_logit <- glm(Rotacion_binaria ~ Horas_Extra + Estado_Civil + Departamento +
Satisfación_Laboral + Ingreso_Mensual + Antigüedad_Cargo,
data = datos_entrenamiento, family = binomial(link = "logit"))
# Resumen del modelo
summary(modelo_logit)
##
## Call:
## glm(formula = Rotacion_binaria ~ Horas_Extra + Estado_Civil +
## Departamento + Satisfación_Laboral + Ingreso_Mensual + Antigüedad_Cargo,
## family = binomial(link = "logit"), data = datos_entrenamiento)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -7.310e-01 3.165e-01 -2.309 0.020921 *
## Horas_ExtraSi 1.472e+00 1.962e-01 7.501 6.31e-14 ***
## Estado_CivilDivorciado -4.857e-01 2.916e-01 -1.666 0.095734 .
## Estado_CivilSoltero 9.825e-01 2.065e-01 4.759 1.94e-06 ***
## DepartamentoRH 8.035e-01 4.295e-01 1.871 0.061359 .
## DepartamentoVentas 6.866e-01 2.059e-01 3.334 0.000857 ***
## Satisfación_Laboral -3.361e-01 8.451e-02 -3.977 6.99e-05 ***
## Ingreso_Mensual -1.391e-04 3.106e-05 -4.479 7.50e-06 ***
## Antigüedad_Cargo -1.022e-01 3.273e-02 -3.123 0.001791 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 896.03 on 1028 degrees of freedom
## Residual deviance: 727.41 on 1020 degrees of freedom
## AIC: 745.41
##
## Number of Fisher Scoring iterations: 6
El modelo de regresión logística estimado ofrece información de los factores que influyen en la rotación de empleados. A continuación, se destacan los principales hallazgos basados en los coeficientes obtenidos.
En esta sección se interpretan los coeficientes obtenidos del modelo de regresión logística para entender cómo cada variable influye en la probabilidad de rotación de los empleados. A continuación, se describen las implicaciones de los coeficientes estimados:
En resumen, los coeficientes estimados proporcionan una comprensión clara de los factores que influyen en la rotación de empleados, confirmando la importancia de las horas extra, el estado civil, el departamento, la satisfacción laboral, el ingreso mensual y la antigüedad en el cargo como variables determinantes en este proceso.
En esta sección, se evaluará el poder predictivo del modelo utilizando la curva ROC y el AUC en el conjunto de prueba.
Se obtienen las probabilidades predichas y se clasifican los casos en rotación o no rotación usando un umbral estándar de 0.5.
# Predicciones de probabilidad
probabilidades <- predict(modelo_logit, newdata = datos_prueba, type = "response")
# Clasificación usando un umbral de 0.5
predicciones <- ifelse(probabilidades > 0.5, 1, 0)
# Convertir Rotación real a binaria
datos_prueba$Rotacion_binaria <- ifelse(datos_prueba$Rotación == "Si", 1, 0)
Se evalúa la capacidad del modelo para discriminar entre las clases usando la curva ROC y calculando el AUC.
# Cargar librería para la curva ROC
library(pROC)
## Type 'citation("pROC")' for a citation.
##
## Attaching package: 'pROC'
## The following objects are masked from 'package:stats':
##
## cov, smooth, var
# Generar la curva ROC
roc_obj <- roc(datos_prueba$Rotacion_binaria, probabilidades)
## Setting levels: control = 0, case = 1
## Setting direction: controls < cases
# Calcular el AUC
auc_valor <- auc(roc_obj)
# Mostrar el AUC
print(paste("El valor de AUC es:", round(auc_valor, 4)))
## [1] "El valor de AUC es: 0.752"
# Graficar la curva ROC
plot(roc_obj, col = "blue", main = "Curva ROC - Modelo de Rotación")
abline(a = 0, b = 1, lty = 2, col = "red")
La curva ROC (Receiver Operating Characteristic) es una herramienta utilizada para evaluar el rendimiento del modelo de clasificación. En el gráfico, se observa la relación entre la tasa de verdaderos positivos (sensibilidad) y la tasa de falsos positivos (1 - especificidad) para diferentes umbrales de decisión.
El área bajo la curva (AUC) es un indicador de la capacidad del modelo para distinguir entre las clases positivas y negativas. En este caso, el valor de AUC es 0.752, lo que sugiere que el modelo tiene un buen poder discriminatorio. Un AUC de 0.752 indica que, en promedio, existe un 75.2% de probabilidad de que el modelo clasifique correctamente un par de observaciones, una de cada clase. Este valor muestra que el modelo tiene un rendimiento aceptable para predecir la rotación de empleados.
En este análisis se ha identificado una serie de factores que influyen significativamente en la rotación de empleados dentro de la empresa. A través del modelo de regresión logística, se ha podido determinar que las variables seleccionadas, tanto categóricas como cuantitativas, tienen un impacto notable en la probabilidad de que un empleado decida rotar. Este modelo ha permitido no solo confirmar las hipótesis planteadas, sino también descubrir nuevas relaciones y patrones dentro de los datos.
Entre las variables evaluadas, se destacaron como las más influyentes:
Horas Extra: Los empleados que realizan horas extra presentan una probabilidad significativamente mayor de rotación. Este hallazgo sugiere que el desgaste asociado con el trabajo adicional podría estar afectando la satisfacción laboral y motivando a los empleados a buscar otras oportunidades.
Estado Civil: Los empleados solteros y divorciados mostraron una mayor tendencia a la rotación en comparación con los empleados casados. Esto podría estar relacionado con la estabilidad familiar y las responsabilidades personales que influyen en la decisión de cambiar de empleo.
Departamento: Se observó que los empleados del departamento de Recursos Humanos tienen una menor tendencia a rotar, mientras que los de Ventas presentan una mayor propensión. Esto sugiere que el ambiente y las condiciones laborales varían considerablemente entre departamentos, lo que afecta las tasas de rotación.
Satisfacción Laboral: Una menor satisfacción laboral está asociada con una mayor probabilidad de rotación. Este resultado confirma que la satisfacción en el trabajo es un factor crucial para la retención de empleados.
Ingreso Mensual: Empleados con menores ingresos tienen una mayor tendencia a rotar. Esto subraya la importancia de una política salarial competitiva para retener talento dentro de la organización.
Antigüedad en el Cargo: Los empleados con menor antigüedad en su posición actual también presentan una mayor probabilidad de rotación. Esto sugiere que la experiencia y el compromiso con la empresa se fortalecen con el tiempo.
Basado en los resultados del análisis, se sugieren las siguientes estrategias para reducir la rotación de empleados en la empresa:
Equilibrio entre trabajo y vida personal: Es crucial implementar políticas que reduzcan la necesidad de horas extra y promuevan un equilibrio saludable entre la vida laboral y personal de los empleados. Esto podría incluir la optimización de procesos y la redistribución de la carga de trabajo.
Programas de retención para empleados jóvenes y solteros: Ofrecer beneficios adicionales y oportunidades de desarrollo profesional a empleados solteros y jóvenes puede aumentar su compromiso con la empresa y reducir su propensión a buscar otras oportunidades.
Mejora en la satisfacción laboral: Invertir en un ambiente de trabajo positivo, con reconocimiento al desempeño y oportunidades de crecimiento, puede mejorar la satisfacción laboral y reducir la rotación.
Revisión de la estructura salarial: Asegurarse de que los salarios sean competitivos y reflejen el valor de los empleados es esencial para disminuir la rotación, especialmente entre aquellos con menores ingresos.
Fortalecimiento de la antigüedad: Fomentar la permanencia a largo plazo mediante planes de carrera claros y oportunidades de promoción puede ayudar a disminuir la rotación de empleados con menos antigüedad en la empresa.
El análisis realizado ha revelado importantes factores que influyen en la rotación de empleados dentro de la organización. A través del uso de un modelo de regresión logística, se ha demostrado que tanto las características personales, como el estado civil y la antigüedad en el cargo, así como factores laborales, como la realización de horas extra y el departamento en el que se trabaja, tienen un impacto significativo en la decisión de los empleados de permanecer o rotar.
Es evidente que la rotación no es un fenómeno aleatorio, sino que está profundamente ligado a la satisfacción laboral, la estructura salarial, y el balance entre vida personal y profesional. La implementación de políticas que aborden estos aspectos podría ser clave para retener talento y reducir las tasas de rotación, lo que a largo plazo contribuirá a la estabilidad y el crecimiento de la empresa.
En resumen, el estudio no solo ha confirmado hipótesis previas sobre las causas de la rotación, sino que también ha proporcionado una base sólida para la toma de decisiones estratégicas en la gestión de recursos humanos. La atención a las necesidades de los empleados y la mejora de las condiciones laborales se presentan como caminos esenciales para construir una organización más resiliente y comprometida.