Gilles created STATISTICS-2:
-------------------------------

             Summary: Migrate one-dimensional statistical distributions from 
"Commons Math"
                 Key: STATISTICS-2
                 URL: https://issues.apache.org/jira/browse/STATISTICS-2
             Project: Apache Commons Statistics
          Issue Type: Wish
          Components: distribution
            Reporter: Gilles


I propose to migrate codes currently in 
{{org.apache.commons.math4.distribution}} to a 
"commons-statistics-distribution" module.

Only the "one-dimensional" distributions are concerned (to avoid a dependency 
on the {{org.apache.commons.math4.linear}} package).

{{EmpiricalDistribution}} and {{EnumeratedDistribution}} are also excluded from 
the move (about the latter see also RNG-47).

Adaptation:
 * Create sub-packages for
 ** discrete distributions
 ** continuous distributions
 * Make custom exceptions (similar to pending work in "Commons Numbers": 
NUMBERS-40).

Issue:
 * Method
{code:java}
double inverseCumulativeProbability(double p){code}
depends on a "solver" defined in {{org.apache.commons.math4.analysis.solvers}} 
package.
 A solution would be to copy the necessary functionality ({{BrentSolver}}) as 
an "internal" utility.
 Another would be to provide an API for "externalizing" the functionality:
{code:java}
double inverseCumulativeProbability(double p, RootSolver p){code}
were {{RootSolver}} would an interface defined in "Commons Statistics". Since 
the solver is not always used for computing the requested value, the latter 
solution would make the API more "self-documenting". In addition to avoiding 
code duplication, it also lets the {{RootSolver}} provider deal with the 
meaning of any input parameter (a.o. the "tolerance") and, in effect, gives the 
user entire control on the solver.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to