我正在努力弄清楚如何使用 scipy.distributions 包,并想知道是否有人可以为我发布一些示例代码。它似乎可以满足我的所有需求,我只是不知道如何使用它。
我需要生成两种分布,一种是对数正态分布,一种是泊松分布。我知道每个的方差和 lambda。
资源链接也可以。
我假设您的意思是scipy.stats
. 要创建分布,请生成随机变量并计算 pdf:
Python 2.5.1 (r251:54863, Feb 4 2008, 21:48:13) [GCC 4.0.1 (Apple Inc. build 5465)] on darwin 键入“帮助”、“版权”、“信用”或“许可证”了解更多信息。
>>> from scipy.stats import poisson, lognorm
>>> myShape = 5;myMu=10
>>> ln = lognorm(myShape)
>>> p = poisson(myMu)
>>> ln.rvs((10,)) #generate 10 RVs from ln
array([ 2.09164812e+00, 3.29062874e-01, 1.22453941e-03,
3.80101527e+02, 7.67464002e-02, 2.53530952e+01,
1.41850880e+03, 8.36347923e+03, 8.69209870e+03,
1.64317413e-01])
>>> p.rvs((10,)) #generate 10 RVs from p
array([ 8, 9, 7, 12, 6, 13, 11, 11, 10, 8])
>>> ln.pdf(3) #lognorm PDF at x=3
array(0.02596183475208955)
其他方法(以及scipy.stats
文档的其余部分)可以在新的SciPy 文档站点上找到。
这是一些示例代码:SciPy 中的概率分布