如何在python中随机采样2参数的weibull分布

时间:2018-08-21 21:30:03

标签: python numpy random scipy weibull

我想知道如何在python中生成带有2参数(lambda,k)的随机魏布尔分布。我知道numpy有一个numpy.random.weibull,但是它只接受 a 参数作为分布的形状。

2 个答案:

答案 0 :(得分:2)

好吧,如果您从weibull分布中采样了一个缺少比例尺参数的数字(假定比例尺等于1),则将其比例尺乘以lambda。

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

答案 1 :(得分:1)

Severin Pappadeux的答案可能是包含scale参数的最简单方法。一种替代方法是使用scipy.stats.weibull_minweibull_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)