Générer un échantillon par permutation
Dans la vidéo, vous avez vu que l’échantillonnage par permutation est une excellente façon de simuler l’hypothèse selon laquelle deux variables ont des distributions de probabilité identiques. C’est une hypothèse que vous souhaitez souvent tester ; dans cet exercice, vous allez donc écrire une fonction pour générer un échantillon par permutation à partir de deux jeux de données.
Rappel : un échantillon par permutation de deux tableaux ayant respectivement n1 et n2 éléments se construit en concaténant les tableaux, en mélangeant le contenu du tableau concaténé, puis en prenant les n1 premiers éléments comme échantillon par permutation du premier tableau et les n2 derniers éléments comme échantillon par permutation du second tableau.
Cet exercice fait partie du cours
Réflexion statistique en Python (Partie 2)
Instructions
- Concaténez les deux tableaux d’entrée en un seul à l’aide de
np.concatenate(). Veillez à passerdata1etdata2en un seul argument(data1, data2). - Utilisez
np.random.permutation()pour permuter le tableau concaténé. - Stockez les
len(data1)premiers éléments depermuted_datadansperm_sample_1et leslen(data2)derniers éléments depermuted_datadansperm_sample_2. En pratique, cela peut se faire en utilisant:len(data1)etlen(data1):pour couperpermuted_data. - Retournez
perm_sample_1etperm_sample_2.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
def permutation_sample(data1, data2):
"""Generate a permutation sample from two data sets."""
# Concatenate the data sets: data
data = ____
# Permute the concatenated array: permuted_data
permuted_data = ____
# Split the permuted array into two: perm_sample_1, perm_sample_2
perm_sample_1 = permuted_data[____]
perm_sample_2 = permuted_data[____]
return perm_sample_1, perm_sample_2