2

我在绘制累积分布函数时遇到问题。

到目前为止,我发现了这个:

scipy.stats.beta.cdf(0.2,6,7)

但这只是给了我一点。

这将是我用来绘制的:

pylab.plot()
pylab.show()

我希望它看起来像这样: 文件:二项分布 cdf.svg

并且p = .2边界停止一次y = 1或接近 1。

4

2 回答 2

5

的第一个参数cdf可以是一个值数组,而不是单个值。然后它将返回一个值数组。

import scipy.stats as stats
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,20,100)
cdf = stats.binom.cdf
plt.plot(x,cdf(x, 50, 0.2))
plt.show()

在此处输入图像描述

于 2012-10-11T21:55:25.807 回答
4

我认为上面的用户 ubuntu 没有建议使用正确的功能。实际上,他的回答在很大程度上具有误导性和不正确性。

请注意,这binom.cdf()是一个计算由 n 和 p 指定的二项式分布的 cdf 的函数Binomial(n,p)。也就是说,它返回 x 中每个值的随机变量的 cdf 值,而不是向量 x 指定的离散分布的实际 cdf 函数。

要计算向量 x 定义的任何分布的 cdf,只需使用以下histogram()函数:

import numpy as np
hist, bin_edges = np.histogram(np.random.randint(0,10,100), normed=True)
cdf = cumsum(hist)

或者,只需使用hist()matplotlib 中的绘图功能。

于 2014-04-24T02:55:20.587 回答