Alumno: Daniel Lorenzo Medina Salcedo
Correo: medinada@javerianacali.edu.co
Asignatura: Métodos estadisticos para la toma de decisiones
Profesor: Daniel Enrique González Gómez
Maestria en Ciencia de Datos
Universidad Javeriana de Cali
Septiembre 2022
Este documento se puede consulta en línea en el siguiente link:
| Tipo | Variable | Relación | Hipótesis |
|---|---|---|---|
| Categorica | Equilibrio Trabajo Vida | Esta variable establece un valor numérico sobre la calidad de vida de una persona en su relación tabrajo/vida personal. | Las personas con menor Equilibro Trabajo Vida tienen mayor nivel de rotación |
| Categorica | Horas Extras | Esta variable establece si un funcionario labora horas extras. El trabajo extendido prolongado genera agotamiento y desgaste en la relación laboral | Las personas que trabajan horas extras tienen mayor nivel de rotación laboral |
| Categorica | Satisfacción laboral | Esta variable establece el nivel de satisfacción de un funcionario con sus condiciones ambientales | A menor nivel de satisfacción es mayor el nivel de rotación. |
| Cuantitativa | Edad | Esta variable establece la edad del funcionario al momento de la evaluación | La rotación laboral es mayor en edades menores a los 30 años |
| Cuantitativa | Ingreso Mensual | Establece el ingreso mensual de cada uno de los funcionarios al momento de la evaluación | A menor ingreso es mayor la rotación |
| Cuantitativa | Antiguedad | Establece la antiguedad en la compañia de cada uno de los funcionarios al momento de la evaluación | Los funcionarios con menos de 3 años de vinculación rotan mas frente a los otros funcionarios |
Realizar un análisis univariado (caracterización). Nota: Los indicadores o gráficos se usan dependiendo del tipo de variable (cuanti o cuali). Incluir interpretaciones de la rotación.
Variable 1: Equilibro Trabajo Vida
| Equilibrio Vida Trabajo | Cantidad | Porcentaje |
|---|---|---|
| 1 | 80 | 0.0544218 |
| 2 | 344 | 0.2340136 |
| 3 | 893 | 0.6074830 |
| 4 | 153 | 0.1040816 |
Variable 2: Horas Extras
| Horas Extra | Cantidad | Porcentaje |
|---|---|---|
| No | 1054 | 0.7170068 |
| Si | 416 | 0.2829932 |
Variable 3: Satisfacción ambiental
| Nivel de Satisfación Ambiental | Cantidad | Porcentaje |
|---|---|---|
| 1 | 284 | 0.1931973 |
| 2 | 287 | 0.1952381 |
| 3 | 453 | 0.3081633 |
| 4 | 446 | 0.3034014 |
Variable 4: Edad
Variable 5: Ingresos Mensuales
Variable 6: Antiguedad
Resumen:
| Medida | Edad | Ingresos | Antiguedad |
|---|---|---|---|
| Promedio | 36.92381 | 6502.931 | 7.008163 |
| Mediana | 36.00000 | 4919.000 | 5.000000 |
| Máximo | 60.00000 | 19999.000 | 40.000000 |
| Mínimo | 18.00000 | 1009.000 | 0.000000 |
Realizar un análisis de bivariado en donde la variable respuesta sea la rotación 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.
Variable 1: Equilibro Trabajo Vida
| Hipótesis | Análisis |
|---|---|
| Las personas con menor Equilibro Trabajo Vida tienen mayor nivel de rotación | Se comprueba la hipotesis. Los niveles 1 y 2 rotan 31% 17% respectivamente, sin embargo, el Nivel 3 concentra 893 funcionarios y al rotar el 14% impacta a 125 personas, por lo cual, la variable Equilibrio Trabajo Vida es importante considerarla incluso para Nivel 3 y relacionarla con otras variables |
Variable 2: Horas extras
| Hipótesis | Análisis |
|---|---|
| Las personas que trabajan horas extras tienen mayor nivel de rotación laboral . | Se comprueba la hipotesis y se considera de alto impacto debido a 31% de los funcionarios que trabajan horas extras se con un resultado de 128 retiros |
Variable 3: Nivel de Satisfacción
| Hipótesis | Análisis |
|---|---|
| A menor nivel de satisfacción es mayor el nivel de rotación. | Se comprueba la hipotesis, sin embargo se evidencia que no es una variable que correlacione efectivamente la rotación debido a la rotación en valores absolutos es similar en todos los niveles de satisfacción |
Varibale 4: Edad
| Hipótesis | Análisis |
|---|---|
| La rotación laboral es mayor en edades menores a los 30 años | No se comprueba la hipótesis. La mediana de la edad de rotación es de 32 años, podriamos decir que el Quartil 1 de rotación tiene menos de 32 años, sin embargo el 50% de los que rotan tienen más de 32 años. |
Variable 5: Ingresos
| Hipótesis | Análisis |
|---|---|
| A menor ingreso es mayor la rotación | Se comprueba la hipotesis ampliamente. El salario del 75% de los que rotan es apenas superior a la mediana de los que no rotan |
Variable 6: Antiguedad
| Hipótesis | Análisis |
|---|---|
| Los funcionarios con menos de 3 años de vinculación rotan mas frente a los otros funcionarios. | Se comprueba la hipotesis. La rotación se reduce al pasar los tres primeros años de vinculación |
#Preparamos los datos, convirtiendo Si en 1 y No en 0
datos = data.frame(rotacion[,1], rotacion[,20],rotacion[,8],rotacion[,15],rotacion[,2],rotacion[,13],rotacion[,21])
colnames (datos) <- c ("Rotacion", "Equilibrio_Trabajo_Vida","Satisfaccion_Ambiental", "Horas_Extra", "Edad", "Ingreso_Mensual","Antiguedad")
datos$Rotacion = 0
datos$Rotacion[rotacion[,1]=="Si"] =1
datos$Horas_Extra = 0
datos$Horas_Extra[rotacion[,15]=="Si"] =1
modelo_logit <- glm(Rotacion ~ Equilibrio_Trabajo_Vida+ Horas_Extra + Satisfaccion_Ambiental + Edad + Ingreso_Mensual + Antiguedad, data = datos, family = "binomial")
summary(modelo_logit)
##
## Call:
## glm(formula = Rotacion ~ Equilibrio_Trabajo_Vida + Horas_Extra +
## Satisfaccion_Ambiental + Edad + Ingreso_Mensual + Antiguedad,
## family = "binomial", data = datos)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.3731 -0.5822 -0.4293 -0.2617 3.1594
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.192e+00 4.698e-01 2.538 0.011157 *
## Equilibrio_Trabajo_Vida -2.230e-01 1.055e-01 -2.113 0.034624 *
## Horas_Extra 1.491e+00 1.559e-01 9.564 < 2e-16 ***
## Satisfaccion_Ambiental -3.342e-01 6.998e-02 -4.776 1.79e-06 ***
## Edad -3.503e-02 9.956e-03 -3.519 0.000434 ***
## Ingreso_Mensual -7.815e-05 2.647e-05 -2.952 0.003154 **
## Antiguedad -3.890e-02 1.862e-02 -2.089 0.036738 *
## ---
## 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: 1120.5 on 1463 degrees of freedom
## AIC: 1134.5
##
## Number of Fisher Scoring iterations: 5
| Hipótesis | Análisis |
|---|---|
| Las seis variables son significativas. | Se comprueba la hipotesis. Las seis variables son significativas en el modelo, destacando las variables Horas Extras, Satisfacción Ambiental y Edad |
Evaluar el poder predictivo del modelo con base en la curva ROC y el AUC.
predict1 = predict.glm(modelo_logit, newdata = datos, type ="response")
ypred = ifelse(predict1 > 0.4, 1,0)
yobser = datos$Rotacion
matrizc = table(yobser, ypred, dnn = c("observaciones", "predicciones"))
matrizc
## predicciones
## observaciones 0 1
## 0 1183 50
## 1 170 67
cat("R2 = ", sum(diag(matrizc)) / sum(matrizc))
## R2 = 0.8503401
boxplot(predict1)
mosaic(matrizc, shade = T, colorize = T, gp = gpar(fill = matrix(c("#447270", "#f6b915", "#f6b915","#447270"), 2, 2)))
pred = ROCR::prediction(predict1, datos$Rotacion)
perf = performance(pred, "tpr", "fpr")
plot(perf)
abline(a=0, b=1, col="red")
grid()
ACLog1 = performance(pred, measure = "auc")@y.values[[1]]
cat("AUC = ", ACLog1,"n")
## AUC = 0.7555651 n
#Punto de corte optimo
cost.perf = performance(pred, measure = "cost")
opt.cut = pred@cutoffs[[1]][which.min(cost.perf@y.values[[1]])]
##Coordenadas del punto de corte optimo
x = perf@x.values[[1]][which.min(cost.perf@y.values[[1]])]
y = perf@y.values[[1]][which.min(cost.perf@y.values[[1]])]
points(x, y, pch=20, col="red")
Predeccir la probabilidad de que un individuo (hipotetico) rote y defina un corte para decidir si se debe intervenir a este empleado o no (posible estrategia para motivar al empleado).
El punto de corte se propone como 0.4
| Variable | Individuo 1 | Individuo 2 | Individuo 3 |
|---|---|---|---|
| Equilibrio Trabajo Vida | 1 (Bajo) | 2 (Medio) | 3 (Alto) |
| Satisfaccion Ambiental | 1 (Bajo) | 2 (Medio) | 4 (Muy Alto) |
| Horas Extras | Si | Si | No |
| Edad | 30 | 30 | 30 |
| Ingresos Mensuales | 5 millones | 5 millones | 5 millones |
| Antiguedad | 2 años | 2 años | 2 años |
| Predicción | Rotaría | Rotaría | No Rotaría |
| Probabilidad | 0.647 | 0.512 | 0.088 |
| Recomendación | Mejorar el Equilibrio Trabajo Vida, satisfacción ambiental y evitar horas extras | Evitar horas extras | Mantener |
construir_individuo = function(equilibrio_vida_trabajo, satisfaccion_Ambiental, horas_Extra, edad, ingreso_Mensual, antiguedad)
{
individuo = data.frame(equilibrio_vida_trabajo, satisfaccion_Ambiental, horas_Extra, edad, ingreso_Mensual, antiguedad)
colnames (individuo) <- c ("Equilibrio_Trabajo_Vida","Satisfaccion_Ambiental", "Horas_Extra", "Edad", "Ingreso_Mensual","Antiguedad")
return(individuo)
}
individuo1 = construir_individuo( 1, 1, 1, 30, 5000, 2)
individuo2 = construir_individuo( 2, 2, 1, 30, 5000, 2)
individuo3 = construir_individuo( 3, 4, 0, 30, 5000, 2)
cat("La probabilidad de rotación del Individuo 1 es :", predict.glm(modelo_logit, newdata = individuo1, type ="response"))
## La probabilidad de rotación del Individuo 1 es : 0.6471165
cat("La probabilidad de rotación del Individuo 2 es :", predict.glm(modelo_logit, newdata = individuo2, type ="response"))
## La probabilidad de rotación del Individuo 2 es : 0.5123059
cat("La probabilidad de rotación del Individuo 3 es :", predict.glm(modelo_logit, newdata = individuo3, type ="response"))
## La probabilidad de rotación del Individuo 3 es : 0.08843261
En las conclusiones se discute sobre cual seria la estrategia para disminuir la rotación en la empresa (con base en las variables que resultaron significativas en el punto 3). Ejemplo: Mejorar el ambiente laboral, los incentivos económicos, distribuir la carga de horas extra (menos turnos y mas personal).
| Variable | Nivel de Significancia |
|---|---|
| Equilibrio Trabajo Vida | Media * |
| Satisfaccion Ambiental | Muy Alta *** |
| Horas Extras | Muy Alta *** |
| Edad | Muy Alta *** |
| Ingresos Mensuales | Alta ** |
| Antiguedad | Media * |
Basados en los análisis anteriores se recomienda:
Con base en los datos de créditos proponga un modelo de regresión logístico múltiple que permita predecir el riesgo de default en función de las covariables que considere importantes y seleccionándolas de acuerdo con un proceso adecuado. Tenga en cuenta realizar una evaluación de la significancia de los parámetros, interpretación y proponga un método de evaluación por medio de validación cruzada. Presente métricas apropiadas como el AUC y la curva ROC.