Mise en œuvre d'un plan en blocs aléatoires
L'entreprise manufacturière avec laquelle vous avez travaillé précédemment souhaite toujours mener des expériences sur la productivité des travailleurs. Auparavant, les deux blocs étaient définis de manière aléatoire. Bien que cela puisse fonctionner, il peut être préférable de regrouper les sujets sur la base de caractéristiques similaires.
Les mêmes employés sont à nouveau chargés, mais cette fois dans un DataFrame appelé productivity
comprenant 1200 autres collègues. Il comprend également une colonne 'productivity_score'
basée sur les unités produites par heure. Cette colonne a été répartie en trois groupes afin de générer des blocs basés sur des valeurs de productivité similaires. L'entreprise souhaite appliquer un nouveau programme d'incitation comportant trois options ('Bonus'
, 'Profit Sharing'
et 'Work from Home'
) dans l'ensemble de l'entreprise, le traitement étant appliqué de manière aléatoire.
numpy
et pandas
comme np
et pd
respectivement sont chargés.
Cet exercice fait partie du cours
Conception expérimentale en Python
Instructions
- Mélangez les
block
s pour créer un nouveau DataFrame appeléprod_df
. - Réinitialisez l'index pour que
block
ne soit pas à la fois un index et une colonne. - Attribuez au hasard les trois valeurs de traitement dans la colonne
'Treatment'
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Randomly assign workers to blocks
prod_df = productivity.____('____').apply(
lambda x: x.____(____)
)
# Reset the index
prod_df = prod_df.____(____)
# Assign treatment randomly
prod_df['Treatment'] = np.random.choice(
['____', '____', '____'],
size=len(____)
)