[Python] np.random aiuto!!!

Francesca Senatore francesca.senatore1983 a gmail.com
Ven 29 Apr 2016 09:41:11 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/20160429/b760f03e/attachment.html>


Maggiori informazioni sulla lista Python