我试图用高斯分布生成一系列随机数。所以,我使用了numpy.random.normal(mean,standard deviation,size)。但是,当我使用numpy.histogram将这些数字转换为概率密度函数时,这与matplotlib.mlab.normpdf所做的具有相同均值和标准差的高斯分布不同。
我理解这可能是因为numpy.random.normal是随机抽样。所以,这些数字的PDF不可能是完全高斯的。
如果有可能,请您提供有关如何获得具有高斯PDF的均值和标准差的随机数系列的建议吗? 我试图获得的数字大小为660。
我真的很感激任何建议和帮助。
致以最诚挚的问候,
艾萨克
答案 0 :(得分:1)
嗯,你可以" z-score"样本,减去样本均值,然后除以样本标准差:
x = np.random.normal(0, 1, size=660)
x = (x - x.mean()) / x.std()
这将使你的向量的均值为0,标准差为1.但这并不意味着你将拥有完全高斯随机数。"我不认为这是一个有意义的概念。
知道你想要使用它的应用程序会有所帮助,也许那么建议替代方案会更容易。