Experimente einrichten

Versuchsplanung mit Python

James Chapman

Curriculum Manager, DataCamp

Definition: Versuchsplanung

 

  • Ein Prozess
  • Eine zielgerichtete und kontrollierte Vorgehensweise
  • Um konkrete Schlussfolgerungen zu ziehen
    • Bezogen auf eine Hypothese

experimental-design.png

1 https://www.sciencedirect.com/topics/earth-and-planetary-sciences/experimental-design
Versuchsplanung mit Python

Robuste Aussagen formulieren

X hatte wahrscheinlich einen Effekt auf Y. Es gibt vermutlich ein kleines Fehlerrisiko

 

  • Präzise, quantifizierte Sprache

P-Wert-Analyse zeigt: X wirkte auf Y, mit 10 % Risiko für Fehler 1. Art

  • Fehler 1. Art: Nullhypothese fälschlich verwerfen

 

  • Ziel: Versuchsplanung und statistische Analyse
Versuchsplanung mit Python

Warum Versuchsplanung?

 

Nützlich in vielen Bereichen:

  • Medizinische Forschung
  • Marketing
  • Produktanalytik
  • Landwirtschaft
  • Regierungspolitik

why.png

Versuchsplanung mit Python

Einige Begriffe …

     

  • Probanden = woran wir testen (Personen, Mitarbeitende, Nutzende usw.)

Ein Proband: hier eine Person.

Versuchsplanung mit Python

Einige Begriffe …

     

  • Probanden = woran wir testen (Personen, Mitarbeitende, Nutzende usw.)
  • Treatment = eine Änderung für eine Gruppe

Ein Treatment wird auf eine Gruppe von Probanden angewendet.

Versuchsplanung mit Python

Einige Begriffe …

     

  • Probanden = woran wir testen (Personen, Mitarbeitende, Nutzende usw.)
  • Treatment = eine Änderung für eine Gruppe

Ein Treatment wird auf die Treatment-Gruppe angewendet.

Versuchsplanung mit Python

Einige Begriffe …

     

  • Probanden = woran wir testen (Personen, Mitarbeitende, Nutzende usw.)
  • Treatment = eine Änderung für eine Gruppe
  • Control = die Gruppe ohne Änderung

Probanden in Treatment- und Kontrollgruppe aufgeteilt.

Versuchsplanung mit Python

Probanden Gruppen zuweisen

     

  • Wie Probanden Gruppen zuweisen?
    • Option 1 – nicht zufällig (DataFrame „splitten")
    • Option 2 – zufällige Zuweisung

     

  • Beispiel: 200 Größen in heights DataFrame
    id  height
0    0  177.98
1    1  174.17
2    2  178.89
Versuchsplanung mit Python

Nicht-zufällige Zuweisung

 

Zuweisung per Slicing des DataFrames

group1_nonrandom = heights.iloc[0:100,:]
group2_nonrandom = heights.iloc[100:,:]

compare_df = pd.concat( [group1_nonrandom['height'].describe(), group2_nonrandom['height'].describe()], axis=1) compare_df.columns = ['group1', 'group2'] print(compare_df)
  • Sehr unterschiedlich! (Mittelwert 9 cm auseinander)

 

 

       group1  group2
count  100.00  100.00
mean   170.32  179.19 <--
std      3.28    3.50
min    159.28  175.03
25%    168.06  176.57
50%    170.75  178.03
75%    173.09  180.79
max    174.92  191.32
Versuchsplanung mit Python

Zufällige Zuweisung

     

  • .sample() verwenden
    • n oder frac (Anteil 0–1)
group1 = heights.sample(frac=0.5,
                        replace=False,
                        random_state=42)

group2 = heights.drop(group1.index)
print(compare_df)
  • Viel näher! (<1 cm)

 

       group1  group2
count  100.00  100.00
mean   175.10  174.41 <--
std      5.39    5.78
min    163.07  159.28
25%    171.32  170.17
50%    175.22  174.86
75%    178.32  177.85
max    189.78  191.32
Versuchsplanung mit Python

Zusammenfassung: Zuweisung

 

  • Probanden sollten zufällig Gruppen zugewiesen werden
    • Damit beobachtete Änderungen korrekt zugeordnet werden

 

  • Zufällige Zuweisung: .sample()
  • Unterschiede prüfen: .describe()

Probanden zufällig Treatment- und Kontrollgruppe zugewiesen.

Versuchsplanung mit Python

Lass uns üben!

Versuchsplanung mit Python

Preparing Video For Download...