[Scipy-tickets] [SciPy] #1507: scipy.stats.rv_generic.rvs Discrete Distribution Rounding Bug
SciPy Trac
scipy-tickets@scipy....
Fri Sep 2 14:20:34 CDT 2011
#1507: scipy.stats.rv_generic.rvs Discrete Distribution Rounding Bug
-------------------------+--------------------------------------------------
Reporter: bestephe | Owner: somebody
Type: defect | Status: new
Priority: normal | Milestone: Unscheduled
Component: scipy.stats | Version: 0.9.0
Keywords: |
-------------------------+--------------------------------------------------
In the rv_generic class of scipy.stats, starting at line 702 of
scipy/stats/distributions.py, there is a bug that shows a misunderstanding
between a discrete distribution and a real (integer) valued distribution.
The bug causes all random value samples of discrete distributions to be
integers.
Consider, for example, the following snippet of code:
import scipy.stats
dist = scipy.stats.rv_discrete(values=([0.25, 0.75], [0.5, 0.5]),
name='Example')
print dist.rvs()
As is, the value printed will always be 0, which is not even one of the
values being sampled from! Clearly, the value is not actually sampled
from the distribution.
The bugfix is simple: delete lines 702-708. After this fix, the value
printed in the code sample will be either 0.25 or 0.75, with equal
probability.
--
Ticket URL: <http://projects.scipy.org/scipy/ticket/1507>
SciPy <http://www.scipy.org>
SciPy is open-source software for mathematics, science, and engineering.
More information about the Scipy-tickets
mailing list