Generare un campione di permutazione
Nel video hai visto che il campionamento per permutazione è un ottimo modo per simulare l'ipotesi che due variabili abbiano distribuzioni di probabilità identiche. Questa è spesso un'ipotesi da testare, quindi in questo esercizio scriverai una funzione per generare un campione di permutazione a partire da due insiemi di dati.
Ricorda: un campione di permutazione di due array con rispettivamente n1 e n2 elementi si costruisce concatenando gli array, rimescolando i contenuti dell'array concatenato e poi prendendo i primi n1 elementi come campione di permutazione del primo array e gli ultimi n2 elementi come campione di permutazione del secondo array.
Questo esercizio fa parte del corso
Pensiero statistico in Python (Parte 2)
Istruzioni dell'esercizio
- Concatena i due array di input in uno solo usando
np.concatenate(). Assicurati di passaredata1edata2come un unico argomento(data1, data2). - Usa
np.random.permutation()per permutare l'array concatenato. - Salva i primi
len(data1)elementi dipermuted_datacomeperm_sample_1e gli ultimilen(data2)elementi dipermuted_datacomeperm_sample_2. In pratica, puoi farlo usando:len(data1)elen(data1):per effettuare lo slicing dipermuted_data. - Restituisci
perm_sample_1eperm_sample_2.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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