ANOVA à proximité des employés
Sur la base de vos analyses précédentes avec l'entreprise manufacturière, où la productivité des travailleurs a été examinée dans différents blocs et où un programme d'incitation a été mis en place, vous approfondissez maintenant les données. L'entreprise, dotée d'un ensemble de données plus complet dans le DataFrame de la productivité, comprenant 1200 employés supplémentaires et leur productivity_score
, a structuré la main-d'œuvre en trois blocs basés sur les niveaux de productivité. Chaque employé s'est vu attribuer au hasard l'une des trois options d'incitation : 'Bonus'
, 'Profit Sharing'
, ou 'Work from Home'
.
Avant d'évaluer l'impact complet de ces traitements incitatifs sur la productivité, il est essentiel de vérifier que l'affectation initiale du traitement était bien aléatoire et équitable entre les différents blocs de productivité. Cette étape permet de s'assurer que les différences de productivité observées après le traitement peuvent être attribuées avec certitude aux programmes d'incitation eux-mêmes, plutôt qu'à des disparités préexistantes dans les blocs.
La fonction f_oneway()
de scipy.stats
a été chargée pour vous.
Cet exercice fait partie du cours
Conception expérimentale en Python
Instructions
- Regroupez
prod_df
en fonction de la colonne appropriée qui représente les différents blocs de vos données. - Utilisez une fonction lambda pour appliquer le test ANOVA dans chaque bloc, en spécifiant l'argument de la fonction
lambda
. - Pour chaque groupe de traitement au sein des blocs, filtrez
prod_df
sur la base des valeurs de la colonne'Treatment'
et sélectionnez la colonne'productivity_score'
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)