Class AbstractRealDistribution
- java.lang.Object
-
- org.apache.commons.math4.legacy.distribution.AbstractRealDistribution
-
- All Implemented Interfaces:
org.apache.commons.statistics.distribution.ContinuousDistribution
- Direct Known Subclasses:
EmpiricalDistribution
public abstract class AbstractRealDistribution extends Object implements org.apache.commons.statistics.distribution.ContinuousDistribution
Base class for probability distributions on the reals. Default implementations are provided for some of the methods that do not vary from distribution to distribution.This base class provides a default factory method for creating a
sampler instancethat uses the inversion method for generating random samples that follow the distribution.- Since:
- 3.0
-
-
Field Summary
Fields Modifier and Type Field Description static doubleSOLVER_DEFAULT_ABSOLUTE_ACCURACYDefault absolute accuracy for inverse cumulative computation.
-
Constructor Summary
Constructors Constructor Description AbstractRealDistribution()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.commons.statistics.distribution.ContinuousDistribution.SamplercreateSampler(org.apache.commons.rng.UniformRandomProvider rng)protected doublegetSolverAbsoluteAccuracy()Returns the solver absolute accuracy for inverse cumulative computation.doubleinverseCumulativeProbability(double p)The default implementation returnsContinuousDistribution.getSupportLowerBound()forp = 0,ContinuousDistribution.getSupportUpperBound()forp = 1.doublelogDensity(double x)doubleprobability(double x0, double x1)For a random variableXwhose values are distributed according to this distribution, this method returnsP(x0 < X <= x1).static double[]sample(int n, org.apache.commons.statistics.distribution.ContinuousDistribution.Sampler sampler)Utility function for allocating an array and filling it withnsamples generated by the givensampler.
-
-
-
Field Detail
-
SOLVER_DEFAULT_ABSOLUTE_ACCURACY
public static final double SOLVER_DEFAULT_ABSOLUTE_ACCURACY
Default absolute accuracy for inverse cumulative computation.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractRealDistribution
public AbstractRealDistribution()
-
-
Method Detail
-
probability
public double probability(double x0, double x1)
For a random variableXwhose values are distributed according to this distribution, this method returnsP(x0 < X <= x1).- Specified by:
probabilityin interfaceorg.apache.commons.statistics.distribution.ContinuousDistribution- Parameters:
x0- Lower bound (excluded).x1- Upper bound (included).- Returns:
- the probability that a random variable with this distribution
takes a value between
x0andx1, excluding the lower and including the upper endpoint. - Throws:
NumberIsTooLargeException- ifx0 > x1. The default implementation uses the identityP(x0 < X <= x1) = P(X <= x1) - P(X <= x0)- Since:
- 3.1
-
inverseCumulativeProbability
public double inverseCumulativeProbability(double p) throws OutOfRangeException
The default implementation returnsContinuousDistribution.getSupportLowerBound()forp = 0,ContinuousDistribution.getSupportUpperBound()forp = 1.
- Specified by:
inverseCumulativeProbabilityin interfaceorg.apache.commons.statistics.distribution.ContinuousDistribution- Throws:
OutOfRangeException
-
getSolverAbsoluteAccuracy
protected double getSolverAbsoluteAccuracy()
Returns the solver absolute accuracy for inverse cumulative computation. You can override this method in order to use a Brent solver with an absolute accuracy different from the default.- Returns:
- the maximum absolute error in inverse cumulative probability estimates
-
logDensity
public double logDensity(double x)
The default implementation simply computes the logarithm of
density(x).- Specified by:
logDensityin interfaceorg.apache.commons.statistics.distribution.ContinuousDistribution
-
sample
public static double[] sample(int n, org.apache.commons.statistics.distribution.ContinuousDistribution.Sampler sampler)
Utility function for allocating an array and filling it withnsamples generated by the givensampler.- Parameters:
n- Number of samples.sampler- Sampler.- Returns:
- an array of size
n.
-
createSampler
public org.apache.commons.statistics.distribution.ContinuousDistribution.Sampler createSampler(org.apache.commons.rng.UniformRandomProvider rng)
- Specified by:
createSamplerin interfaceorg.apache.commons.statistics.distribution.ContinuousDistribution
-
-