ANOVA dentro de quarteirões de funcionários
Com base em suas análises anteriores com a empresa de manufatura, em que a produtividade dos funcionários foi examinada em diferentes blocos e um programa de incentivo foi introduzido, agora você está se aprofundando nos dados. A empresa, equipada com um conjunto de dados mais abrangente no DataFrame de produtividade, incluindo 1.200 funcionários adicionais e seus productivity_score, estruturou a força de trabalho em três blocos com base nos níveis de produtividade. Cada funcionário recebeu aleatoriamente uma das três opções de incentivo: 'Bonus', 'Profit Sharing', ou 'Work from Home'.
Antes de avaliar o impacto total desses tratamentos de incentivo sobre a produtividade, é fundamental verificar se a atribuição do tratamento inicial foi de fato aleatória e equitativa entre os diferentes blocos de produtividade. Essa etapa garante que quaisquer diferenças observadas na produtividade após o tratamento possam ser atribuídas com segurança aos próprios programas de incentivo, em vez de disparidades pré-existentes nos blocos.
A função f_oneway() de scipy.stats foi carregada para você.
Este exercício faz parte do curso
Projeto experimental em Python
Instruções do exercício
- Agrupe
prod_dfpela coluna apropriada que representa diferentes blocos em seus dados. - Use uma função lambda para aplicar o teste ANOVA em cada bloco, especificando o argumento da função
lambda. - Para cada grupo de tratamento dentro dos blocos, filtre
prod_dfcom base nos valores da coluna'Treatment'e selecione a coluna'productivity_score'.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)