Esempio di probabilità
In questo esercizio ripasseremo la differenza tra campionamento con e senza reimmissione. Calcoleremo la probabilità di un evento tramite simulazione, variando però il metodo di campionamento per vedere come influisce sulla probabilità.
Immagina una ciotola piena di caramelle colorate: tre blu, due verdi e cinque gialle. Estrai tre caramelle, una alla volta, con reimmissione e senza reimmissione. Vuoi calcolare la probabilità che tutte e tre le caramelle siano gialle.
Questo esercizio fa parte del corso
Simulazione statistica in Python
Istruzioni dell'esercizio
- Definisci la tua
bowlcome una lista con tre caramelle blu'b', due verdi'g'e cinque gialle'y'. - Estrai un campione di tre caramelle con reimmissione (
sample_rep) e senza reimmissione (sample_no_rep). - Per il campione con reimmissione, se non ci sono caramelle
'b'o'g'insample_rep, incrementasuccess_rep. Allo stesso modo, incrementasuccess_no_repquando non ci sono caramelle'b'o'g'insample_no_rep. - Calcola le rispettive probabilità come successi divisi per il numero di iterazioni.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Set up the bowl
success_rep, success_no_rep, sims = 0, 0, 10000
bowl = list(____*3 + ____*2 + ____*5)
for i in range(sims):
# Sample with and without replacement & increment success counters
sample_rep = np.random.____(bowl, size=3, replace=____)
sample_no_rep = np.random.____(bowl, size=3, replace=____)
if ('b' not in sample_rep) & ('g' not in sample_rep) :
____
if ('b' not in sample_no_rep) & ('g' not in sample_no_rep) :
____
# Calculate probabilities
prob_with_replacement = ____/sims
prob_without_replacement = ____/sims
print("Probability with replacement = {}, without replacement = {}".format(prob_with_replacement, prob_without_replacement))