CommencerCommencez gratuitement

ANOVA au sein des blocs d’employés

En vous appuyant sur vos analyses précédentes avec l’entreprise manufacturière, où la productivité des employés a été étudiée à travers différents blocs et où un programme d’incitation a été introduit, vous allez maintenant approfondir les données. L’entreprise dispose d’un jeu de données plus complet dans le DataFrame de productivité, incluant 1 200 employés supplémentaires et leur productivity_score, et a structuré les effectifs en trois blocs en fonction des niveaux de productivité. Chaque employé a été assigné aléatoirement à l’une des trois incitations : 'Bonus', 'Profit Sharing' ou 'Work from Home'.

Avant d’évaluer l’impact global de ces traitements d’incitation sur la productivité, il est crucial de vérifier que l’assignation initiale des traitements était bien aléatoire et équilibrée entre les différents blocs de productivité. Cette étape garantit que toute différence observée de productivité après traitement pourra être attribuée aux programmes d’incitation eux‑mêmes, et non à des disparités préexistantes entre les blocs.

La fonction f_oneway() de scipy.stats a été chargée pour vous.

Cet exercice fait partie du cours

<cours>Conception expérimentale en Python</cours>
Voir le cours

Instructions de l’exercice

  • Regroupez prod_df par la colonne appropriée qui représente les différents blocs de vos données.
  • Utilisez une fonction lambda pour appliquer le test ANOVA au sein de chaque bloc, en précisant l’argument de la fonction lambda.
  • Pour chaque groupe de traitement à l’intérieur des blocs, filtrez prod_df selon les valeurs de la colonne 'Treatment' et sélectionnez la colonne 'productivity_score'.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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)
Modifier et exécuter le code