Konfigurowanie eksperymentów

Projektowanie eksperymentów w Pythonie

James Chapman

Curriculum Manager, DataCamp

Definicja planowania eksperymentu

 

  • Proces
  • Sposób obiektywny i kontrolowany
  • Wyciąganie konkretnych wniosków
    • W odniesieniu do hipotezy

experimental-design.png

1 https://www.sciencedirect.com/topics/earth-and-planetary-sciences/experimental-design
Projektowanie eksperymentów w Pythonie

Formułowanie rzetelnych stwierdzeń

X prawdopodobnie miało wpływ na Y. Istnieje pewne małe ryzyko błędu

 

  • Precyzyjny i ilościowy język

Analiza wartości p wskazuje, że X miało wpływ na Y z 10% ryzykiem błędu I rodzaju

  • Błąd I rodzaju: nieprawidłowe odrzucenie hipotezy zerowej

 

  • Cel: planowanie eksperymentu i analiza statystyczna
Projektowanie eksperymentów w Pythonie

Dlaczego planowanie eksperymentu?

 

Przydatne w wielu dziedzinach:

  • Badania medyczne
  • Marketing
  • Analityka produktów
  • Rolnictwo
  • Polityka rządowa

why.png

Projektowanie eksperymentów w Pythonie

Terminologia...

     

  • Podmioty = _to_, na czym prowadzimy eksperyment (ludzie, pracownicy, użytkownicy itp.)

Podmiot: w tym przypadku osoba.

Projektowanie eksperymentów w Pythonie

Terminologia...

     

  • Podmioty = _to_, na czym prowadzimy eksperyment (ludzie, pracownicy, użytkownicy itp.)
  • Interwencja = zmiana wprowadzona dla jednej grupy

Interwencja stosowana wobec grupy podmiotów.

Projektowanie eksperymentów w Pythonie

Terminologia...

     

  • Podmioty = _to_, na czym prowadzimy eksperyment (ludzie, pracownicy, użytkownicy itp.)
  • Interwencja = zmiana wprowadzona dla jednej grupy

Interwencja stosowana wobec grupy eksperymentalnej.

Projektowanie eksperymentów w Pythonie

Terminologia...

     

  • Podmioty = _to_, na czym prowadzimy eksperyment (ludzie, pracownicy, użytkownicy itp.)
  • Interwencja = zmiana wprowadzona dla jednej grupy
  • Kontrola = grupa, wobec której nie wprowadzono zmian

Podmioty podzielone na grupy eksperymentalną i kontrolną.

Projektowanie eksperymentów w Pythonie

Przypisywanie podmiotów do grup

     

  • Jak przypisywać podmioty do grup?
    • Opcja 1 – losowanie nielosowe (podział DataFrame)
    • Opcja 2 – losowe przypisanie

     

  • Przykład: 200 podmiotów i ich wzrost w DataFrame heights
    id  height
0    0  177.98
1    1  174.17
2    2  178.89
Projektowanie eksperymentów w Pythonie

Przypisanie nielosowe

 

Przypisanie przez wycinanie DataFrame

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)
  • Duże różnice! (Średnia różni się o 9 cm)

 

 

       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
Projektowanie eksperymentów w Pythonie

Przypisanie losowe

     

  • Użyj .sample()
    • n lub frac (ułamek 0–1)
group1 = heights.sample(frac=0.5,
                        replace=False,
                        random_state=42)

group2 = heights.drop(group1.index)
print(compare_df)
  • Znacznie bliżej! (<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
Projektowanie eksperymentów w Pythonie

Podsumowanie przypisania

 

  • Podmioty powinny być losowo przypisywane do grup
    • Obserwowane zmiany są wtedy poprawnie przypisane

 

  • Losowe przypisanie podmiotów: .sample()
  • Weryfikacja różnic: .describe()

Podmioty losowo przypisane do grup eksperymentalnej i kontrolnej.

Projektowanie eksperymentów w Pythonie

Czas na ćwiczenia!

Projektowanie eksperymentów w Pythonie

Preparing Video For Download...