Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stats.zipf floating point warnings (Trac #1361) #1886

Closed
scipy-gitbot opened this issue Apr 25, 2013 · 5 comments
Closed

stats.zipf floating point warnings (Trac #1361) #1886

scipy-gitbot opened this issue Apr 25, 2013 · 5 comments
Labels
Migrated from Trac scipy.stats task A straightforward change, verification or fix.
Milestone

Comments

@scipy-gitbot
Copy link

Original ticket http://projects.scipy.org/scipy/ticket/1361 on 2011-01-15 by @rgommers, assigned to unknown.

The zipf tests in stats/test_discrete_basic.py were yielding floating point warnings for many (all?) methods. In 1c4ebaa the zipf tests were disabled.

zipf(4) was giving warnings, zipf(2) was failing according to a comment in the test file. The whole implementation should be reviewed.

@josef-pkt
Copy link
Member

gh-2857 adds test for moments
_stats uses special.errprint(0) ? never seen

The entire ._stats function can be deleted (not even worth a _stats_skip) because it just uses the generic calculation to go from moments to mvsk, AFAICS

zipf is largely based on special.zeta. Need to check where it runs into floating point problems

k**a by np.power(k, a) would be safer

from comments in test suite, some moments are inf if the shape parameter is small

@josef-pkt
Copy link
Member

cross-ref PR gh-2841 was for continuous distribution

@josef-pkt
Copy link
Member

Wikipedia doesn't have precise details on Zipf distribution (story is on Zipf law)
the test suite example with a=4 has (I guess) 4th moment = inf

@josef-pkt
Copy link
Member

_munp needs to return inf for a-n <=1

>>> special.zeta(1,1)
inf
>>> special.zeta(0,1)
nan
>>> special.zeta(1.5,1)
2.6123753486854882
>>> special.zeta(1.01,1)
100.57794333849679
>>> special.zeta(1.0001,1)
10000.577222947541
>>> special.zeta(2,1)
1.6449340668482266

@rgommers
Copy link
Member

Fixed in gh-2904.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Migrated from Trac scipy.stats task A straightforward change, verification or fix.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants