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
block
s, um einen neuen DataFrame namensprod_df
zu erstellen. - Setze den Index zurück, damit
block
nicht gleichzeitig ein Index und eine Spalte ist. - Ordne die drei Behandlungswerte in der Spalte
'Treatment'
nach dem Zufallsprinzip zu.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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(____)
)