np.random.seed(98765678) nobs = 1000 rvs = np.random.randn(nobs,6) data_exog = rvs data_exog = sm.add_constant(data_exog, prepend=False) xbeta = 1 + 0.1*rvs.sum(1) data_endog = np.random.poisson(np.exp(xbeta)) #print(data_endog modp = MyPoisson(data_endog, data_exog) resp = modp.fit() print(resp.params) print(resp.bse) from statsmodels.discretemod import Poisson resdp = Poisson(data_endog, data_exog).fit() print('\ncompare with discretemod') print('compare params') print(resdp.params - resp.params) print('compare bse') print(resdp.bse - resp.bse) gmlp = sm.GLM(data_endog, data_exog, family=sm.families.Poisson()) resgp = gmlp.fit() ''' this creates a warning, bug bse is double defined ??? c:\josef\eclipsegworkspace\statsmodels-josef-experimental-gsoc\scikits\statsmodels\decorators.py:105: CacheWriteWarning: The attribute 'bse' cannot be overwritten warnings.warn(errmsg, CacheWriteWarning) ''' print('\ncompare with GLM') print('compare params') print(resgp.params - resp.params)