[SciPy-Dev] distributions.ncf.fit -- never converges?

Bruce Southey bsouthey at gmail.com
Wed Apr 13 13:58:24 EDT 2011


On 04/13/2011 12:33 PM, josef.pktd at gmail.com wrote:
> 2011/4/13 Yaroslav Halchenko<lists at onerussian.com>:
>> Thanks Josef for the confirmation and making your computer sweat ;)
>>
>> I have built current master
>>
>> *In [3]: scipy.__version__
>> Out[3]: '0.10.0.dev'
>>
>> the same story.
> The default starting parameters have changed. If your example worked
> before, then it's possible that it works with explicit starting
> parameters.
>
> (I haven't figured out yet how to make my new computer sweat.)
>
> Josef
>
>
>> apparently it is known to some degree -- ncf is skipped the unittesting:
>>
>> $>  git grep -A 10 'TestFitMethod'
>> scipy/stats/tests/test_distributions.py:class TestFitMethod(TestCase):
>> scipy/stats/tests/test_distributions.py-    skip = ['ncf']
>> scipy/stats/tests/test_distributions.py-
>> scipy/stats/tests/test_distributions.py-    @dec.slow
>> scipy/stats/tests/test_distributions.py-    def test_fit(self):
>> scipy/stats/tests/test_distributions.py-        for func, dist, args, alpha in test_all_distributions():
>> scipy/stats/tests/test_distributions.py-            if dist in self.skip:
>> scipy/stats/tests/test_distributions.py-                continue
>>
>> $>  git show ba349771
>> commit ba349771afebb1473a961139570da770ada59032
>> Author: Travis Oliphant<oliphant at enthought.com>
>> Date:   Tue Jun 1 07:59:20 2010 +0000
>>
>>     Add tests for fit method including fixing input parameters.
>>
>>
>> ;-) :-/
>>
>> On Wed, 13 Apr 2011, josef.pktd at gmail.com wrote:
>>
>>>>   python -c 'import scipy.stats.distributions as ssd, numpy as np; d=ssd.ncf; d.fit(np.array([-0.03756533,  0.18115522,  0.06605958, -0.09195276,  0.06162608, 0.07139736, -0.1570828 , -0.11967677, -0.19186652,  0.29411319]));'
>>> I only have 0.9.0, I forgot to kill the process and 1 hour 22 minutes
>>> of cpu time later it still hadn't returned.
>>> At least a maximum iteration or maximum function evaluation should
>>> have stopped it.
>>> Josef
>> --
>> =------------------------------------------------------------------=
>> Keep in touch                                     www.onerussian.com
>> Yaroslav Halchenko                 www.ohloh.net/accounts/yarikoptic
>> _______________________________________________
>> SciPy-Dev mailing list
>> SciPy-Dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-dev
>>
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
I did not run it very long because I saw this message:
/usr/lib64/python2.7/site-packages/scipy/stats/distributions.py:1882: 
RuntimeWarning: invalid value encountered in double_scalars
   Lhat = muhat - Shat*mu

It seems that  line 1874 (mu, mu2 = 
self.stats(*args,**{'moments':'mv'})) give mu and mu2 as inf's. So Lhat 
is nan and there are better uses for that cpu power than spinning around 
infinities ...

Bruce







More information about the SciPy-Dev mailing list