# commons-dev mailing list archives

##### Site index · List index
Message view
Top
From Phil Steitz <p...@steitz.com>
Subject Re: [math] Getting 1.0 out the door -- tasks remaining
Date Sun, 25 Jul 2004 16:30:23 GMT
```Phil Steitz wrote:
> J.Pietschmann wrote:
>
>> Phil Steitz wrote:
>>
>>> 1) Decide what to do about inverse cumulative probabilities where p =
>>> 1 (easy solution is to document and throw)
>>
>>
>>
>> Nearly +1
>>
>
> My own "nearly +1" on this just turned to -1.  After looking some more
> at the code and thinking some more, I think that both p=1 and p=0 should
> be handled correctly in all cases.  The difficult cases are when the
> probability density function has unbounded support.  Here is what I
> propose for the values of inverseCumulativeProbability() at p=0 and p=1
> for current distributions.  Unless otherwise noted, these values are
> intented to be independent of distribution parameters.
>
> Distribution         p=0                     p=1
> ------------------------------------------------------------------
> Binomial               0               Integer.MAX_VALUE
> Chisquare              0               Double.POSITIVE_INFINITY
> Exponential            0               Double.POSITIVE_INFINITY
> F                      0               Double.POSITIVE_INFINITY
> Gamma                  0               Double.POSITIVE_INFINITY
> HyperGeometric         0               finite, parameter-dependent
> Normal       Double.NEGATIVE_INFINITY  Double.POSITIVE_INFINITY
> T            Double.NEGATIVE_INFINITY  Double.POSITIVE_INFINITY
>
> Other than the value for Chisquare with p=1 (which causes R to hang),
> these values are consistent with what R returns using the q* functions.
> It might be more convenient to return Double.MAX_VALUE,
> -Double.MAX_VALUE in place of the INFINITY's (since then we could just
> use getDomainLowerBound at 0 and 1) but this would not be correct
> mathematically.  If there are no objections, I will find a way to get
> the values above returned.

I have committed changes and tests to ensure that the values in the table
above are returned, modulo correcting the following mistakes:

Both of the discrete distributions (Binomial and Hypergeometric) should
return -1 for the inverseCumulativeProbability(0).  The definition that we
are using is that inverseCumulativeProbability(p) = the largest x such that
P(X <= x) <= p.

Since 0 has positive probability for both the Binomial and Hypergeometric
distributions, and the function is integer-valued, the correct value to
return in these cases is actually -1, not 0.
>
> Phil
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org