[SciPy-Dev] Warnings raised (from fit in scipy.stats)

josef.pktd@gmai... josef.pktd@gmai...
Fri Jun 11 12:07:37 CDT 2010


On Fri, Jun 11, 2010 at 12:45 PM, Skipper Seabold <jsseabold@gmail.com> wrote:
> Since the raising of warning behavior has been changed (I believe), I
> have been running into a lot of warnings in my code when say I do
> something like
>
> In [120]: from scipy import stats
>
> In [121]: y = [-45, -3, 1, 0, 1, 3]
>
> In [122]: v = stats.norm.pdf(y)/stats.norm.cdf(y)
> Warning: invalid value encountered in divide
>
> Sometimes, this is useful to know.  Sometimes, though, it's very
> disturbing when it's encountered in some kind of iteration or
> optimization.  I have been using numpy.clip to get around this in my
> own code, but when it's buried a bit deeper, it's not quite so simple.
>
> Take this example.
>
> In [123]: import numpy as np
>
> In [124]: np.random.seed(12345)
>
> In [125]: B = 6.0
>
> In [126]: x = np.random.exponential(scale=B, size=5000)
>
> In [127]: from scipy.stats import expon
>
> In [128]: expon.fit(x)
>
> <dozens of warnings clipped>
>
> Out[128]: (0.21874043533906118, 5.7122829778172939)
>
> The fit is achieved by fmin (as far as I know, since disp=0 in the
> rv_continuous.fit...), but there are a number of warnings emitted.  Is
> there any middle ground to be had in these type of situations via
> context management perhaps?
>
> Should I file a ticket?

Which numpy scipy versions are you using?

I don't get any warning with the first example. (numpy 1.4.0)
(I cannot run the second example because I have a scipy revision with
a broken fit() method)

I don't think wrapping functions/methods to turn off warnings is a
good option. (many of them are in inner loops for example for random
number generation)

Josef

>
> Skipper
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
>


More information about the SciPy-Dev mailing list