如何使用Scipy的Erlang分布函数生成指定参数的随机数
Scipy erlang.rvs 参数含义说明
首先明确:Erlang分布是形状参数为正整数的Gamma分布,你需要设置的到达数k直接对应参数a即可。
Scipy中所有连续概率分布都统一采用loc+scale的通用位置-尺度参数设计,因此erlang的文档不会单独重复说明这两个参数的含义,具体解释如下:
loc:位移参数,默认值为0
作用是将整个概率分布沿横轴平移loc个单位,标准Erlang分布的取值范围是[0, +∞),设置非0的loc后,取值范围变为[loc, +∞)。如果你的到达过程从0时刻开始统计,保持默认值0即可,无需修改。scale:尺度参数,默认值为1
和标准Erlang分布的速率参数λ的对应关系为scale = 1/λ。如果你的Erlang分布定义为k个独立同分布、速率为λ的指数分布之和,直接将scale设置为1/λ即可。
调用示例
假设你需要生成k=3、速率λ=2的Erlang分布随机数100个,调用代码如下:
import scipy.stats k = 3 lambda_ = 2 erlang_samples = scipy.stats.erlang.rvs(a=k, scale=1/lambda_, size=100, random_state=42)
内容的提问来源于stack exchange,提问作者Steven Oh
相关产品推荐
相关产品推荐

