CommencezCommencez gratuitement

ANOVA à l'intérieur des blocs d'employés

En poursuivant vos analyses avec l'entreprise manufacturière, où la productivité des travailleurs a été examinée selon différents blocs et où un programme de mesures incitatives 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 1200 employés supplémentaires et leur productivity_score, et a structuré le personnel en trois blocs selon les niveaux de productivité. Chaque employé a été assigné au hasard à l'une des trois options incitatives : 'Bonus', 'Profit Sharing' ou 'Work from Home'.

Avant d'évaluer l'effet global de ces traitements incitatifs sur la productivité, il est essentiel de vérifier que l'assignation initiale des traitements était bel et bien aléatoire et équitable dans les différents blocs de productivité. Cette étape permet de s'assurer que toute différence observée de productivité après traitement peut être attribuée avec confiance aux programmes incitatifs eux-mêmes, plutôt qu'à des disparités préexistantes entre les blocs.

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

Cette activité fait partie du cours

Conception d'expériences en Python

Voir le cours

Instructions de l’exercice

  • Regroupez prod_df selon la colonne appropriée qui représente les différents blocs dans vos données.
  • Utilisez une fonction lambda pour appliquer le test ANOVA à l'intérieur 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