我在绘制累积分布函数时遇到了麻烦。
到目前为止,我已经找到了这个:
scipy.stats.beta.cdf(0.2,6,7)
但这只能给我一点意见。
这将是我用来绘制的内容:
pylab.plot()
pylab.show()
我希望它看起来像这样: File:Binomial distribution cdf.svg
p = .2
,界限停止y = 1
或接近1。
答案 0 :(得分:6)
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()
答案 1 :(得分:2)
我不认为上面的用户ubuntu建议使用正确的功能。 实际上,他的回答非常误导和错误。
请注意,binom.cdf()
是计算由n和p Binomial(n,p)
指定的二项分布的cdf的函数。也就是说,它为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)
或者,只需使用matplotlib中的hist()
绘图功能。