ANOVA innerhalb von Blöcken von Arbeitnehmern
Aufbauend auf deinen früheren Analysen mit dem Produktionsunternehmen, bei denen die Produktivität der Beschäftigten in verschiedenen Blöcken untersucht und ein Anreizprogramm eingeführt wurde, gehst du nun tiefer in die Daten ein. Das Unternehmen, das über einen umfassenderen Datensatz im DataFrame zur Produktivität verfügt, der 1200 zusätzliche Beschäftigte und ihre productivity_score
enthält, hat die Belegschaft nach Produktivitätsstufen in drei Blöcke unterteilt. Jedem Mitarbeiter wurde nach dem Zufallsprinzip eine von drei Anreizoptionen zugewiesen: 'Bonus'
, 'Profit Sharing'
, oder 'Work from Home'
.
Bevor wir die vollen Auswirkungen dieser Anreizmaßnahmen auf die Produktivität beurteilen können, müssen wir sicherstellen, dass die anfängliche Zuweisung der Maßnahmen tatsächlich zufällig erfolgte und die verschiedenen Produktivitätsblöcke gleichmäßig verteilt wurden. Dieser Schritt stellt sicher, dass alle beobachteten Produktivitätsunterschiede nach der Behandlung mit Sicherheit auf die Anreizprogramme selbst und nicht auf bereits bestehende Ungleichheiten in den Blöcken zurückgeführt werden können.
Die Funktion f_oneway()
von scipy.stats
wurde für dich geladen.
Diese Übung ist Teil des Kurses
Versuchsplanung in Python
Anleitung zur Übung
- Gruppiere
prod_df
nach der entsprechenden Spalte, die verschiedene Blöcke in deinen Daten darstellt. - Verwende eine Lambda-Funktion, um den ANOVA Test in jedem Block anzuwenden, indem du das Argument der
lambda
Funktion angibst. - Filtere für jede Behandlungsgruppe innerhalb der Blöcke
prod_df
anhand der Werte der Spalte'Treatment'
und wähle die Spalte'productivity_score'
aus.
Interaktive Ü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)