Python相当于R的rnbinom用mu参数化

时间:2016-08-16 04:23:43

标签: python r numpy

R具有negative binomial function,其可以用mu而不是概率参数化(例如,浮动> = 0和< = 1)。我试图复制这个发行版:

rnbinom(1000,size=0.3,mu=15)
在Python中

。从我所看到的情况来看,Numpy's negative binomial function只允许概率。另外,我不清楚Numpy中的size参数是什么。

1 个答案:

答案 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函数的sizeprob参数。 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