Как сделать случайную выборку 2-х параметрического распределения Вейбулла в python



Мне было интересно, как сгенерировать случайное распределение Вейбулла с 2-параметром (лямбда, k) в python. Я знаю, что у numpy есть numpy.случайность.Вейбулла , но он принимает только параметр a в качестве формы распределения.

1012   2  

2 ответов:

Ответ Северина Паппаде, вероятно, является самым простым способом включить параметр масштаба. Альтернативой является использование scipy.stats.weibull_min. weibull_min имеет три параметра: форму, местоположение и масштаб. Вам нужны только форма и масштаб, поэтому вы должны установить местоположение на 0.

from scipy.stats import weibull_min

n = 100     # number of samples
k = 2.4     # shape
lam = 5.5   # scale

x = weibull_min.rvs(k, loc=0, scale=lam, size=n)

Ну, если вы возьмете число из распределения Вейбулла с отсутствующим параметром масштаба (который предполагает, что масштаб равен 1), то для его получения масштаб умножьте на лямбда.

x = numpy.random.weibull(a)
return lambda*x

Comments

    Ничего не найдено.