IniziaInizia gratis

ANOVA all'interno dei blocchi di dipendenti

Sulla base delle analisi precedenti con l'azienda manifatturiera, in cui la produttività dei lavoratori è stata esaminata in blocchi differenti e sono stati introdotti incentivi, ora andrai più a fondo nei dati. L'azienda, dotata di un insieme di dati più ampio nel DataFrame di produttività, con 1200 dipendenti aggiuntivi e il loro productivity_score, ha suddiviso la forza lavoro in tre blocchi in base ai livelli di produttività. A ciascun dipendente è stata assegnata in modo casuale una delle tre opzioni di incentivo: 'Bonus', 'Profit Sharing' o 'Work from Home'.

Prima di valutare l'impatto complessivo di questi trattamenti di incentivo sulla produttività, è fondamentale verificare che l'assegnazione iniziale dei trattamenti sia stata effettivamente casuale ed equa nei diversi blocchi di produttività. Questo passaggio garantisce che eventuali differenze osservate nella produttività dopo il trattamento possano essere attribuite con fiducia ai programmi di incentivazione stessi, e non a disparità preesistenti tra i blocchi.

La funzione f_oneway() da scipy.stats è già stata caricata per te.

Questo esercizio fa parte del corso

Progettazione Sperimentale in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Raggruppa prod_df per la colonna appropriata che rappresenta i diversi blocchi nei tuoi dati.
  • Usa una funzione lambda per applicare il test ANOVA all'interno di ciascun blocco, specificando l'argomento della funzione lambda.
  • Per ciascun gruppo di trattamento all'interno dei blocchi, filtra prod_df in base ai valori della colonna 'Treatment' e seleziona la colonna 'productivity_score'.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice