| title: “Unidad 3” |
| author: “Gustavo Ruiz” |
| date: “2023-09-19” |
| output: |
| pdf_document: default |
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.
library(paqueteMODELOS)
## Loading required package: boot
## Loading required package: broom
## Loading required package: GGally
## Loading required package: ggplot2
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
## Loading required package: gridExtra
## Loading required package: knitr
## Loading required package: summarytools
data("rotacion")
str(rotacion)
## tibble [1,470 × 24] (S3: tbl_df/tbl/data.frame)
## $ Rotación : chr [1:1470] "Si" "No" "Si" "No" ...
## $ Edad : num [1:1470] 41 49 37 33 27 32 59 30 38 36 ...
## $ Viaje de Negocios : chr [1:1470] "Raramente" "Frecuentemente" "Raramente" "Frecuentemente" ...
## $ Departamento : chr [1:1470] "Ventas" "IyD" "IyD" "IyD" ...
## $ Distancia_Casa : num [1:1470] 1 8 2 3 2 2 3 24 23 27 ...
## $ Educación : num [1:1470] 2 1 2 4 1 2 3 1 3 3 ...
## $ Campo_Educación : chr [1:1470] "Ciencias" "Ciencias" "Otra" "Ciencias" ...
## $ Satisfacción_Ambiental : num [1:1470] 2 3 4 4 1 4 3 4 4 3 ...
## $ Genero : chr [1:1470] "F" "M" "M" "F" ...
## $ Cargo : chr [1:1470] "Ejecutivo_Ventas" "Investigador_Cientifico" "Tecnico_Laboratorio" "Investigador_Cientifico" ...
## $ Satisfación_Laboral : num [1:1470] 4 2 3 3 2 4 1 3 3 3 ...
## $ Estado_Civil : chr [1:1470] "Soltero" "Casado" "Soltero" "Casado" ...
## $ Ingreso_Mensual : num [1:1470] 5993 5130 2090 2909 3468 ...
## $ Trabajos_Anteriores : num [1:1470] 8 1 6 1 9 0 4 1 0 6 ...
## $ Horas_Extra : chr [1:1470] "Si" "No" "Si" "Si" ...
## $ Porcentaje_aumento_salarial: num [1:1470] 11 23 15 11 12 13 20 22 21 13 ...
## $ Rendimiento_Laboral : num [1:1470] 3 4 3 3 3 3 4 4 4 3 ...
## $ Años_Experiencia : num [1:1470] 8 10 7 8 6 8 12 1 10 17 ...
## $ Capacitaciones : num [1:1470] 0 3 3 3 3 2 3 2 2 3 ...
## $ Equilibrio_Trabajo_Vida : num [1:1470] 1 3 3 3 3 2 2 3 3 2 ...
## $ Antigüedad : num [1:1470] 6 10 0 8 2 7 1 1 9 7 ...
## $ Antigüedad_Cargo : num [1:1470] 4 7 0 7 2 7 0 0 7 7 ...
## $ Años_ultima_promoción : num [1:1470] 0 1 0 3 2 3 0 0 1 7 ...
## $ Años_acargo_con_mismo_jefe : num [1:1470] 5 7 0 0 2 6 0 0 8 7 ...
summary(rotacion)
## Rotación Edad Viaje de Negocios Departamento
## Length:1470 Min. :18.00 Length:1470 Length:1470
## Class :character 1st Qu.:30.00 Class :character Class :character
## Mode :character Median :36.00 Mode :character Mode :character
## Mean :36.92
## 3rd Qu.:43.00
## Max. :60.00
## Distancia_Casa Educación Campo_Educación Satisfacción_Ambiental
## Min. : 1.000 Min. :1.000 Length:1470 Min. :1.000
## 1st Qu.: 2.000 1st Qu.:2.000 Class :character 1st Qu.:2.000
## Median : 7.000 Median :3.000 Mode :character Median :3.000
## Mean : 9.193 Mean :2.913 Mean :2.722
## 3rd Qu.:14.000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :29.000 Max. :5.000 Max. :4.000
## Genero Cargo Satisfación_Laboral Estado_Civil
## Length:1470 Length:1470 Min. :1.000 Length:1470
## Class :character Class :character 1st Qu.:2.000 Class :character
## Mode :character Mode :character Median :3.000 Mode :character
## Mean :2.729
## 3rd Qu.:4.000
## Max. :4.000
## Ingreso_Mensual Trabajos_Anteriores Horas_Extra
## Min. : 1009 Min. :0.000 Length:1470
## 1st Qu.: 2911 1st Qu.:1.000 Class :character
## Median : 4919 Median :2.000 Mode :character
## Mean : 6503 Mean :2.693
## 3rd Qu.: 8379 3rd Qu.:4.000
## Max. :19999 Max. :9.000
## Porcentaje_aumento_salarial Rendimiento_Laboral Años_Experiencia
## Min. :11.00 Min. :3.000 Min. : 0.00
## 1st Qu.:12.00 1st Qu.:3.000 1st Qu.: 6.00
## Median :14.00 Median :3.000 Median :10.00
## Mean :15.21 Mean :3.154 Mean :11.28
## 3rd Qu.:18.00 3rd Qu.:3.000 3rd Qu.:15.00
## Max. :25.00 Max. :4.000 Max. :40.00
## Capacitaciones Equilibrio_Trabajo_Vida Antigüedad Antigüedad_Cargo
## Min. :0.000 Min. :1.000 Min. : 0.000 Min. : 0.000
## 1st Qu.:2.000 1st Qu.:2.000 1st Qu.: 3.000 1st Qu.: 2.000
## Median :3.000 Median :3.000 Median : 5.000 Median : 3.000
## Mean :2.799 Mean :2.761 Mean : 7.008 Mean : 4.229
## 3rd Qu.:3.000 3rd Qu.:3.000 3rd Qu.: 9.000 3rd Qu.: 7.000
## Max. :6.000 Max. :4.000 Max. :40.000 Max. :18.000
## Años_ultima_promoción Años_acargo_con_mismo_jefe
## Min. : 0.000 Min. : 0.000
## 1st Qu.: 0.000 1st Qu.: 2.000
## Median : 1.000 Median : 3.000
## Mean : 2.188 Mean : 4.123
## 3rd Qu.: 3.000 3rd Qu.: 7.000
## Max. :15.000 Max. :17.000
El conjunto de datos cuenta con información de 1.470 empleados, a los cuales se les ha medido 24 variables, de las cuales 16 son numericas y 8 son categóricas. Entre las variables categoricas se encuentra la rotación, que indica si el empleado Rota o No rota de puesto, representada de forma Binaria y será la variable interés, queriendo calcular un modelo explicativo que relacione a las variables independientes mediante el efecto causado a la ocurrencia de la rotación de un empleado.
Seleccione 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que se consideren estén relacionadas con la rotación.
Edad: Actualmente las personas más jóvenes tienden a tener mas cambios en términos laborales por razones como su estado emocional y salud mental, búsqueda de nuevas oportunidades, mejores salarios, entre otros.
Ingreso mensual: Las personas suelen buscar empleos que ofrezcan una compensación adecuada y competitiva. Si un empleado siente que su salario no es justo en comparación con su carga de trabajo, sus responsabilidades y el mercado laboral, es más probable que busque oportunidades en otras empresas que ofrezcan una remuneración más atractiva.
Antiguedad cargo: A medida que los empleados permanecen en un mismo puesto durante mucho tiempo, es posible que comiencen a sentir que no tienen oportunidades de desarrollo o crecimiento en su función actual. Esto puede llevar a la insatisfacción y al deseo de buscar desafíos y oportunidades de crecimiento en otras areas.
HIPOTESIS:
Edad: Creemos que las personas con menor edad son mas ambiciosas y quieren cambiar constantemente de cargo.
Ingreso mensual: Creemos que las personas con menos ingresos buscan cambiar rapidamente a un puesto con mejor remuneración.
Antiguedad cargo: Creemos que las personas mas antiguas haciendo un cargo se sienten aburridos y les gustaria cambiar.
Departamento: Cada área o departamento de una empresa puede tener su propia cultura y ambiente de trabajo. Algunos departamentos pueden tener una cultura de trabajo más positiva y un ambiente laboral más saludable que otros. Los empleados pueden sentirse más comodos o satisfechos en un departamento con un mejor ambiente.
Genero: En muchas partes del mundo, existe una brecha salarial de género, lo que significa que las mujeres tienden a ganar menos que los hombres por trabajos similares o equivalentes ademas la discriminación y los sesgos de género pueden influir en la percepción de las oportunidades y el trato justo en el lugar de trabajo.
Estado civil: El estado civil a menudo se relaciona con las responsabilidades financieras. Los empleados casados pueden tener una carga financiera más alta, lo que los hace más sensibles a la remuneración y los beneficios que ofrece una empresa. Si sienten que su salario y beneficios actuales no satisfacen las necesidades de su familia, pueden considerar cambiar de area para obtener una compensación más adecuada.
HIPOTESIS:
Departamento: Creemos que el departamento de ventas puede tener mas personas que quieran cambiar de area por alguna condicion de ambiente laboral o cultura propia de el.
Genero: Creemos que son mas hombres los que cambian de cargos que mujeres por cuestiones culturales de machismo y brecha salarial.
Estado civil: Creemos que los casados buscan mejorar sus condiciones para mantener a su familia.
Realiza un análisis univariado (caracterización) de la información contenida en la base de datos rotacion.
library(plotly)
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
library(ggplot2)
hitedad <- plot_ly(alpha = 0.6)
hitedad <- hitedad %>% add_histogram(x = rotacion$Edad, name = "Edad", marker = list(color = "lightblue", opacity = 0.5, line = list(color = 'black', width = 1)))
hitedad <- hitedad %>% layout(barmode = "overlay", title = "Histograma de edad")
hitedad
ggplot(rotacion, aes(x = "", y = Edad)) +
geom_boxplot() +
labs(title = "Boxplot de Edad")
EDAD, La mayoría de los empleados de la empresa se encuentran en el rango de edad entre los 30 y 40 años con una media de 36 años, esto nos demuestra que en esta empresa las edades menos frecuentes son las más alejadas a este rango de edad donde sus valores extremos son de 18 y 60 años.
hitingre <- plot_ly(alpha = 0.6)
hitingre <- hitingre %>% add_histogram(x = rotacion$Ingreso_Mensual, name = "Ingreso mensual", marker = list(color = "yellow", opacity = 0.5, line = list(color = 'black', width = 1)))
hitingre <- hitingre %>% layout(barmode = "overlay", title = "Histograma de ingreso mensual")
hitingre
ggplot(rotacion, aes(x = "", y = Ingreso_Mensual)) +
geom_boxplot() +
labs(title = "Boxplot de Ingreso Mensual")
INGRESO MENSUAL, La media del ingreso mensual es de 6.503 pero hay empleados muy por encima de ella, salarios que llegan hasta los 19.999. Esto demuestra que la mayoria de los trabajadores se concentran en los bajos salarios de la compañia y que hay una brecha muy grande entre estos salarios y los de los mejores pagos.
hitanti <- plot_ly(alpha = 0.6)
hitanti <- hitanti %>% add_histogram(x = rotacion$Antigüedad_Cargo, name = "Antigueda en el cargo", marker = list(color = "brown", opacity = 0.5, line = list(color = 'black', width = 1)))
hitanti <- hitanti %>% layout(barmode = "overlay", title = "Histograma de antiguedad en el cargo")
hitanti
ggplot(rotacion, aes(x = "", y = Antigüedad_Cargo)) +
geom_boxplot() +
labs(title = "Boxplot de Antigüedad en Cargo")
ANTIGüEDAD EN EL CARGO, Podemos evidenciar que la mayoria de empleados, tienen menos de 5 años de antiguedad en su cargo demostrado en un decrecimiento lineal y una renovación de la fuerza laboral. Los empleados con mas de 6 años de antiguedad son un grupo muy pequeño, a pesar de tener un pico de mas de 200 personas con de 7 años de permanencia en la empresa.
summary(rotacion[, c("Edad","Antigüedad_Cargo","Ingreso_Mensual")])
## Edad Antigüedad_Cargo Ingreso_Mensual
## Min. :18.00 Min. : 0.000 Min. : 1009
## 1st Qu.:30.00 1st Qu.: 2.000 1st Qu.: 2911
## Median :36.00 Median : 3.000 Median : 4919
## Mean :36.92 Mean : 4.229 Mean : 6503
## 3rd Qu.:43.00 3rd Qu.: 7.000 3rd Qu.: 8379
## Max. :60.00 Max. :18.000 Max. :19999
Análisis: La edad media de los trabajadores de la empresa es de 36.9 años, sin embargo, se cuenta con una desviación estándar muy por encima de 1 la cual alcanza un valor de 9.14, esta dispersión se ve reflejada con la edad mínima de 18 años y máxima de 60 años en el grupo evaluado.
Con relación al ingreso mensual obtenido por los trabajadores se tiene que la media general del sueldo es de $6,500,000 sin embargo la desviación estándar que genera ese mismo valor es de $4,710,000 lo que representa una dispersión muy elevada. Esto anterior se corrobora en la revisión del sueldo mínimo $1,010,000 y el máximo $20,000,000, entre los cuales hay un rango considerable.
La antiguedad del cargo muestra que hay una renovación en la fuerza laboral, algo que es normal en las empresas puesto que despues de cierta edad (8 años en este caso), es mas dificir despedir a una persona que mantenerla en el puesto.
hitdepa <- plot_ly(alpha = 0.6)
hitdepa <- hitdepa %>% add_histogram(x = rotacion$Departamento, name = "Departamento", marker = list(color = "green", opacity = 0.5, line = list(color = 'black', width = 1)))
hitdepa <- hitdepa %>% layout(barmode = "overlay", title = "Histograma de Departamento")
hitdepa
DEPARTAMENTO, Se observa que mas del 60% de los trabajadores observados en este estudio pertenecen al area de Innovación y Desarrollo por lo que esta area tendria una probabilidad mas alta de tener a los trabajadores que rotan.
hitgen <- plot_ly(alpha = 0.6)
hitgen <- hitgen %>% add_histogram(x = rotacion$Genero, name = "Genero", marker = list(color = "grey", opacity = 0.5, line = list(color = 'black', width = 1)))
hitgen <- hitgen %>% layout(barmode = "overlay", title = "Histograma de genero")
hitgen
GENERO, Se observa que un 60% de los trabajadores son hombres, este numero no es tan malo puesto que hay empresas con indices muy altos de hombres en la organización y apartan de cargos importantes a las mujeres.
hitest <- plot_ly(alpha = 0.6)
hitest <- hitest %>% add_histogram(x = rotacion$Estado_Civil, name = "Estado Civil", marker = list(color = "purple", opacity = 0.5, line = list(color = 'black', width = 1)))
hitest <- hitest %>% layout(barmode = "overlay", title = "Histograma de estado civil")
hitest
Estado Civil, Podemos ver que la población de la empresa se distribuye mayoritariamente en personas casadas siendo un 45.8%, seguidos por los solteros con un 32% y por ultimo los divorciados con 22.2%.
Análisis: A partir de la tabla y las gráficas generadas se pueden inferir valores que permiten realizar análisis a las variables de manera unitaria, por ejemplo en términos del estado civil de los trabajadores de la empresa se obtiene que el porcentaje más grande pertenece a las personas casadas con un 45.8% para un total de 673 trabajadores, por el contrario, el valor mas bajo con tan solo 327 personas son las que se encuentran en estado divorciado los cuales abarcan tan solo un 22.2%, seguido después de las personas solteras con un 32% y total de 470 personas.
Con relación a el genero, la mayor cantidad de trabajadores son hombres sin embargo el 40% son mujeres, esta cifra demuestra que la empresa busca una igualdad de genero en su fuerza laboral. Con respecto al departamento, las mayoria de trabajadores estan en el area de Innovación y desarrollo seguido de ventas y luego recursos humanos, esto muestra que la empresa se dedica a productos cambiantes y nuevos desarrollos tecnologicos.
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.
rotacion_biv=rotacion
rotacion_biv$Rotación=as.numeric(rotacion_biv$Rotación=="Si")
Una ves codificada la variable Rotacion en la base “rotacion_mod”, se realiza un análisis bivariado a cada una de las variables seleccionadas. Para lo anterior, se grafican las variables teniendo como resultado la variable rotación
library(CGPfunctions)
library(plotly)
library(purrr)
library(tidyselect)
rotacion_biv$Edad_grupo=cut(rotacion_biv$Edad,breaks = c(0,30,40,50,60))
PlotXTabs2(data = rotacion_biv,x = Edad_grupo,y = Rotación)
En el grupo que se presenta la mayor rotación es en el de menores de 30 años con un 26% superando a los grupos que se encuentran en el rango de edades mayores de 30 y hasta 60 años, esto nos permite confirmar nuestra hipótesis donde deciamos que las personas con menor edad son las que más buscan cambiar de cargo.
t.test(rotacion$Edad~rotacion$Rotación)
##
## Welch Two Sample t-test
##
## data: rotacion$Edad by rotacion$Rotación
## t = 5.8291, df = 316.94, p-value = 1.371e-08
## alternative hypothesis: true difference in means between group No and group Si is not equal to 0
## 95 percent confidence interval:
## 2.619728 5.289170
## sample estimates:
## mean in group No mean in group Si
## 37.56204 33.60759
rotacion_biv$Ingreso_Mensual_acu=cut(rotacion_biv$Ingreso_Mensual,breaks = c(1000,4000,8000,12000,16000,20000))
PlotXTabs2(data = rotacion_biv,x = Ingreso_Mensual_acu,y = Rotación)
Las personas que ganan menos a 4 millones son las personas que mas rotación presentan con un 25% y las personas que menos rotan son las que ganan por encima de 16 millones. Esto confirma nuestra hipotesis de que las personas con menos ingresos buscan cambiar rapidamente a un puesto con mejor remuneración.
t.test(rotacion$Ingreso_Mensual~rotacion$Rotación)
##
## Welch Two Sample t-test
##
## data: rotacion$Ingreso_Mensual by rotacion$Rotación
## t = 7.4826, df = 412.74, p-value = 4.434e-13
## alternative hypothesis: true difference in means between group No and group Si is not equal to 0
## 95 percent confidence interval:
## 1508.244 2583.050
## sample estimates:
## mean in group No mean in group Si
## 6832.740 4787.093
rotacion_biv$Antigüedad_Cargo_acu=cut(rotacion_biv$Antigüedad_Cargo,breaks = c(0,3,6,9,12,15,18))
PlotXTabs2(data = rotacion_biv,x = Antigüedad_Cargo_acu,y = Rotación)
La grafica nos muestra que un 17% de las personas que tienen menos de 3 años en la compañia buscan rotar, este porcentaje es el mas alto sin embargo no hay mucha diferencia con los rangos siguientes, 10% de los trabajadores de 3 a 6 años en la compañia buscan rotar, el 12% de los trabajadores de 6 a 9 años en la compañia buscan rotar y las personas con mas tiempo en la compañia no rotan. Esto va en contra de la hipotesis propuesta al inicio pues se creia que las personas mas antiguas haciendo un cargo se sienten aburridos y les gustaria cambiar.
t.test(rotacion$Antigüedad_Cargo~rotacion$Rotación)
##
## Welch Two Sample t-test
##
## data: rotacion$Antigüedad_Cargo by rotacion$Rotación
## t = 6.8471, df = 366.57, p-value = 3.187e-11
## alternative hypothesis: true difference in means between group No and group Si is not equal to 0
## 95 percent confidence interval:
## 1.127107 2.035355
## sample estimates:
## mean in group No mean in group Si
## 4.484185 2.902954
PlotXTabs2(data = rotacion_biv,x = Departamento,y = Rotación)
Podemos observar que el departamento que mas personal rota es el de Ventas, esto es algo comun en las empresas vendedoras o comercializadoras de productos pues los indicadores de ventas son muy agresivos en algunos lugares y muchas personas no soportan la carga de estos indicadores haciendo que la persona considere un cambio. 21% de las personas en ventas rotan, un porcentaje mayor que el 19% de las personas en Recursos Humanos. Estas dos areas estan muy cerca de tener la misma proporción de trabajadores rotando. Con esta informacion podemos comprobar la hipotesis planteada inicialmente donde creiamos que el departamento de ventas tiene la mayor cantidad de personas que quieren cambiar de area por alguna condicion de ambiente laboral o cultura propia de el.
PlotXTabs2(data = rotacion_biv,x = Genero,y = Rotación)
Son mas hombres los que rotan con un 17% versus 15% de las mujeres. Esto rechaza la hipotesis inicial en la que creiamos que eran mas hombres los que cambian de cargos que mujeres por cuestiones culturales de machismo y brecha salarial.
PlotXTabs2(data = rotacion_biv,x = Estado_Civil,y = Rotación)
Mas de la mitad de las personas que realizaron el proceso de rotación son las que se encuentran en el grupo de solteros con un 26%. Los casados están por debajo de los solteros, son el grupo intermedio con un 12% y los divorciados representan el 10% de personas las cuales rotan. Esto tambien va en contra de la hipotesis planteada inicialmente donde creiamos que los casados buscan cambiar constantemente para mejorar sus condiciones y mantener a su familia.
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.
Realizamos el modelo de regresión logistico
model1 = glm(Rotación~Estado_Civil+Departamento+Genero+Edad+Antigüedad_Cargo+
Ingreso_Mensual,data = rotacion_biv,family = "binomial")
summary(model1)
##
## Call:
## glm(formula = Rotación ~ Estado_Civil + Departamento + Genero +
## Edad + Antigüedad_Cargo + Ingreso_Mensual, family = "binomial",
## data = rotacion_biv)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -6.486e-01 3.527e-01 -1.839 0.065899 .
## Estado_CivilDivorciado -2.536e-01 2.220e-01 -1.142 0.253472
## Estado_CivilSoltero 7.572e-01 1.635e-01 4.630 3.66e-06 ***
## DepartamentoRH 5.176e-01 3.478e-01 1.488 0.136726
## DepartamentoVentas 5.919e-01 1.598e-01 3.705 0.000211 ***
## GeneroM 1.785e-01 1.539e-01 1.160 0.246128
## Edad -2.170e-02 9.593e-03 -2.262 0.023709 *
## Antigüedad_Cargo -1.033e-01 2.656e-02 -3.889 0.000101 ***
## Ingreso_Mensual -7.735e-05 2.517e-05 -3.073 0.002123 **
## ---
## 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: 1175.5 on 1461 degrees of freedom
## AIC: 1193.5
##
## Number of Fisher Scoring iterations: 5
Aquí está la interpretación:
“Estado_CivilDivorciado” tiene un coeficiente negativo (-2.536e-01), pero no es estadísticamente significativo (p-value > 0.05). Esto sugiere que no se encontró evidencia estadísticamente sólida de que la variable en cuestión tenga un impacto significativo en la probabilidad de rotación de empleados, lo que significa que no hay una diferencia significativa entre aquellos que están divorciados y aquellos que no lo están.
“Estado_CivilSoltero” tiene un coeficiente positivo (7.572e-01) y es estadísticamente significativo (p-value < 0.001). Esto sugiere que las personas solteras tienen mayores probabilidades de rotación en comparación con las personas casadas, divorciadas o viudas, una vez que se controlan las otras variables.
“DepartamentoRH” tiene un coeficiente positivo (5.176e-01), pero no es estadísticamente significativo (p-value > 0.05). Esto sugiere que no hay una diferencia significativa en las probabilidades de rotación entre el departamento de Recursos Humanos y otros departamentos, una vez que se controlan las otras variables.
“DepartamentoVentas” tiene un coeficiente positivo (5.919e-01) y es estadísticamente significativo (p-value < 0.001). Esto sugiere que las personas que trabajan en el departamento de Ventas tienen mayores probabilidades de rotación en comparación con otros departamentos, una vez que se controlan las otras variables.
“GeneroM” tiene un coeficiente positivo (1.785e-01), pero no es estadísticamente significativo (p-value > 0.05). Esto sugiere que no hay una diferencia significativa en las probabilidades de rotación entre géneros masculino y femenino, una vez que se controlan las otras variables.
“Edad” tiene un coeficiente negativo (-2.170e-02) y es estadísticamente significativo (p-value < 0.05). Esto sugiere que a medida que la edad de un empleado aumenta, las probabilidades de rotación tienden a disminuir.
“Antigüedad_Cargo” tiene un coeficiente negativo (-1.033e-01) y es estadísticamente significativo (p-value < 0.001). Esto sugiere que a medida que la antigüedad en el cargo de un empleado aumenta, las probabilidades de rotación tienden a disminuir.
“Ingreso_Mensual” tiene un coeficiente negativo (-7.735e-05) y es estadísticamente significativo (p-value < 0.01). Esto sugiere que a medida que el ingreso mensual de un empleado aumenta, las probabilidades de rotación tienden a disminuir.
Transformamos los coeficientes estimados del modelo de regresión logística en probabilidades. Esta transformación se realiza para interpretar los coeficientes en términos de cómo afectan a las probabilidades de que ocurra el evento de interés “Rotación”.
modelexp = exp(model1$coefficients)/(exp(model1$coefficients) +1)
modelexp
## (Intercept) Estado_CivilDivorciado Estado_CivilSoltero
## 0.3432992 0.4369450 0.6807361
## DepartamentoRH DepartamentoVentas GeneroM
## 0.6265909 0.6438091 0.5445086
## Edad Antigüedad_Cargo Ingreso_Mensual
## 0.4945761 0.4742034 0.4999807
“Estado_CivilSoltero” tiene una probabilidad de 0.6807 de éxito cuando todas las demás variables se mantienen constantes, es decir, si aumenta en una unidad la variable “Estado_CivilSoltero”, manteniendo todas las demás constantes, la probabilidad de “Rotación” disminuirá en un factor de 0.6807
“GeneroM” tiene una probabilidad de 0.5445 de éxito cuando todas las demás variables se mantienen constantes.
“Antigüedad_Cargo” tiene una probabilidad de 0.4742 de éxito cuando todas las demás variables se mantienen constantes.
“Ingreso_Mensual” tiene una probabilidad de 0.499 de éxito cuando todas las demás variables se mantienen constantes.
“DepartamentoVentas” tiene una probabilidad de 0.6438 de éxito cuando todas las demás variables se mantienen constantes.
“Estado_CivilDivorciado” tiene una probabilidad de 0.4369 de éxito cuando todas las demás variables se mantienen constantes.
“Edad” tiene una probabilidad de 0.4945 de éxito cuando todas las demás variables se mantienen constantes.
“DepartamentoRH” tiene una probabilidad de 0.6265 de éxito cuando todas las demás variables se mantienen constantes.
Evaluar el poder predictivo del modelo con base en la curva ROC y el AUC.
library(pROC)
## Type 'citation("pROC")' for a citation.
##
## Attaching package: 'pROC'
## The following objects are masked from 'package:stats':
##
## cov, smooth, var
prediccion1= predict(model1,list( Departamento=rotacion$Departamento, Estado_Civil=rotacion$Estado_Civil, Genero = rotacion$Genero, Edad = rotacion$Edad, Ingreso_Mensual = rotacion$Ingreso_Mensual, Antigüedad_Cargo = rotacion$Antigüedad_Cargo ),type = "response")
ROC_resp= roc(rotacion$Rotación~prediccion1, percent = T, ci=T)
## Setting levels: control = No, case = Si
## Setting direction: controls < cases
ROC_resp
##
## Call:
## roc.formula(formula = rotacion$Rotación ~ prediccion1, percent = T, ci = T)
##
## Data: prediccion1 in 1233 controls (rotacion$Rotación No) < 237 cases (rotacion$Rotación Si).
## Area under the curve: 71.8%
## 95% CI: 68.2%-75.41% (DeLong)
plot(ROC_resp,print.auc=T,print.thres = "best",col="red"
,xlab = "Specificity", ylab = "Sensitivity")
coords(ROC_resp, "best", ret="threshold")
## threshold
## 1 0.1512603
El AUC es del 71.8%, lo que indica que el modelo tiene un buen rendimiento para distinguir entre los empleados que tienen una probabilidad alta de rotación y aquellos que no la tienen es decir tiene un poder predictivo moderado para distinguir entre las dos categorías de la variable dependiente, puesto que es mayor a 0.5, el cual es el escenario que indica que las predicciones son aleatorias. Además, el intervalo de confianza del 95% indica que existe una alta probabilidad de que el verdadero AUC esté entre el 68.2% y el 75.4%.
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).
Predecir un individuo con las siguientes características:
Y se hace la predicción con estos valores.
Empleadox <- data.frame(Edad = 32,
Antigüedad_Cargo = 3,
Ingreso_Mensual = 5000,
Genero = "M",
Departamento = "Ventas",
Estado_Civil = "Soltero")
rotacionx <- predict(model1, newdata = Empleadox, type = "response")
rotacionx
## 1
## 0.3747507
Un trabajador con las caracteristicas mencionadas tiene un 37% de probabilidad de rotar en el trabajo
Teniendo en cuenta que la probabilidad de rotacion base es de 34.32% y este empleado supera en 3% este promedio, es muy probable que este empleado quiera rotar de cargo.
Tomando como punto de corte el 0.15 encontrado en la curva ROC estimada y considerando la probabilidad estimada por el modelo de 0,3432, el empleado está propenso a rotar. Por lo tanto habría que incluirlo en una campaña en caso de que se quiera evitar que esto suceda.
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).
Las variables mas significativas del modelo son el estado civil-soltero, departamento-ventas, antiguedad en el cargo, ingreso mensual y la edad.
-Al analizar los resultados obtenidos con la variable Estado civil, se puede observar una mayor tendencia de rotación en las personas solteras, donde se infiere que su rotación es por la aparición de nuevas oportunidades y porque a esta edad no hay una responsabilidad personal que obligue a una persona a cuidar su trabajo actual. Muchos jovenes no se mantienen en sus trabajos por que no ven un futuro en el por lo que se propone motivar a los jovenes con incentivos economicos, estudiantiles y demas que promuevan el crecimiento personal y laboral, ademas de un ruta de carrera en la empresa para que vean sus posibilidades de crecimiento segun su desempeño.
-La variable de Departamento nos mostro que el area de ventas es la que mas rota en la empresa, esto es debido a las posibles politicas de ventas de la empresa sin embargo se propone aumentar la capacitación en ventas para brindarle herramientas al trabajador y lograr sus objetivos, haciendo que el trabajo se vuelva una actividad que le genere satisfacción y no dolores de cabeza o estres al trabajador por el incumplimientos de sus objetivos.
-Las variables edad y antigüedad se relacionan proporcionalmente entre ellas. Las personas mas jovenes buscan nuevas oportunidades porque no quieren caer en la monotonia del mismo trabajo que no los satisface y las personas que ya tienen varios años en la empresa estan acostumbrados a esa monotonia que les produce estar en la zona de comfort y no buscan cambiar. Se propone la misma tecnica que a las personas solteras, motivar a los jovenes con incentivos economicos, estudiantiles y demas que promuevan el crecimiento personal y laboral, ademas de un ruta de carrera en la empresa para que vean sus posibilidades de crecimiento segun su desempeño. Tambien se puede mejorar el area de bienestar, incluyendo actividades recreativas y de diversión en trabajadores. Si se trata de una empresa presencial se puede gestionar zonas de descanso para que los trabajadores en sus pausas activas puedan tomarse un respiro, también puede crearse espacios de juegos con actividades tradicionales como mesas de Ping-Pong, zonas de juegos de mesa, áreas de vídeo juegos, canchas (fútbol, basquetbol, entre otros.), por ultimo otro posible espacio son las zonas de lunch gratuito en donde las personas puedan ir a comer o tomar algo sin necesidad de salir de sus espacios de trabajo y sin costo alguno.
-El ingreso salarial tambien es determinante a la hora de rotar, pues personas que ganen hasta 2 salarios minimos son las mas propensas a rotar. La empresa debe revisar su escala salarial y ajustarla si es necesario, ademas de incentivar a los trabajadores a mejorar su desempeño y continuar con sus estudios para lograr escalar en la empresa y tener mejores ingresos salariales. Otra solución podría ser plantear bonos de dinero en fechas especiales o poniendo ciertas metas de cumplimiento en donde se les reconozca económicamente si estas se llegan a cumplir.