10

我正在努力弄清楚如何使用 scipy.distributions 包,并想知道是否有人可以为我发布一些示例代码。它似乎可以满足我的所有需求,我只是不知道如何使用它。

我需要生成两种分布,一种是对数正态分布,一种是泊松分布。我知道每个的方差和 lambda。

资源链接也可以。

4

2 回答 2

8

我假设您的意思是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 文档站点上找到。

于 2009-01-27T21:00:25.880 回答
3

这是一些示例代码:SciPy 中的概率分布

于 2009-07-25T15:20:48.310 回答