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.
A continuación se describen los pasos que la gerencia ha propuesto para el análisis:
Seleccione 3 variables categóricas (distintas de rotación) y 3 variables cuantitativas, que se consideren estén relacionadas con la rotación.
Nota:
Debes justificar porque estas variables están relacionadas y que tipo de relación se espera entre ellas (Hipótesis).
De las variables disponibles en el dataset considero que las variables que podrían tener un alto impacto en la rotación son:
Edad: Esto debido a que según lo que he observado en el día a día, es muy extraño ver personas mayores a 40 años rotando entre trabajos con mayor facilidad, debido a que quizas adquieren un apego a si trabajo con mayor facilidad, o temen no encontrar un nuevo trabajo a raíz de su edad. De la misma manera las personas mas jóvenes suelen ser menos temerosos al abandonar un trabajo y suelen ser mas prestos a tomar riesgos, lo que hace que no tengan un gran apego a sus trabajos.
Ingreso_Mensual: La variable de ingresos mensuales facilmente una de las mas importantes, y en torno a la rotación esperaría que esta tuviese una relación inversamente proporcional, es decir a medida que estos son menores aumenta la probabilidad de rotación, debido a que el salario es uno de los motivantes principales o el principal al momento de desempeñar una labor para la mayoría de personas. Más aún si la labor que desempeña no es su “trabajo soñado”.
Rendimiento_Laboral: Teniendo en mente que cuando una persona deja su trabajo, con frecuencia se ve precedido por un menor rendimiento, quizas debido a factores de desmotivación, sobrecarga laboral, poco interés o demás condiciones, es facil considera que esta variable juega un papel importante en los indices de rotación en las empresas, debido a que usualmente agrupa otras variables que normalmente no se contemplan en este tipo de estudios, debido al caracter personal e intimo de las mismas.
Dentro las variables numércias no se contemplo por ejemplo Antigüedad_Cargo , Antigüedad, Años_Experiencia y otros similares, pues al contemplar la variable Edad probablemente ya se esta generando una relación a estas variables y se puede evitar la multicolinealidad al no incluirlas, incluir por ejemplo la variable Años_Experiencia podría tener un impacto similar en el modelo por razones similares a la Edad.
‘Viaje de Negocios’: Esta variable podría verse como un comodín que puede o no jugar a favor del indice de rotación, este resultado puede depender de otra varaibles como por ejemplo la edad. Es decir, uno esperaría que una persona mas joven disfrutaría la idea de realizar viajes de negocios, pues tene en si mayor energía y la idea de viajar constantemente puede ser emocionante, sin embargo una persona mayor por el contrario podría probablemente encontrar la idea de realizar viajes de negocios constantes, irritante o molesta. Algo similar podría esperarse de la variable Estado_Civil por razones similares pero ya hablaremos de esta en el siguiente numeral. Por el momento esta variables puede considerarse como una variable de control que permite matizar un poco mas los factores que influyen ya existentes.
Estado_Civil: Como se menciono anteriormente esta variable puede condicionar el impacto de la variable de Viaje de Negocios, pues esta por si sola podría no brindar suficiente impacto, y la razon de ser es que al estar casada una persona se podría esperar que esta quiera pasar mas tiempo con su familia que al estar soltera pues el sentimiento de atadura a su hogar es menor. Otra razón para inlcuir esta variable es que al estar casada una persona esta puede probablemente buscar un mayor sentimiento de etabilidad y asociada a factores como el Ingreso_Mensual puede servir como una variable de control en el modelo de la misma manera que la variable del literal anterior.
3.Cargo: La variable de cargo, es una que puede tener un alto impacto en la rotación, pues una persona en un cargo de alto nivel en una empresa, puede verlo como la “oportunidad de su vida” y quizas no desee arriesgarse a dejarlo por otro trabajo en otra empresa incluso si este nuevo trabajo representa mayor salario. Así mismo la inclusión de esta variable puede ayudar a identificar posiciones problemáticas en una empresa.
Realiza un análisis univariado (caracterización) de la información contenida en la base de datos rotacion.
Nota:
Los indicadores o gráficos se usan dependiendo del tipo de variable (cuantitativas o cualitativas). Incluir interpretaciones de la variable rotacion.
Se inicia importando el dataset con el codigo que se ve a continuación, se muestran luego algunos resgistros y se evalúa la estructura del dataset.
#install.packages("devtools")
#devtools::install_github("dgonxalex80/paqueteMODELOS")
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(plotly)
## Loading required package: ggplot2
##
## 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
require(paqueteMODELOS)
## Loading required package: paqueteMODELOS
## Loading required package: boot
## Loading required package: broom
## Loading required package: GGally
## Warning: package 'GGally' was built under R version 4.2.3
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
## Loading required package: gridExtra
##
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
##
## combine
## Loading required package: knitr
## Loading required package: summarytools
library(ggplot2)
library(ggpubr)
## Warning: package 'ggpubr' was built under R version 4.2.3
data("rotacion")
head(rotacion,5)
## # A tibble: 5 × 24
## Rotación Edad Viaje de…¹ Depar…² Dista…³ Educa…⁴ Campo…⁵ Satis…⁶ Genero Cargo
## <chr> <dbl> <chr> <chr> <dbl> <dbl> <chr> <dbl> <chr> <chr>
## 1 Si 41 Raramente Ventas 1 2 Cienci… 2 F Ejec…
## 2 No 49 Frecuente… IyD 8 1 Cienci… 3 M Inve…
## 3 Si 37 Raramente IyD 2 2 Otra 4 M Tecn…
## 4 No 33 Frecuente… IyD 3 4 Cienci… 4 F Inve…
## 5 No 27 Raramente IyD 2 1 Salud 1 M Tecn…
## # … with 14 more variables: 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>, and
## # abbreviated variable names ¹`Viaje de Negocios`, ²Departamento, …
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 ...
rotacion_df <- rotacion
rotacion_graph=ggplot(rotacion_df,aes(x=Rotación))+geom_bar(fill="#0DC89E")+theme_bw()+theme(axis.text.x = element_text(angle = 90))
rotacion_plot=ggarrange(rotacion_graph, size=2)
## Warning in as_grob.default(plot): Cannot convert object of class numeric into a
## grob.
rotacion_plot
Gráficamente se puede observar que la gran mayoría de personas no rotan,
esto es importante pues al momento de evaluar el modelo el resultado
debe coincidir con esta relación.
rotacion_df <- rotacion_df %>%
rename(Viaje_de_Negocios = `Viaje de Negocios`)
rotacion_df$Viaje_de_Negocios = as.character(rotacion_df$Viaje_de_Negocios)
rotacion_df$Viaje_de_Negocios <- factor(rotacion_df$Viaje_de_Negocios, levels=unique(rotacion_df$Viaje_de_Negocios))
g1 = ggplot(rotacion_df, aes(x = Viaje_de_Negocios)) +
geom_bar(fill = "lightseagreen") +
theme_bw()
g2 = ggplot(rotacion_df, aes(x = Rendimiento_Laboral)) +
geom_bar(fill = "lightseagreen") +
theme_bw()
g3 = ggplot(rotacion_df, aes(x = Estado_Civil)) +
geom_bar(fill = "lightseagreen") +
theme_bw()
g4 = ggplot(rotacion_df, aes(x = Ingreso_Mensual)) +
geom_histogram(fill = "lightseagreen") +
theme_bw()
g5 = ggplot(rotacion_df, aes(x = Edad)) +
geom_histogram(fill = "lightseagreen") +
theme_bw()
g6 = ggplot(rotacion_df, aes(x = Cargo)) +
geom_bar(fill = "lightseagreen") +
theme_bw() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
# Adjust the size of the grid by specifying the widths and heights
ggarrange(
g1, g2, g3, g4, g5, g6,
labels = c("A", "B", "C", "D", "E", "F"),
ncol = 2, nrow = 3,
widths = c(1, 1), # Adjust column widths as needed
heights = c(1.5, 1.5, 2.5) # Adjust row heights as needed
)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Al anlizar las variables se encuentra que:
Edad: una gran parte del personal se encuentra entre los mediados de 20s y los mediados de sus 40s, también se encuentra que hay unos picos en los etremos en los 20 años y los 50 años, adicionalmente no se observa que la data tenga un comportamiento normal.
Ingreso_Mensual: Hay una gran concentracion de valores de ingresos hacia el límite inferior, adicionalmente se ve un sesgo positivo en la cantidad de ingresos, debido a que hay valores extremos con pocos indivíduos con ingresos varias veces mas altos que la mayoria de empleados.
Rendimiento_Laboral: Al analizar las calificaciones de rendimiento, se encuentra que la gran mayoría de empleados tienen un rendimiento igual a 3, lo cual es considerablemente bajo. Por otro lado una pequeña parte tiene un rendimiento de 4.
‘Viaje de Negocios’: En cuanto a viajes de negocios es claro que una gran mayoría de los emplead realiza viajes de negocios raramente, seguidos de aquellos que viajan frecuentemente y por último quienes no viajan.
Estado_Civil: Cuando miramos el estado civil encontramos que el mayor numero de empleados estan casados, seguido de divorciados y por último solteros.Esto nos muestra que mas de la mitad en algún momento han estado casados.
3.Cargo: Los cargos con mayor numero de titulares son Ejecutivo de ventas, Investigador científico y Técnico de laboratorio, así mismo los cargo con el menor número de acreedores son Director de investigación, Recursos humanos y Representante de ventas, por último, los cargos con un número intermedio de poseedores son Director de manufactura, Representante de ventas y finalmente Gerente.
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.
#install.packages("CGPfunctions")
require(CGPfunctions)
## Loading required package: CGPfunctions
## Warning: package 'CGPfunctions' was built under R version 4.2.3
g1=PlotXTabs2(rotacion_df, Viaje_de_Negocios, Rotación , plottype = "percent")
g2=PlotXTabs2(rotacion_df, Cargo, Rotación , plottype = "percent")
g3=PlotXTabs2(rotacion_df, Estado_Civil, Rotación , plottype = "percent")
g4=ggplot(rotacion_df,aes(x=Rotación,y= Ingreso_Mensual,fill=Rotación))+geom_boxplot()+theme_bw()
g5=ggplot(rotacion_df,aes(x=Rotación,y= Edad,fill=Rotación))+geom_boxplot()+theme_bw()
g6=ggplot(rotacion_df,aes(x=Rotación,y= Rendimiento_Laboral,fill=Rotación))+geom_boxplot()+theme_bw()
require(plotly)
#ggplotly(g4)
g1
g2 + theme(axis.text.x = element_text(angle = 45, hjust = 1))
g3
g4
g5
g6
Al realizar el análisis bivariado encontramos que:
Viaje_de_Negocios - Rotación: El 25% de las personas que viajan frecuentemente si rotan, lo que en comparación a quienes viajan raramente y no viajan con un 15% y 9% es sustancialmente mas alto.
Estado_Civil - Rotación: En cuanto al estado civil los solteros son quienes presentan mayor índice de rotación con el 26% en relación a quienes no presentan un mayor índice.
3.Cargo - Rotación: Se encuentra que los cargos con los mayores índices de rotación son Representante de ventas, seguido de Técnico de laboratorio y en tercer lugar con el 40%, 24% y 24% respectivamente en relación a quienes no rotan en cada cargo. así mismo los cargos con menor rotación son director de investigación y gerente con el 2% y 5% respectivamente.
Edad - Rotación: Se encuentra que las personas que si rotan tienden a tener edades inferiores a los 40 años.
Ingreso_Mensual - Rotación: Se observa que las personas que rotan tienden a tener ingresos de al rededor de 5000 o menos. De la misma manera una importante parte de las personas que no rotan tienen salarios superiores a 5000.
Rendimiento_Laboral - Rotación: Se encuentra que tanto quienes rotan como quienes no lo hacen presentan comportamiento identicos en su rendimiento con 3 como la norma.
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.
rotacion_df$rot <- ifelse(grepl("No",rotacion_df$Rotación, fixed=TRUE) , 0 , 1)
datosTemp = rotacion_df
dt = sort(sample(nrow(datosTemp), nrow(datosTemp)*.7))
datosTraining<-datosTemp[dt,]
datosPrueba<-datosTemp[-dt,]
rm(datosTemp)
rm(dt)
modelo_rl = glm(data = datosTraining,
formula = rot ~ Viaje_de_Negocios + Estado_Civil + Cargo + Ingreso_Mensual + Edad + Rendimiento_Laboral,
family = 'binomial')
summary(modelo_rl)
##
## Call:
## glm(formula = rot ~ Viaje_de_Negocios + Estado_Civil + Cargo +
## Ingreso_Mensual + Edad + Rendimiento_Laboral, family = "binomial",
## data = datosTraining)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.2515 -0.6385 -0.4638 -0.2706 2.6994
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.679e+01 5.214e+02 -0.032 0.97430
## Viaje_de_NegociosFrecuentemente 5.780e-01 2.061e-01 2.805 0.00504 **
## Viaje_de_NegociosNo_Viaja -7.261e-01 3.744e-01 -1.939 0.05246 .
## Estado_CivilDivorciado -3.447e-01 2.571e-01 -1.340 0.18011
## Estado_CivilSoltero 4.941e-01 1.969e-01 2.509 0.01209 *
## CargoDirector_Manofactura 1.494e+01 5.214e+02 0.029 0.97713
## CargoEjecutivo_Ventas 1.586e+01 5.214e+02 0.030 0.97573
## CargoGerente 1.490e+01 5.214e+02 0.029 0.97720
## CargoInvestigador_Cientifico 1.540e+01 5.214e+02 0.030 0.97644
## CargoRecursos_Humanos 1.615e+01 5.214e+02 0.031 0.97529
## CargoRepresentante_Salud 1.471e+01 5.214e+02 0.028 0.97749
## CargoRepresentante_Ventas 1.668e+01 5.214e+02 0.032 0.97449
## CargoTecnico_Laboratorio 1.604e+01 5.214e+02 0.031 0.97545
## Ingreso_Mensual -9.489e-06 5.143e-05 -0.185 0.85362
## Edad -2.399e-02 1.160e-02 -2.069 0.03858 *
## Rendimiento_Laboral 7.993e-02 2.458e-01 0.325 0.74505
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 915.90 on 1028 degrees of freedom
## Residual deviance: 811.41 on 1013 degrees of freedom
## AIC: 843.41
##
## Number of Fisher Scoring iterations: 16
Al analizar los coeficientes encontramos que:
Intercepto (Intercept): Este es el valor del log-odds de rotación cuando todas las variables independientes son iguales a cero. En este caso, no tiene una interpretación muy útil, ya que es poco probable que todas las variables independientes sean cero en el contexto de tu problema. Además, su p-valor (0.97301) es alto, lo que indica que no es significativo.
Viaje_de_Negocios (Frecuentemente): Si un empleado viaja de negocios frecuentemente en comparación con aquellos que no viajan, la log-odds de rotación aumenta en 0.6168 unidades. El p-valor (0.00275) es significativo, lo que sugiere que esta variable tiene un efecto significativo en la probabilidad de rotación.
Viaje_de_Negocios (No_Viaja): Si un empleado no viaja en comparación con aquellos que no viajan, la log-odds de rotación disminuye en 0.834 unidades. El p-valor (0.03267) indica que esta variable también es significativa.
Estado_Civil (Divorciado): El estado civil “Divorciado” no parece tener un efecto significativo en la probabilidad de rotación, ya que su coeficiente es cercano a cero y el p-valor (0.94278) es alto.
Estado_Civil (Soltero): Si un empleado es soltero en comparación con aquellos que no lo son, la log-odds de rotación aumenta en 0.9134 unidades. El p-valor (5.38e-06) es muy significativo, lo que sugiere que el estado civil “Soltero” tiene un efecto significativo en la probabilidad de rotación.
Cargo (Varios cargos): Cada uno de los cargos tiene coeficientes positivos, pero todos ellos son muy grandes y no significativos (p-valores cercanos a 1.0). Esto sugiere que el cargo no tiene un efecto significativo en la probabilidad de rotación en este modelo.
Ingreso_Mensual: Por cada aumento de 1 unidad en el ingreso mensual, la log-odds de rotación aumenta en 6.601e-07 unidades. Sin embargo, el p-valor (0.98975) indica que esta variable no es significativa.
Edad: Por cada aumento de 1 año en la edad, la log-odds de rotación disminuye en 0.0149 unidades. Aunque el coeficiente es negativo, el p-valor (0.19591) es relativamente alto, lo que sugiere que la edad puede no ser significativa en este modelo.
Rendimiento_Laboral: Por cada aumento de 1 unidad en el rendimiento laboral, la log-odds de rotación aumenta en 0.083 unidades. El p-valor (0.74264) es alto, lo que sugiere que esta variable no es significativa.
En resumen, las variables más significativas en este modelo para predecir la rotación del personal parecen ser “Viaje_de_Negocios” (Frecuentemente y No_Viaja) y “Estado_Civil” (Soltero). Las demás variables no parecen tener un efecto significativo en la probabilidad de rotación.
Para mejorar el desempeño del modelo, se podría considerar incluir unas variables adicionales y jugar quitando y adicionando variables que permitan evaluar el desempeño del modelo y encontrar una buena combinación de variables que aporten valor al modelo y mejoren la capacidad predictiva de este.
Evaluar el poder predictivo del modelo con base en la curva ROC y el AUC.
#install.packages('vcd')
library(vcd)
## Warning: package 'vcd' was built under R version 4.2.3
## Loading required package: grid
predict1= predict.glm(modelo_rl, newdata = rotacion_df, type = "response")
resultado1 = table(rotacion_df$Rotación, ifelse(predict1 >0.2, 1, 0), dnn = c("observaciones", "predicciones"))
resultado1
## predicciones
## observaciones 0 1
## No 920 313
## Si 95 142
Se encontró que el modelo al utilizar los datos de entrenamiento predijo 932 situaciones de no rotación correctamente, 301 situaciones de rotación incorrectamente es decir un falsos positivos, 100 situaciones de no rotación incorrectamente es decir falsos negativos y 137 situaciones de rotación correctamente.
mosaic(resultado1, shade = T, colorize = T,
mosaico = gpar(fill = matrix(c("green3", "red2", "red2", "green3"), 2, 2)))
sum(diag(resultado1)/sum(resultado1))
## [1] 0.722449
Resumidamente podemos decir que el modelo predijo correctamente el 72.7% de los casos correctamente sobre los datos de entrenamiento.
#install.packages('ROCR')
library(ROCR)
## Warning: package 'ROCR' was built under R version 4.2.3
prediccion_rot = ROCR::prediction(predict1,rotacion_df$Rotación)
perf= performance(prediction.obj = prediccion_rot, "tpr", "fpr")
plot(perf)
abline(a=0, b=1, col="blue")
grid()
AUClog= performance(prediccion_rot, measure = "auc")@y.values[[1]]
cat("AUC: ", AUClog, "n")
## AUC: 0.7339411 n
Con un area bajo la curva de 0.737, se puede decir que la bondad de ajuste del modelo es de 73.7%, lo que indica que este identifica correctamente los positivos verdaderos por encima delos negativos el 73% de las veces, tiene buena capacidad de distinción.
Realiza una predicción la probabilidad de que un individuo (hipotético) rote y defina un corte para decidir si se debe intervenir a este empleado o no (posible estrategia para motivar al empleado).
Tasarotacion=(predict(modelo_rl,list(Viaje_de_Negocios ="Frecuentemente",Cargo="Tecnico_Laboratorio",Estado_Civil="Soltero",Ingreso_Mensual= 4500, Edad = 26, Rendimiento_Laboral= 4),type = "response"))*100
cat("Tasa Rotación: ", Tasarotacion,"%")
## Tasa Rotación: 49.37678 %
Al realizar una predicción con una persona que viaja frecuentemente, es técnico de laboratorio, soltero y tiene ingresos de 4500, 26 años de edad y un rendimiento de 4, se encuentra que este tine una probabilidad de rotar del 52%. Para reducir esta porbabilidad de rotación, y motivar al empleado se puede considerar:
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).
Con base en los resultados obtenidos, se puede ver que las variables de viaje de negocios frecuente y soltero, generan un impacto en el aumento de la probabilidad de rotación, con base en esto se puede decir que para empezar que establecer planes de rotación del personal para viajes de negocio puede ayudar a que la percepción del personal en torno a este rubro cambie, pues así pueden aumentar los tiempos entre viajes del personal, es decir estos se pueden volver mas espaciados entre si, se observa que al no viajar las personas ven disminuidas la probabilidad de rotación así que lograr un balance es importante, pues las personas pueden querer ocupar su tiempo con amigos, familia y apreja.
Por otro lado la variable de estado civil - soltero tiene un impacto de aumento en la probabilidad de rotación, sin embargo en este caso no hay mucho que se pueda hacer al respecto pues la soltería le permite a las persona toamr mas riesgos y son factores muy personales lo que dererminan el rsultado.
En cuanto las demás variables el modelo muestra que no son significativas, pero esto puede estar ligado a la combinación de variables por esto jugar con la combinación de variables es crucial para determinar si efectivamente estas variables no son significativas. Además algunas de estas variables sirven como variables de control para guiar el modelo y son auxiliares de otras variables.