[ 
https://issues.apache.org/jira/browse/STATISTICS-47?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Herbert resolved STATISTICS-47.
------------------------------------
    Fix Version/s: 1.0
       Resolution: Implemented

> Add an inverse for the SurvivalProbability
> ------------------------------------------
>
>                 Key: STATISTICS-47
>                 URL: https://issues.apache.org/jira/browse/STATISTICS-47
>             Project: Apache Commons Statistics
>          Issue Type: Improvement
>          Components: distribution
>    Affects Versions: 1.0
>            Reporter: Alex Herbert
>            Priority: Major
>             Fix For: 1.0
>
>
> The distributions currently have an inverse for the cumulative probability 
> but not the complement (the survival probability). For example for the 
> ContinuousDistribution interface:
> {code:java}
> double cumulativeProbability(double x);
> double survivalProbability(double x);
> double inverseCumulativeProbability(double p); {code}
> Add:
> {code:java}
> double inverseSurvivalProbability(double p);{code}
> It should be possible to update the implementation in the abstract base class 
> for the distributions to support using either the CDF or SF for the search 
> allowing both to be implemented with the same algorithm.
> This would be of benefit for distributions which support a high precision 
> survival function, e.g.
> {code:java}
> final ContinuousDistribution dist = NormalDistribution.of(0, 1);
> double x = 10;
> double p = dist.survivalProbability(x);
> System.out.printf("x = %s%np = sf(x) = %s%n%n icdf(1-p) = %s%n%n-icdf(p) = 
> %s%n",
>     x, p, dist.inverseCumulativeProbability(1 - p), 
> -dist.inverseCumulativeProbability(p));
> {code}
> Prints:
> {noformat}
> x = 10.0
> p = sf(x) = 7.619853024160595E-24
>  icdf(1-p) = Infinity
> -icdf(p) = 10.0
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to