#1. Elección de las variables
De las variables categóricas, se eligieron las siguientes: a. Estado Civil Esta variable categórica puede estar relacionada con rotación, pues puede que las personas que se encuentran casadas, estén menos dispuestas a rotar porque tienen obligaciones en el hogar
Hipotesis: Las personas solteras tienen mayor probabilidad de rotar
Satisfacción ambiental Si una persona no está satisfecha con su ambiente laboral,hay mayor probabilidad de que decida rotar de empresa a una en la que se sienta mejor con sus compañeros y lugar de trabajo.
Hipotesis: Las personas con menor satisfacción ambiental tienen mayor probabilidad de rotar
Satisfacción laboral Si una persona no está satisfecha con su labor, es más probable que decida rotar de empresa a una en la que se sienta con menos carga laboral, y mayor comodidad.
Hipotesis: Las personas con menor satisfacción laboral tienen mayor probabilidad de rotar
De las variables cuantitativas, se eligieron las siguientes:
Ingreso Mensual Esta variable cuantitativa puede estar relacionada con rotación, pues puede que las personas que tengan un mayor ingreso mensual, estén menos dispuestas a rotar.
Hipotesis: Las personas que ganan menos tienen mayor probabilidad de rotar
Ho: Media_SI = Media_NO Ha: Media_SI < Media_NO
Capacitaciones La cantidad de capacitaciones que tenga una persona, puede influir en la rotación, pues si se ha capacitado menos, puede que le sea más complicado realizar su actividad laboral, lo cuál causa frustraciones y estrés.
Hipotesis: Las personas que han tenido menos capacitaciones, tienen mayor probabilidad de rotar
Ho: Media_SI = Media_NO Ha: Media_SI < Media_NO
Distancia casa La distancia en la que se encuentra el hogar del trabajador y el trabajo, puede ser otro factor importante, pues una persona que vive lejos de la empresa, es más propensa a rotar
Hipotesis: Las personas que viven más lejos tienen mayor probabilidad de rotar
Ho: Media_SI = Media_NO Ha: Media_SI > Media_NO
#2. Análisis Univariado
data.frame(table(Datos_Rotacion$Rotación))
## Var1 Freq
## 1 No 1233
## 2 Si 237
El 16% de las personas de la base de datos rotó
require(table1)
y <- table1::table1(~Satisfacción_Ambiental+Satisfación_Laboral+Estado_Civil+Ingreso_Mensual+Capacitaciones+Distancia_Casa | Rotación, data = Datos_Rotacion)
y
| No (N=1233) |
Si (N=237) |
Overall (N=1470) |
|
|---|---|---|---|
| Satisfacción_Ambiental | |||
| Mean (SD) | 2.77 (1.07) | 2.46 (1.17) | 2.72 (1.09) |
| Median [Min, Max] | 3.00 [1.00, 4.00] | 3.00 [1.00, 4.00] | 3.00 [1.00, 4.00] |
| Satisfación_Laboral | |||
| Mean (SD) | 2.78 (1.09) | 2.47 (1.12) | 2.73 (1.10) |
| Median [Min, Max] | 3.00 [1.00, 4.00] | 3.00 [1.00, 4.00] | 3.00 [1.00, 4.00] |
| Estado_Civil | |||
| Casado | 589 (47.8%) | 84 (35.4%) | 673 (45.8%) |
| Divorciado | 294 (23.8%) | 33 (13.9%) | 327 (22.2%) |
| Soltero | 350 (28.4%) | 120 (50.6%) | 470 (32.0%) |
| Ingreso_Mensual | |||
| Mean (SD) | 6830 (4820) | 4790 (3640) | 6500 (4710) |
| Median [Min, Max] | 5200 [1050, 20000] | 3200 [1010, 19900] | 4920 [1010, 20000] |
| Capacitaciones | |||
| Mean (SD) | 2.83 (1.29) | 2.62 (1.25) | 2.80 (1.29) |
| Median [Min, Max] | 3.00 [0, 6.00] | 2.00 [0, 6.00] | 3.00 [0, 6.00] |
| Distancia_Casa | |||
| Mean (SD) | 8.92 (8.01) | 10.6 (8.45) | 9.19 (8.11) |
| Median [Min, Max] | 7.00 [1.00, 29.0] | 9.00 [1.00, 29.0] | 7.00 [1.00, 29.0] |
Satisfacción ambiental: Como se puede observar, las personas que NO rotan (2.77) tienen una mayor satisfacción ambiental en comparación a los que SI rotan (2.46) Satisfacción laboral:De la tabla 1, se puede decir que las personas que SI rotaron(2.47), presentaron una menor satisfacción laboral a las que NO rotaron (2.78) Estado civil: Según lo observado en la tabla 1, se puede decir que la mayor parte de las personas que SI rotaron son solteros (50.6%), mientras que la mayoría de las personas que NO rotaron son casados (47.8%) Ingreso Menual: Como se evidencia en la tabla 1, las personas que NO rotaron, tienen un salario mayor (6830) a las personas que SI rotaron (4790) Capacitaciones: Con respecto a esta variable cuantitativa, se puede decir que las personas con menos capacitaciones (2.62) rotan más que las personas con más capacitaciones (2.83) Distancia Casa: Sobre la distancia a casa se puede decir que las personas que SI rotaron tienen una mayor distancia hasta el lugar de trabajo (10.6) que las personas que NO rotaron (8.92)
#3.Análisis Bivariado
Variables cuantitativas:
require(table1)
t.test(Datos_Rotacion$Ingreso_Mensual~Datos_Rotacion$Rotación)
##
## Welch Two Sample t-test
##
## data: Datos_Rotacion$Ingreso_Mensual by Datos_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
Ingreso Mensual: Se puede decir sobre el ingreso mensual, que con un nivel de confianza 95% el p-valor da un valor muy pequeño(4.434e-13) menor a 0.05. Según la prueba de hipotesis, se rechaza Ho, lo que quiere decir que la media del ingreso mensual de las personas que SI rotaron, es menor que el de las personas que NO rotaron.
require(table1)
t.test(Datos_Rotacion$Capacitaciones~Datos_Rotacion$Rotación)
##
## Welch Two Sample t-test
##
## data: Datos_Rotacion$Capacitaciones by Datos_Rotacion$Rotación
## t = 2.3305, df = 339.56, p-value = 0.02036
## alternative hypothesis: true difference in means between group No and group Si is not equal to 0
## 95 percent confidence interval:
## 0.03251776 0.38439273
## sample estimates:
## mean in group No mean in group Si
## 2.832928 2.624473
Capacitaciones: Se puede decir sobre las capacitaciones, que con un nivel de confianza 95% el p-valor da un valor pequeño (0.02036) menor a 0.05. Según la prueba de hipotesis, se rechaza Ho, lo que quiere decir que la media de las capacitaciones de las personas que SI rotaron, es menor que las de las personas que NO rotaron.
require(table1)
t.test(Datos_Rotacion$Distancia_Casa~Datos_Rotacion$Rotación)
##
## Welch Two Sample t-test
##
## data: Datos_Rotacion$Distancia_Casa by Datos_Rotacion$Rotación
## t = -2.8882, df = 322.72, p-value = 0.004137
## alternative hypothesis: true difference in means between group No and group Si is not equal to 0
## 95 percent confidence interval:
## -2.8870025 -0.5475146
## sample estimates:
## mean in group No mean in group Si
## 8.915653 10.632911
Distancia a Casa: Se puede decir que con un nivel de confianza 95% el p-valor de la distancia a casa, da un valor pequeño (0.004137) menor a 0.05. Según la prueba de hipotesis, se rechaza Ho, lo que quiere decir que la media de la distancia a casa de las personas que SI rotaron, es mayor que las de las personas que NO rotaron.
Variables cualitativas
require(CGPfunctions)
PlotXTabs2(data = Datos_Rotacion,x = Satisfacción_Ambiental,y = Rotación)
En la gráfica se puede observar que las personas con una satisfacción ambiental más baja rotan más. El 25% de las personas que tienen una satisfacción ambiental de 1, rotaron, mientras que solo el 13% de las personas que tienen una satisfacción ambiental de 4 rotaron.
require(CGPfunctions)
PlotXTabs2(data = Datos_Rotacion,x = Satisfación_Laboral,y = Rotación)
En la gráfica se puede observar que las personas con una satisfacción laboral más baja tienen una probabilidad más alta de rotar. El 23% de las personas que tienen una satisfacción laboral de 1, rotaron, mientras que solo el 11% de las personas que tienen una satisfacción laboral de 4 rotaron.
require(CGPfunctions)
PlotXTabs2(data = Datos_Rotacion,x = Estado_Civil,y = Rotación)
En la gráfica se puede observar que las personas divorciadas rotan menos que las personas casadas y los solteros. Aunque la diferencia entre Divorciado y casado no es mucha, si se presenta una diferencia significativa con las personas solteras. El 26% de las personas solteras rotaron, mientras que solo el 10% de las personas divorciadas rotaron.
#4. Regresión logística
library(readxl)
Datos_Rotacion3 <- read_excel("Datos_Rotacion3.xlsm")
View(Datos_Rotacion3)
modelo = glm(Rotación~Ingreso_Mensual+Capacitaciones+Distancia_Casa+Satisfacción_Ambiental+Satisfación_Laboral+Estado_Civil, data=Datos_Rotacion3, family= binomial(link="logit"))
summary (modelo)
##
## Call:
## glm(formula = Rotación ~ Ingreso_Mensual + Capacitaciones + Distancia_Casa +
## Satisfacción_Ambiental + Satisfación_Laboral + Estado_Civil,
## family = binomial(link = "logit"), data = Datos_Rotacion3)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.3424 -0.6291 -0.4635 -0.2764 2.8410
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.718e-01 3.555e-01 1.327 0.18443
## Ingreso_Mensual -1.302e-04 2.259e-05 -5.764 8.20e-09 ***
## Capacitaciones -1.638e-01 6.005e-02 -2.728 0.00637 **
## Distancia_Casa 2.823e-02 8.804e-03 3.206 0.00135 **
## Satisfacción_Ambiental -2.848e-01 6.759e-02 -4.214 2.51e-05 ***
## Satisfación_Laboral -2.964e-01 6.723e-02 -4.409 1.04e-05 ***
## Estado_CivilDivorciado -2.513e-01 2.236e-01 -1.124 0.26098
## Estado_CivilSoltero 9.053e-01 1.643e-01 5.512 3.56e-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: 1161.1 on 1462 degrees of freedom
## AIC: 1177.1
##
## Number of Fisher Scoring iterations: 5
step(modelo,direction = "backward")
## Start: AIC=1177.08
## Rotación ~ Ingreso_Mensual + Capacitaciones + Distancia_Casa +
## Satisfacción_Ambiental + Satisfación_Laboral + Estado_Civil
##
## Df Deviance AIC
## <none> 1161.1 1177.1
## - Capacitaciones 1 1168.8 1182.8
## - Distancia_Casa 1 1171.1 1185.1
## - Satisfacción_Ambiental 1 1179.0 1193.0
## - Satisfación_Laboral 1 1180.7 1194.7
## - Estado_Civil 2 1204.5 1216.5
## - Ingreso_Mensual 1 1204.3 1218.3
##
## Call: glm(formula = Rotación ~ Ingreso_Mensual + Capacitaciones + Distancia_Casa +
## Satisfacción_Ambiental + Satisfación_Laboral + Estado_Civil,
## family = binomial(link = "logit"), data = Datos_Rotacion3)
##
## Coefficients:
## (Intercept) Ingreso_Mensual Capacitaciones
## 0.4718285 -0.0001302 -0.1638486
## Distancia_Casa Satisfacción_Ambiental Satisfación_Laboral
## 0.0282254 -0.2848004 -0.2963932
## Estado_CivilDivorciado Estado_CivilSoltero
## -0.2513452 0.9053084
##
## Degrees of Freedom: 1469 Total (i.e. Null); 1462 Residual
## Null Deviance: 1299
## Residual Deviance: 1161 AIC: 1177
Según este modelo, se puede decir que las variables que son más significativas son el ingreso mensual, la satisfacción laboral, la satisfacción ambiental, y el estado civil.
Esto se puede interpretar de la siguiente manera:
Ingreso mensual: Se puede decir que por cada 1.302e-04 que disminuye el ingreso mensual, hay más posibilidad de que la persona SI rote en la empresa
Satisfacción Ambiental: Se puede decir que por cada 2.848e-01 que disminuye la satisfacción ambiental, hay más posibilidad de que la persona SI rote en la empresa
Satisfacción laboral: Se puede decir que por cada 2.964e-01 que disminuye la satisfacción laboral, hay más posibilidad de que la persona SI rote en la empresa
Estado Civil: Se puede decir que los divorciados no tienen significancia en comparación con los casados, esto se pudo apreciar anteriormente en la gráfica de barras. En cuanto a los solteros, estos si tienen una diferencia con los casados. Hay más probabilidad de que un soltero vaya a rotar frente a un casado.
Distancia a casa: Sobre esta variable, se puede decir que por cada 2.823e-02 que aumente la distancia,hay más probabilidad de que la persona SI rote
Capacitaciones: Sobre esta variable, se puede decir que por cada 1.638e-01 que aumente la distancia,hay más probabilidad de que la persona NO rote
Pero según el step backward, todas las variables son significativas y se agregan al modelo predictivo.
#5. Evaluación del poder predictivo del modelo con base en la curva ROC y el AUC
require (pROC)
probabilidad_modelo =modelo$fitted.values
realidad= Datos_Rotacion3$Rotación
objroc <- roc(Datos_Rotacion3$Rotación ~ probabilidad_modelo,auc=T,ci=T)
objroc
##
## Call:
## roc.formula(formula = Datos_Rotacion3$Rotación ~ probabilidad_modelo, auc = T, ci = T)
##
## Data: probabilidad_modelo in 1233 controls (Datos_Rotacion3$Rotación 0) < 237 cases (Datos_Rotacion3$Rotación 1).
## Area under the curve: 0.7239
## 95% CI: 0.6882-0.7596 (DeLong)
plot.roc(objroc,print.auc=T,print.thres = "best",col="red"
,xlab = "Specificity", ylab = "Sensitivity")
table(probabilidad_modelo>0.16,realidad)
## realidad
## 0 1
## FALSE 794 73
## TRUE 439 164
794: Lo que el modelo dice que NO van a rotar y NO rotan. 73: El modelo dice que NO van a rotar y SI rotan 439: El modelo dice que SI van a rotar y NO rotan 164: El modelo dice que SI van a rotar y SI rotan
#6. Individuo hipotetico
lineal=predict(modelo, list(Satisfacción_Ambiental=3,Satisfación_Laboral=3,Estado_Civil="Casado",Ingreso_Mensual=5670,Capacitaciones=3,Distancia_Casa=7))
lineal
## 1
## -2.304047
exp(lineal)/(1+exp(lineal))
## 1
## 0.09078836
Empleado 1
Una persona que está casada,tiene un buen ingreso mensual, está bien capacitado para el trabajo, y se siente satisfecha tanto laboral como ambientalmente, la probabilidad de que SI rote es muy baja. En el caso anterior, la probabilidad es aproximadamente del 9%
lineal=predict(modelo, list(Satisfacción_Ambiental=2,Satisfación_Laboral=1,Estado_Civil="Soltero",Ingreso_Mensual=4820,Capacitaciones=0,Distancia_Casa=10))
lineal
## 1
## 0.1657542
exp(lineal)/(1+exp(lineal))
## 1
## 0.5413439
Empleado 2
Una persona que está soltera,tiene un ingreso mensual promedio, está mal capacitado para el trabajo, y no se siente satisfecha tanto laboral como ambientalmente, la probabilidad de que SI rote será más alta. En el caso anterior, la probabilidad es aproximadamente del 54%
lineal=predict(modelo, list(Satisfacción_Ambiental=2,Satisfación_Laboral=4,Estado_Civil="Soltero",Ingreso_Mensual=5020,Capacitaciones=2,Distancia_Casa=7.5))
lineal
## 1
## -1.147729
exp(lineal)/(1+exp(lineal))
## 1
## 0.2409041
Empleado 3
Una persona que está soltera,tiene un buen ingreso mensual ,vive relativamente cerca al trabajo, está medianamente capacitada para el trabajo, y se siente satisfecha ambientalmente, pero no se siente satisfecha laboralmente , la probabilidad de que SI rote será en este caso aproximadamente del 24%
#Punto de corte:
c<-coords(objroc, "best", ret=c("threshold", "specificity", "sensitivity"),
as.list=FALSE,drop=TRUE, best.model=c("closest.topleft"), transpose = FALSE)
c
## $threshold
## [1] 0.1608981
##
## $specificity
## [1] 0.648013
##
## $sensitivity
## [1] 0.6919831
El mejor corte es el 16%, es decir que si está por encima del 16%, SI rota. Especifico: Detecta los positivos en aproximadamente 65%, es decir que el modelo predice acertadamente a las personas que SI rotan Sensibilidad:Detecta los negativos en un 69%, en este caso los negativos se refieren a las personas que el modelo predice acertadamente que NO rotan
Con esta información, se podría decir que el Empleado 1 no necesita intervención, pues según sus condiciones, esta persona tiene menor probabilidad de rotar. En cuanto al Empleado 2, se puede concluir que si se necesita intervención según sus condiciones, pues la probabilidad de que rote es muy alta. En este caso, una estrategia de intervención, sería no sobrecargar con trabajo al empleado, pues este es un factor importante que influye en su rotación, y suministrarle capacitación básica de cómo efectuar su trabajo para que esté mucho más cómodo en su labor. Por último, para el Empleado 3, se podría decir que tiene una probabilidad de rotar un poco baja, y que una manera de evitar que rote es generando un mayor entorno laboral, puede ser manteniendo los espacios de trabajo limpios, y actividades en que se integren los trabajadores con sus compañeros.
#7.Conclusiones
Después del analisis realizado anteriormente, se puede plantear estrategias para evitar la rotación como:
Mejorar la satisfacción ambiental por medio de un buen espacio laboral que contenga los implementos necesarios para realizar su labor, y permaneza limpio y organizado. Además realizar actividades que integren a los trabajadores con sus compañeros.
Mejorar la satisfacción laboral, no siendo excesivos con el trabajo suministrado.
En cuanto al ingreso mensual, una manera de disminuir la rotación es dandole insentivos a los trabajadores por medio de bonos.
Otra estrategía es brindar acceso a más capacitaciones para los empleados, pues una vez tengan claro su trabajo, es más probable que se sientan satisfechos con el