2013-04-15 13 views
8

Próbuję wygenerować scipy.stats.pareto.rvs (b, loc = 0, scale = 1, size = 1) z różnymi seedami.nasienie scipy.stats?

W numpy możemy wysiać używając numpy.random.seed (seed = 233423).

Czy istnieje sposób na zrzucenie losowej liczby wygenerowanej przez scipy stats.

Uwaga: Nie używam numre pareto, ponieważ chcę podać różne wartości skali.

Odpowiedz

12

scipy.stats po prostu używa numpy.random do generowania liczb losowych, dzięki czemu numpy.random.seed() będzie działać również tutaj. Np.,

import numpy as np 
from scipy.stats import pareto 
b = 0.9 
np.random.seed(seed=233423) 
print pareto.rvs(b, loc=0, scale=1, size=5) 
np.random.seed(seed=233423) 
print pareto.rvs(b, loc=0, scale=1, size=5) 

wydrukuje [ 9.7758784 10.78405752 4.19704602 1.19256849 1.02750628] dwa razy.

+0

Dziękuję, działa. – ashok

+1

Czy istnieje * nie * sposób nadania scipy.stats obiektu numpy.random.RandomState? Naprawdę wolałbym nie dotykać domyślnego losowego strumienia. –

+2

Najwyraźniej nie (jak gdyby teraz), potwierdzone przez Roberta Kern'a na liście dyskusyjnej użytkowników scipy-users! –

Powiązane problemy