Teste de permutare

Bazele inferenței în Python

Paul Savala

Assistant Professor of Mathematics

Teste de permutare

Două grupuri de figurine mici, separate, fiecare cu culori diferite.

Bazele inferenței în Python

Teste de permutare

  • Amestecă eșantioanele
  • Observă rezultatul
  • Diferența observată pare un rezultat aleatoriu?

Figurine mici interschimbate între ele.

Bazele inferenței în Python

Teste de permutare în SciPy

new_satisfaction = [94, 85, 79, 91, 82]
old_satisfcation = [90, 87, 77, 85, 82]

# Group together our data data = (new_satisfaction, old_satisfcation)
# Define our test statistic def statistic(x, y): return np.mean(x) - np.mean(y)
# Compute a permutation test for the difference in means stats.permutation_test(data, statistic, n_resamples=1000, vectorized=False, alternative='greater')
Bazele inferenței în Python

Teste de permutare pentru corelație

Un grafic liniar cu o linie roșie și una albastră, ușor corelate.

stats.pearsonr(red_data, blue_data)[0]
0.08
Bazele inferenței în Python

Teste de permutare pentru corelație

data = (red_data, blue_data)

def statistic(x, y): return stats.pearsonr(x, y)[0]
res = stats.permutation_test(data, statistic, n_resamples=1000, vectorized=False, alternative='two-sided')
print(res.pvalue < 0.05)
False
Bazele inferenței în Python

Teste de permutare

 

  • Construiește o distribuție nulă prin amestecarea aleatorie a datelor
  • Testează semnificația unui rezultat

Bootstrapping

 

  • Construiește o distribuție de probabilitate prin eșantionarea aleatorie a datelor
  • Creează un interval de încredere cu rezultatele cele mai probabile
Bazele inferenței în Python

Să exersăm!

Bazele inferenței în Python

Preparing Video For Download...