[
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)