[Python] np.random aiuto!!!!

francesca senatore francesca.senatore a hotmail.it
Gio 28 Apr 2016 19:16:09 CEST


Ciao a tutti. 
Avrei bisogno di un aiuto. Spero che qualcuno di voi possa aiutarmi. Vi spiego il mio problema:

Ho un array di probabilita' di elementi, cioe' [0.88514, 0.0946, 0.006757, 0.01351]. Io voglio estrarre elementi random proporzionali alla loro probabilita', il primo elemento circa l'89% delle volte, il secondo circa il 10% delle volte eccc. Cio' che ho fatto e' questo:

from numpy as np 
for num in range(300):
a = 5.6e3 
b = 2.5e6 
probs = [0.88514, 0.0946, 0.006757, 0.01351]
cutoffs = np.cumsum(probs)
temp = (b-a)*rand.uniform(0, cutoffs[-1])+a        
 

In pratica ho calcolato la somma cumulativa delle probabilita' e poi ho calcolato la distribuzione random (in maniera uniforme) da zero (cioe' da a) fino al cutoffs (1). 
Il risultato che ottengo non e' esattamente quello che speravo, nel senso che non estrae esattamente numeri random sulla base delle probabilita' che gli do in input. 
Che cosa sto sbagliando? Qualcuno di voi puo' aiutarmi? 
Esiste un'altra funzione che mi permette di estrarre numeri random nell'intervallo a,b tenendo in considerazione l'array di probabilita' che do in input?
Grazie mille per l'aiuto e scusate la poca competenza ma uso da poco python e non sono molto brava. 

Francesca 
 		 	   		  
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20160428/f503b381/attachment.html>


Maggiori informazioni sulla lista Python