Alex Herbert created STATISTICS-47: -------------------------------------- Summary: 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
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)