【发布时间】:2015-10-07 04:09:27
【问题描述】:
我一直在尝试在 python 中为泊松分布制作 QQ 图。这是我目前所拥有的:
import numpy as np
import statsmodels.api as sm
import scipy.stats as stats
pois = np.random.poisson(2.5, 100) #creates random Poisson distribution with mean = 2.5
fig =sm.qqplot(pois, stats.poisson, line = 's')
plt.show()
每当我这样做时,我都会收到“AttributeError: 'poisson_gen' object has no attribute 'fit'”
在谷歌搜索该错误时,我发现很多人说没有可用的 Poisson.fit。我很确定 qqplot 函数正在调用 Poisson.fit。这是否意味着 qqplot 函数不适用于泊松分布?如果 qqplot 函数不适用于泊松分布,您建议如何生成此图?任何建议将不胜感激。
【问题讨论】:
-
当你查看
np.ranodm.poisson的文档时,第一句话说Draw samples from a Poisson distribution.你想要的可能是scipy.stats.poisson -
我把它改成了你建议的:pois =poisson.rvs(2.5, size=1000),但我得到了同样的错误。
-
对不起,我被评论弄糊涂了。实际问题是 scipy 中的离散函数没有
.fit()方法,因此不能在 statsmodels 的qqplot函数中使用。不过,我必须检查一下为什么会这样。 -
如果没有.fit()方法进行分发,QQ功能会起作用吗? (这就是我认为的问题所在。)如果是这样,我还有其他方法可以制作 QQ 图吗?