ComenzarEmpieza gratis

ANOVA en bloques de empleados

Partiendo de tus análisis anteriores con la empresa manufacturera, en los que se examinó la productividad de los trabajadores en distintos bloques y se introdujo un programa de incentivos, ahora profundizas en los datos. La empresa, equipada con un conjunto de datos más completo en el DataFrame de productividad, que incluye 1.200 empleados más y su productivity_score, ha estructurado la plantilla en tres bloques en función de los niveles de productividad. A cada empleado se le ha asignado aleatoriamente una de las tres opciones de incentivos: 'Bonus', 'Profit Sharing', o 'Work from Home'.

Antes de evaluar el impacto total de estos tratamientos incentivadores sobre la productividad, es crucial verificar que la asignación inicial del tratamiento fue realmente aleatoria y equitativa en los distintos bloques de productividad. Este paso garantiza que cualquier diferencia observada en la productividad después del tratamiento pueda atribuirse con seguridad a los propios programas de incentivos, y no a disparidades preexistentes en los bloques.

Se ha cargado para ti la función f_oneway() de scipy.stats.

Este ejercicio forma parte del curso

Diseño experimental en Python

Ver curso

Instrucciones de ejercicio

  • Agrupa prod_df por la columna adecuada que represente los diferentes bloques de tus datos.
  • Utiliza una función lambda para aplicar la prueba ANOVA dentro de cada bloque, especificando el argumento de la función lambda.
  • Para cada grupo de tratamiento dentro de los bloques, filtra prod_df basándote en los valores de la columna 'Treatment' y selecciona la columna 'productivity_score'.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Perform the within blocks ANOVA, first grouping by block
within_block_anova = prod_df.groupby('____').apply(
  # Set function
  lambda x: ____(
    # Filter Treatment values based on outcome
    x[x['____'] == '____']['____'], 
    x[x['____'] == '____']['____'],
    x[x['____'] == '____']['____'])
)
print(within_block_anova)
Editar y ejecutar código