如何利用威布尔函数在给定的范围内生成随机数?我知道有一个weibull_min.rvs(k, loc=0, scale=lam, size=n, random_state=5)函数,它在给定形状和尺度参数时生成n点数,但我希望它在固定的范围内生成随机数,而不是所有的值。
注意:范围可能是一组整数,如2到3之间的整数,然后在它们之间生成服从Weibull分布的随机数。
发布于 2022-07-06 05:51:23
您需要的是来自截断分布的随机值,特别是截断的威布尔分布。
截断本质上是指所有高于或低于截断值的值都被“过滤掉”。
您可以使用外脓肿 (我是它的开发人员)从截断的威布尔发行版中进行示例:
from surpyval import Weibull
alpha = 6
beta = 3
model = Weibull.from_params((alpha, beta))
# Lower and Upper limit of truncation
a, b = 2, 3
# get n samples
n = 100
# Get the random values
vals_between_2_and_3 = model.random(n, a=a, b=b)https://stackoverflow.com/questions/71240682
复制相似问题