Implementierung eines randomisierten Blockdesigns
Die Produktionsfirma, mit der du früher zusammengearbeitet hast, ist immer noch daran interessiert, einige Experimente zur Produktivität der Arbeiter durchzuführen. Zuvor wurden die beiden Blöcke nach dem Zufallsprinzip festgelegt. Das kann zwar funktionieren, aber es kann besser sein, die Probanden nach ähnlichen Merkmalen zu gruppieren.
Die gleichen Mitarbeiter werden erneut geladen, aber diesmal in einem DataFrame namens productivity, der 1200 andere Kollegen enthält. Außerdem gibt es eine Spalte 'productivity_score', die auf den produzierten Einheiten pro Stunde basiert. Diese Spalte wurde in drei Gruppen eingeteilt, um Blöcke mit ähnlichen Produktivitätswerten zu bilden. Das Unternehmen möchte ein neues Anreizprogramm mit drei Optionen ('Bonus', 'Profit Sharing' und 'Work from Home') im gesamten Unternehmen anwenden, wobei die Behandlung zufällig erfolgt.
numpy und pandas als np bzw. pd geladen werden.
Diese Übung ist Teil des Kurses
Versuchsplanung in Python
Anleitung zur Übung
- Mische die
blocks, um einen neuen DataFrame namensprod_dfzu erstellen. - Setze den Index zurück, damit
blocknicht gleichzeitig ein Index und eine Spalte ist. - Ordne die drei Behandlungswerte in der Spalte
'Treatment'nach dem Zufallsprinzip zu.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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(____)
)