R具有negative binomial function,其可以用mu
而不是概率参数化(例如,浮动> = 0和< = 1)。我试图复制这个发行版:
rnbinom(1000,size=0.3,mu=15)
在Python中。从我所看到的情况来看,Numpy's negative binomial function只允许概率。另外,我不清楚Numpy中的size
参数是什么。
答案 0 :(得分:4)
以下是您传递给rnbinom
的参数:
In [131]: num_samples = 10000
In [132]: size = 0.3
In [133]: mu = 15
如您链接的R文档中所述,您可以按如下方式计算概率:
In [134]: prob = size/(size + mu)
numpy.random.negative_binomial
的前两个参数对应于R函数的size
和prob
参数。 negative_binomial
的第三个参数是样本数。 (注意 - numpy调用此参数size
;它指的是要生成的样本的大小。所有numpy随机函数都采用size
参数。)
In [135]: sample = np.random.negative_binomial(size, prob, num_samples)
样本的平均值应该接近15。
In [136]: sample.mean()
Out[136]: 14.9032