Implementarea unui design cu blocuri randomizate
Firma de producție cu care ai lucrat anterior dorește în continuare să efectueze experimente privind productivitatea angajaților. Anterior, cele două blocuri au fost stabilite aleatoriu. Deși această abordare poate funcționa, este adesea mai bine să grupezi participanții pe baza unor caracteristici similare.
Aceiași angajați sunt încărcați din nou, de data aceasta într-un DataFrame numit productivity, care include și alți 1.200 de colegi. Acesta conține și o coloană 'productivity_score', calculată pe baza unităților produse pe oră. Această coloană a fost împărțită în trei grupe pentru a genera blocuri bazate pe valori de productivitate similare. Firma dorește să aplice un nou program de stimulente cu trei opțiuni ('Bonus', 'Profit Sharing' și 'Work from Home') la nivelul întregii companii, cu tratament aplicat aleatoriu.
numpy și pandas sunt încărcate ca np, respectiv pd.
Acest exercițiu face parte din cursul
Design experimental în Python
Instrucțiuni pentru exercițiu
- Amestecă
block-urile pentru a crea un nou DataFrame numitprod_df. - Resetează indexul astfel încât
blocksă nu fie atât index, cât și coloană. - Atribuie aleatoriu cele trei valori de tratament în coloana
'Treatment'.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____)
)