2015-10-07 79 views
1

我一直试图在python中创建一个用于泊松分布的QQ图。以下是我迄今为止:用于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’对象有没有属性‘合适’”

当谷歌搜索的错误,我发现了很多的人们说没有可用的Poisson.fit。我很确定qqplot函数调用Poisson.fit。这是否意味着qqplot函数不适用于泊松分布?如果qqplot函数不适用于泊松分布,那么您会如何建议生成此图?任何建议,将不胜感激。

+0

当您检查np.ranodm.poisson'的'的文档,第一句话说:'从泊松绘制样品distribution.'你想要什么可能是'scipy.stats .poisson' – cel

+0

我改变了你的建议:pois = poisson.rvs(2.5,size = 1000),但是我得到了同样的错误。 – beth

+0

对不起,我对评论感到困惑。实际的问题是,scipy中的离散函数没有'.fit()'方法,因此不能用于statsmodels的'qqplot'函数。不过,我必须检查它的原因。 – cel

回答

0

我有同样的错误。以下似乎为我工作:

import matplotlib.pyplot as plt 
import numpy as np 
import scipy.stats as stats 
data=np.random.poisson(2.5, 100) 
stats.probplot(data, dist='poisson', sparams=(2.5,), plot=plt) 
plt.show()