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