IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci la tua bowl come 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' in sample_rep, incrementa success_rep. Allo stesso modo, incrementa success_no_rep quando non ci sono caramelle 'b' o 'g' in sample_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))
Modifica ed esegui il codice