Generowanie jednej permutacji
W kolejnych kilku ćwiczeniach przeprowadzimy test istotności z wykorzystaniem testowania permutacyjnego. Jak omówiono w filmie, chcemy sprawdzić, czy istnieje jakakolwiek różnica w wysokości darowizn generowanych przez dwa projekty – A i B. Przyjmijmy, że oba warianty działają od kilku dni i zebrały 500 darowizn dla wariantu A oraz 700 dla wariantu B – dane te są przechowywane w zmiennych donations_A i donations_B.
Na początku musimy wygenerować rozkład zerowy dla różnicy średnich. Osiągniemy to, tworząc wiele permutacji zbioru danych i obliczając różnicę średnich dla każdego przypadku.
Na początek wygenerujmy jedną permutację i obliczmy różnicę średnich dla tak przestawionego zbioru danych.
To ćwiczenie jest częścią kursu
Symulacje statystyczne w Pythonie
Instrukcje do ćwiczenia
- Połącz dwie tablice
donations_Aidonations_Bza pomocąnp.concatenate()i przypisz wynik do zmiennejdata. - Wygeneruj jedną permutację za pomocą
np.random.permutation()i przypisz ją do zmiennejperm. - Oblicz różnicę wartości średnich
permuted_Aipermuted_Bi przypisz ją do zmiennejdiff_in_means.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Concatenate the two arrays donations_A and donations_B into data
len_A, len_B = len(donations_A), len(donations_B)
data = ____([donations_A, donations_B])
# Get a single permutation of the concatenated length
perm = ____(len(donations_A) + len(donations_B))
# Calculate the permutated datasets and difference in means
permuted_A = data[perm[:len(donations_A)]]
permuted_B = data[perm[len(donations_A):]]
diff_in_means = ____
print("Difference in the permuted mean values = {}.".format(diff_in_means))