statsmodels.stats.gof.gof_binning_discrete(rvs, distfn, arg, nsupp=20) [source]

get bins for chisquare type gof tests for a discrete distribution

  • rvs (array) – sample data
  • distname (string) – name of distribution function
  • arg (sequence) – parameters of distribution
  • nsupp (integer) – number of bins. The algorithm tries to find bins with equal weights. depending on the distribution, the actual number of bins can be smaller.
  • freq (array) – empirical frequencies for sample; not normalized, adds up to sample size
  • expfreq (array) – theoretical frequencies according to distribution
  • histsupp (array) – bin boundaries for histogram, (added 1e-8 for numerical robustness)


The results can be used for a chisquare test

(chis,pval) = stats.chisquare(freq, expfreq)

originally written for scipy.stats test suite, still needs to be checked for standalone usage, insufficient input checking may not run yet (after copy/paste)

refactor: maybe a class, check returns, or separate binning from
test results
todo :
optimal number of bins ? (check easyfit), recommendation in literature at least 5 expected observations in each bin

© 2009–2012 Statsmodels Developers
© 2006–2008 Scipy Developers
© 2006 Jonathan E. Taylor
Licensed under the 3-clause BSD License.