我想知道如何在python中生成一个带有两个参数(lambda,k)的随机威布尔分布。我知道numpy有一个numpy.random.weibull,但它只接受a参数作为分布的形状。
发布于 2018-08-22 06:27:59
Severin Pappadeux的答案可能是包含scale参数的最简单方法。另一种方法是使用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)
发布于 2018-08-22 05:51:18
好吧,如果您从威布尔分布中采样一个缺少scale参数的数字(假设scale等于1),那么要将其scale乘以lambda。
x = numpy.random.weibull(a)
return lambda*x
https://stackoverflow.com/questions/51956951
复制相似问题