ÎncepețiÎncepe gratuit

Testarea ipotezelor – Diferența dintre medii

Vrem să testăm ipoteza că există o diferență între donațiile medii primite din A și B. Anterior, ai învățat cum să generezi o singură permutare a datelor. Acum vom genera o distribuție nulă a diferenței dintre medii și vom calcula valoarea p.

Pentru distribuția nulă, generăm mai multe seturi de date permutate și stocăm diferența dintre medii pentru fiecare caz. Apoi calculăm statistica de test ca diferența dintre medii în setul de date original. În final, aproximăm valoarea p calculând de două ori fracția cazurilor în care diferența este mai mare sau egală cu valoarea absolută a statisticii de test (ipoteză bilaterală). O valoare p mai mică decât, să zicem, 0,05 poate indica semnificație statistică.

Acest exercițiu face parte din cursul

Simulare statistică în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Generează mai multe permutări ale donations_A și donations_B și atribuie-le variabilei perm.
  • Setează samples ca diferența dintre mediile permuted_A_datasets și permuted_B_datasets. Folosim axis=1 pentru a obține câte o medie pentru fiecare set de date în parte, nu o medie globală.
  • Setează test_stat ca diferența dintre mediile donations_A și donations_B.
  • Calculează valoarea p p_val ca dublul fracției din samples care este mai mare sau egală cu valoarea absolută a test_stat.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Generate permutations equal to the number of repetitions
perm = np.array([np.random.____(len(____) + len(____)) for i in range(reps)])
permuted_A_datasets = data[perm[:, :len(donations_A)]]
permuted_B_datasets = data[perm[:, len(donations_A):]]

# Calculate the difference in means for each of the datasets
samples = np.mean(____, axis=1) - np.mean(____, axis=1)

# Calculate the test statistic and p-value
test_stat = ____
p_val = 2*np.sum(____ >= np.abs(____))/reps
print("p-value = {}".format(p_val))
Editează și rulează codul