Implementera en randomiserad blockdesign
Tillverkningsföretaget du tidigare arbetat med vill fortsätta genomföra experiment om arbetarproduktivitet. Tidigare tilldelades de två blocken slumpmässigt. Det kan fungera, men det är ofta bättre att gruppera försöksdeltagarna utifrån liknande egenskaper.
Samma anställda är inlästa igen, men den här gången i en DataFrame kallad productivity som även inkluderar 1 200 kollegor. Den innehåller också en kolumn 'productivity_score' baserad på antal producerade enheter per timme. Den kolumnen har delats in i tre grupper för att skapa block med liknande produktivitetsvärden. Företaget vill tillämpa ett nytt incitamentsprogram med tre alternativ ('Bonus', 'Profit Sharing' och 'Work from Home') i hela organisationen, med slumpmässig tilldelning av behandling.
numpy och pandas är inlästa som np respektive pd.
Den här övningen är en del av kursen
Experimentell design i Python
Övningsinstruktioner
- Blanda
blocken för att skapa en ny DataFrame kalladprod_df. - Återställ indexet så att
blockinte är både ett index och en kolumn. - Tilldela slumpmässigt de tre behandlingsvärdena i kolumnen
'Treatment'.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____)
)