2015-10-07 73 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()