Beefy Boxes and Bandwidth Generously Provided by pair Networks DiBona
more useful options
 
PerlMonks  

Re: Fastest way to calculate hypergeometric distribution probabilities (i.e. BIG factorials)?

by chas (Priest)
on Jun 13, 2005 at 20:42 UTC ( [id://466333]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to Fastest way to calculate hypergeometric distribution probabilities (i.e. BIG factorials)?

If you just want a reasonable approximation (and not all the decimal places) you could use Stirling's approximation:
n! ~ (n^n)e^{-n}(\sqrt{(2)(pi)(n)})
This is an asymptotic formula (i.e. the ratio of n! to the Stirling approximation tends to 1 as n tends to infinity - it isn't true that n! is actually close to this approximation) but used on ratios of factorials of the type you need it actually gives good approximations of the values. That's certainly what I'd do if I were writing such code.
(Even if you could get an exact value, do you realy need 173 decimal places, or whatever...in many cases I would guess 2 decimal places might be pretty reasonable...for a probability.)
chas
(Update: Of course, in cases where the calculation doesn't really involve a very large number of multiplications, I would do the arithmetic directly.)
  • Comment on Re: Fastest way to calculate hypergeometric distribution probabilities (i.e. BIG factorials)?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://466333]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.