public class TruncatedNormalDistribution extends BaseDistribution
| Modifier and Type | Field and Description |
|---|---|
static double |
DEFAULT_INVERSE_ABSOLUTE_ACCURACY
Default inverse cumulative probability accuracy.
|
random| Constructor and Description |
|---|
TruncatedNormalDistribution()
Create a normal distribution with mean equal to zero and standard
deviation equal to one.
|
TruncatedNormalDistribution(double mean,
double sd)
Create a normal distribution using the given mean and standard deviation.
|
TruncatedNormalDistribution(double mean,
double sd,
double inverseCumAccuracy)
Create a normal distribution using the given mean, standard deviation and
inverse cumulative distribution accuracy.
|
TruncatedNormalDistribution(double standardDeviation,
INDArray means) |
TruncatedNormalDistribution(INDArray mean,
double std) |
TruncatedNormalDistribution(Random rng,
double mean,
double sd) |
TruncatedNormalDistribution(Random rng,
double mean,
double sd,
double inverseCumAccuracy)
Creates a normal distribution.
|
TruncatedNormalDistribution(Random rng,
double standardDeviation,
INDArray means) |
| Modifier and Type | Method and Description |
|---|---|
double |
cumulativeProbability(double x)
For a random variable
X whose values are distributed according
to this distribution, this method returns P(X <= x). |
double |
cumulativeProbability(double x0,
double x1)
Deprecated.
See
RealDistribution.cumulativeProbability(double, double) |
double |
density(double x)
Returns the probability density function (PDF) of this distribution
evaluated at the specified point
x. |
double |
getMean()
Access the mean.
|
double |
getNumericalMean()
Use this method to get the numerical value of the mean of this
distribution.
|
double |
getNumericalVariance()
Use this method to get the numerical value of the variance of this
distribution.
|
protected double |
getSolverAbsoluteAccuracy()
Returns the solver absolute accuracy for inverse cumulative computation.
|
double |
getStandardDeviation()
Access the standard deviation.
|
double |
getSupportLowerBound()
Access the lower bound of the support.
|
double |
getSupportUpperBound()
Access the upper bound of the support.
|
double |
inverseCumulativeProbability(double p)
Computes the quantile function of this distribution.
|
boolean |
isSupportConnected()
Use this method to get information about whether the support is connected,
i.e.
|
boolean |
isSupportLowerBoundInclusive()
Whether or not the lower bound of support is in the domain of the density
function.
|
boolean |
isSupportUpperBoundInclusive()
Whether or not the upper bound of support is in the domain of the density
function.
|
double |
probability(double x0,
double x1)
For a random variable
X whose values are distributed according
to this distribution, this method returns P(x0 < X <= x1). |
double |
sample()
Generate a random value sampled from this distribution.
|
INDArray |
sample(INDArray ret)
Fill the target array by sampling from the distribution
|
INDArray |
sample(int[] shape)
Sample the given shape
|
probability, reseedRandomGenerator, sample, samplepublic static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
public TruncatedNormalDistribution(Random rng, double standardDeviation, INDArray means)
public TruncatedNormalDistribution(double standardDeviation,
INDArray means)
public TruncatedNormalDistribution()
public TruncatedNormalDistribution(double mean,
double sd)
throws org.apache.commons.math3.exception.NotStrictlyPositiveException
mean - Mean for this distribution.sd - Standard deviation for this distribution.org.apache.commons.math3.exception.NotStrictlyPositiveException - if sd <= 0.public TruncatedNormalDistribution(Random rng, double mean, double sd) throws org.apache.commons.math3.exception.NotStrictlyPositiveException
org.apache.commons.math3.exception.NotStrictlyPositiveExceptionpublic TruncatedNormalDistribution(double mean,
double sd,
double inverseCumAccuracy)
throws org.apache.commons.math3.exception.NotStrictlyPositiveException
mean - Mean for this distribution.sd - Standard deviation for this distribution.inverseCumAccuracy - Inverse cumulative probability accuracy.org.apache.commons.math3.exception.NotStrictlyPositiveException - if sd <= 0.public TruncatedNormalDistribution(Random rng, double mean, double sd, double inverseCumAccuracy) throws org.apache.commons.math3.exception.NotStrictlyPositiveException
rng - Random number generator.mean - Mean for this distribution.sd - Standard deviation for this distribution.inverseCumAccuracy - Inverse cumulative probability accuracy.org.apache.commons.math3.exception.NotStrictlyPositiveException - if sd <= 0.public TruncatedNormalDistribution(INDArray mean, double std)
public double getMean()
public double getStandardDeviation()
public double density(double x)
x. In general, the PDF is
the derivative of the CDF.
If the derivative does not exist at x, then an appropriate
replacement should be returned, e.g. Double.POSITIVE_INFINITY,
Double.NaN, or the limit inferior or limit superior of the
difference quotient.x - the point at which the PDF is evaluatedxpublic double cumulativeProbability(double x)
X whose values are distributed according
to this distribution, this method returns P(X <= x). In other
words, this method represents the (cumulative) distribution function
(CDF) for this distribution.
If x is more than 40 standard deviations from the mean, 0 or 1
is returned, as in these cases the actual value is within
Double.MIN_VALUE of 0 or 1.x - the point at which the CDF is evaluatedxpublic double inverseCumulativeProbability(double p)
throws org.apache.commons.math3.exception.OutOfRangeException
X distributed according to this distribution, the
returned value is
inf{x in R | P(X<=x) >= p} for 0 < p <= 1,inf{x in R | P(X<=x) > 0} for p = 0.Distribution.getSupportLowerBound() for p = 0,Distribution.getSupportUpperBound() for p = 1.inverseCumulativeProbability in interface DistributioninverseCumulativeProbability in class BaseDistributionp - the cumulative probabilityp-quantile of this distribution
(largest 0-quantile for p = 0)org.apache.commons.math3.exception.OutOfRangeException - if p < 0 or p > 1@Deprecated public double cumulativeProbability(double x0, double x1) throws org.apache.commons.math3.exception.NumberIsTooLargeException
RealDistribution.cumulativeProbability(double, double)X whose values are distributed according
to this distribution, this method returns P(x0 < X <= x1).x0 - the exclusive lower boundx1 - the inclusive upper boundx0 and x1,
excluding the lower and including the upper endpointorg.apache.commons.math3.exception.NumberIsTooLargeException - if x0 > x1public double probability(double x0,
double x1)
throws org.apache.commons.math3.exception.NumberIsTooLargeException
X whose values are distributed according
to this distribution, this method returns P(x0 < X <= x1).probability in class BaseDistributionx0 - Lower bound (excluded).x1 - Upper bound (included).x0 and x1, excluding the lower
and including the upper endpoint.org.apache.commons.math3.exception.NumberIsTooLargeException - if x0 > x1.
The default implementation uses the identity
P(x0 < X <= x1) = P(X <= x1) - P(X <= x0)protected double getSolverAbsoluteAccuracy()
getSolverAbsoluteAccuracy in class BaseDistributionpublic double getNumericalMean()
mu, the mean is mu.Double.NaN if it is not definedpublic double getNumericalVariance()
s, the variance is s^2.Double.POSITIVE_INFINITY as
for certain cases in TDistribution) or Double.NaN if it
is not definedpublic double getSupportLowerBound()
inverseCumulativeProbability(0). In other words, this
method must return
inf {x in R | P(X <= x) > 0}.
Double.NEGATIVE_INFINITY)public double getSupportUpperBound()
inverseCumulativeProbability(1). In other words, this
method must return
inf {x in R | P(X <= x) = 1}.
Double.POSITIVE_INFINITY)public boolean isSupportLowerBoundInclusive()
getSupporLowerBound() is finite and
density(getSupportLowerBound()) returns a non-NaN, non-infinite
value.public boolean isSupportUpperBoundInclusive()
getSupportUpperBound() is finite and
density(getSupportUpperBound()) returns a non-NaN, non-infinite
value.public boolean isSupportConnected()
truepublic double sample()
sample in interface Distributionsample in class BaseDistributionpublic INDArray sample(int[] shape)
Distributionsample in interface Distributionsample in class BaseDistributionshape - the given shapepublic INDArray sample(INDArray ret)
Distributionsample in interface Distributionsample in class BaseDistributionret - target arrayCopyright © 2021. All rights reserved.