用numpy
生成正态分布整数集的最佳方法是什么?我知道我可以用这样的东西弄到花车:
In [31]: import numpy as np
In [32]: import matplotlib.pyplot as plt
In [33]: plt.hist(np.random.normal(250, 1, 100))
Out[33]:
(array([ 2., 5., 9., 10., 19., 21., 13., 10., 6., 5.]),
array([ 247.52972483, 247.9913017 , 248.45287858, 248.91445546,
249.37603233, 249.83760921, 250.29918608, 250.76076296,
251.22233984, 251.68391671, 252.14549359]),
<a list of 10 Patch objects>)
Binomial Distribution是正态分布的一个很好的离散近似。也就是说
所以你可以
过了很长一段时间后才发现这一点,但如果要生成任意分布的整数集,请使用反向CDF(percentile)作为来自^{} 的关联分布,并从中均匀地绘制百分位数。然后转换成整数,就完成了:
continuous distributions in ^{} can be found here 的列表和discrete distributions can be found here的列表。
尽管对于上面的示例,您可以直接从想要的分布中绘制并转换为整数,但是这种方法(从CDF中均匀地采样百分位数)的好处是它适用于任何分布,甚至是只能从数据中数字定义的分布!
相关问题 更多 >
编程相关推荐