Tests de permutation

Fondements de l’inférence en Python

Paul Savala

Assistant Professor of Mathematics

Tests de permutation

Deux groupes de petites silhouettes séparés, chacun avec des couleurs différentes.

Fondements de l’inférence en Python

Tests de permutation

  • Mélange les échantillons
  • Observe le résultat
  • La différence observée ressemble-t-elle à un hasard ?

Petites silhouettes échangées les unes avec les autres.

Fondements de l’inférence en Python

Tests de permutation avec 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')
Fondements de l’inférence en Python

Tests de permutation pour la corrélation

Un graphique avec une ligne rouge et une ligne bleue, légèrement corrélées.

stats.pearsonr(red_data, blue_data)[0]
0.08
Fondements de l’inférence en Python

Tests de permutation pour la corrélation

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
Fondements de l’inférence en Python

Tests de permutation

 

  • Construire une distribution nulle en mélangeant aléatoirement les données
  • Tester la signification d'un résultat

Bootstrap

 

  • Construire une loi de probabilité en échantillonnant aléatoirement les données
  • Créer un intervalle de confiance des résultats les plus probables
Fondements de l’inférence en Python

Passons à la pratique !

Fondements de l’inférence en Python

Preparing Video For Download...