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 l'un de l'autre, 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 semble-t-elle due au 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 en courbes avec une ligne rouge et une 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

 

  • Construit une distribution nulle en mélangeant aléatoirement les données
  • Vérifie la significativité d'un résultat

Bootstrap

 

  • Construit une distribution de probabilité en échantillonnant aléatoirement les données
  • Crée 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...