ANOVA innerhalb von Mitarbeiter-Blöcken
Aufbauend auf deinen bisherigen Analysen mit dem Fertigungsunternehmen, in denen die Produktivität der Mitarbeitenden über verschiedene Blöcke hinweg untersucht und ein Anreizprogramm eingeführt wurde, tauchst du jetzt tiefer in die Daten ein. Das Unternehmen verfügt über einen umfassenderen Datensatz im DataFrame productivity, der 1200 zusätzliche Mitarbeitende und deren productivity_score enthält, und hat die Belegschaft basierend auf Produktivitätsniveaus in drei Blöcke eingeteilt. Jede Person wurde zufällig einem von drei Anreizoptionen zugewiesen: 'Bonus', 'Profit Sharing' oder 'Work from Home'.
Bevor du die Gesamtauswirkung dieser Anreize auf die Produktivität bewertest, ist es wichtig zu prüfen, dass die anfängliche Zuweisung der Behandlungen tatsächlich zufällig und fair über die verschiedenen Produktivitätsblöcke verteilt war. Dieser Schritt stellt sicher, dass beobachtete Unterschiede in der Produktivität nach der Behandlung mit gutem Gewissen den Anreizprogrammen zugeschrieben werden können und nicht bereits bestehenden Unterschieden zwischen den Blöcken.
Die Funktion f_oneway() aus scipy.stats wurde bereits für dich geladen.
Diese Übung ist Teil des Kurses
<Kurs>Versuchsplanung mit Python</Kurs>Übungsanweisungen
- Gruppiere
prod_dfnach der passenden Spalte, die die verschiedenen Blöcke in deinen Daten repräsentiert. - Verwende eine Lambda-Funktion, um den ANOVA-Test innerhalb jedes Blocks anzuwenden, und gib das Argument der
lambda-Funktion an. - Filtere für jede Behandlungsgruppe innerhalb der Blöcke
prod_dfanhand der Werte in der Spalte'Treatment'und wähle die Spalte'productivity_score'aus.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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)