[
https://issues.apache.org/jira/browse/MATH-359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Phil Steitz closed MATH-359.
----------------------------
Resolution: Duplicate
Duplicates MATH-282
> Normal Distribution implementation gives false cumulative probabilities
> -----------------------------------------------------------------------
>
> Key: MATH-359
> URL: https://issues.apache.org/jira/browse/MATH-359
> Project: Commons Math
> Issue Type: Bug
> Environment: Ubuntu Linux
> Reporter: Joris
> Priority: Minor
>
> Package: org.apache.commons.math.distribution
> Class: NormalDistributionImpl
> For a given mean and standard deviation, the class NormalDistributionImpl
> implements a normal distribution. Per definition, the function
> cumulativeProbability(double x) should return a value on the interval <0,1>
> (0 and 1 excluded), for any real value of x. However, the following test case
> shows that the method cumulativeProbability(double x) gives for some values
> wrong results:
> NormalDistributionImpl ncdf=new
> NormalDistributionImpl(0.06848215242239623,0.21287763557454142);
> try{
> System.out.println("Test:
> "+ncdf.cumulativeProbability(2.636630902183101));
> }catch(MathException e){ System.out.println("Exception has occurred: "+e);}
> Result:
> Test: 1.0000000000000064
> Only in the case where x=Double.POSITIVE_INFINITY,
> cumulativeProbability(double x) should return 1. For all other values of x,
> the result should be <1.
> The weird result from the above test case is quite likely caused by the data
> type double. The 2 most straight forward ways to fix this behavior:
> 1. Use a more accurate data type
> 2. Build in checks which prevent bad results like:
> if(x==Double.POSITIVE_INFINITY)
> return 1;
> else if(x==Double.NEGATIVE_INFINITY)
> return 0;
> else if(result >=1)
> return 0.9999999999999; //A constant value which is stored correctly by a
> double
> else if(result <=0)
> return 0.0000000000001;
> Nevertheless, I believe that this issue should be noted in the Javadoc of the
> NormalDistributionImpl class.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira