【发布时间】:2016-08-16 04:23:42
【问题描述】:
R 有一个negative binomial function,可以用mu 参数化而不是概率(例如,浮点数 >= 0 和
rnbinom(1000,size=0.3,mu=15)
在 Python 中。据我所知,Numpy's negative binomial function 只允许概率。另外,我不清楚 Numpy 中的 size 参数是什么。
【问题讨论】:
R 有一个negative binomial function,可以用mu 参数化而不是概率(例如,浮点数 >= 0 和
rnbinom(1000,size=0.3,mu=15)
在 Python 中。据我所知,Numpy's negative binomial function 只允许概率。另外,我不清楚 Numpy 中的 size 参数是什么。
【问题讨论】:
这是您传递给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
【讨论】: