Aan de slagBegin gratis

ANOVA binnen blokken van werknemers

Voortbouwend op je eerdere analyses bij het productiebedrijf, waar de productiviteit van werknemers per blok werd onderzocht en een incentiveprogramma werd ingevoerd, ga je nu dieper in op de data. Het bedrijf beschikt over een uitgebreidere gegevensset in de DataFrame productivity, met 1200 extra werknemers en hun productivity_score, en heeft het personeelsbestand ingedeeld in drie blokken op basis van productiviteitsniveaus. Elke werknemer is willekeurig toegewezen aan een van drie incentive-opties: 'Bonus', 'Profit Sharing' of 'Work from Home'.

Voordat je de volledige impact van deze incentive-behandelingen op productiviteit beoordeelt, is het belangrijk om te controleren of de initiële toewijzing van de behandelingen daadwerkelijk willekeurig en evenwichtig was over de verschillende productiviteitsblokken. Deze stap zorgt ervoor dat eventuele verschillen in productiviteit na de behandeling met vertrouwen kunnen worden toegeschreven aan de incentiveprogramma's zelf, en niet aan al bestaande verschillen tussen de blokken.

De functie f_oneway() uit scipy.stats is voor je geladen.

Deze oefening maakt deel uit van de cursus

Experimenteel ontwerpen in Python

Bekijk cursus

Oefeninstructies

  • Groepeer prod_df op de juiste kolom die de verschillende blokken in je data weergeeft.
  • Gebruik een lambda-functie om de ANOVA-test binnen elk blok toe te passen en specificeer het argument van de lambda-functie.
  • Filter voor elke behandelingsgroep binnen de blokken prod_df op basis van de waarden in de kolom 'Treatment' en selecteer de kolom 'productivity_score'.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Perform the within blocks ANOVA, first grouping by block
within_block_anova = prod_df.groupby('____').apply(
  # Set function
  lambda x: ____(
    # Filter Treatment values based on outcome
    x[x['____'] == '____']['____'], 
    x[x['____'] == '____']['____'],
    x[x['____'] == '____']['____'])
)
print(within_block_anova)
Code bewerken en uitvoeren