LoslegenKostenlos starten

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>
Kurs ansehen

Übungsanweisungen

  • Gruppiere prod_df nach 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_df anhand 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)
Code bearbeiten und ausführen