|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math3.distribution.AbstractRealDistribution
org.apache.commons.math3.distribution.NormalDistribution
public class NormalDistribution
Implementation of the normal (gaussian) distribution.
Field Summary | |
---|---|
static double |
DEFAULT_INVERSE_ABSOLUTE_ACCURACY
Default inverse cumulative probability accuracy. |
private double |
mean
Mean of this distribution. |
private static long |
serialVersionUID
Serializable version identifier. |
private double |
solverAbsoluteAccuracy
Inverse cumulative probability accuracy. |
private static double |
SQRT2
√(2) |
private static double |
SQRT2PI
√(2 π) |
private double |
standardDeviation
Standard deviation of this distribution. |
Fields inherited from class org.apache.commons.math3.distribution.AbstractRealDistribution |
---|
randomData, SOLVER_DEFAULT_ABSOLUTE_ACCURACY |
Constructor Summary | |
---|---|
NormalDistribution()
Create a normal distribution with mean equal to zero and standard deviation equal to one. |
|
NormalDistribution(double mean,
double sd)
Create a normal distribution using the given mean and standard deviation. |
|
NormalDistribution(double mean,
double sd,
double inverseCumAccuracy)
Create a normal distribution using the given mean, standard deviation and inverse cumulative distribution accuracy. |
Method Summary | |
---|---|
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)
For a random variable X whose values are distributed according
to this distribution, this method returns P(x0 < X <= x1) . |
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. |
boolean |
isSupportConnected()
Use this method to get information about whether the support is connected, i.e. |
boolean |
isSupportLowerBoundInclusive()
Use this method to get information about whether the lower bound of the support is inclusive or not. |
boolean |
isSupportUpperBoundInclusive()
Use this method to get information about whether the upper bound of the support is inclusive or not. |
double |
probability(double x)
For a random variable X whose values are distributed according
to this distribution, this method returns P(X = x) . |
double |
sample()
Generate a random value sampled from this distribution. |
Methods inherited from class org.apache.commons.math3.distribution.AbstractRealDistribution |
---|
inverseCumulativeProbability, reseedRandomGenerator, sample |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
private static final long serialVersionUID
private static final double SQRT2PI
private static final double SQRT2
private final double mean
private final double standardDeviation
private final double solverAbsoluteAccuracy
Constructor Detail |
---|
public NormalDistribution(double mean, double sd) throws NotStrictlyPositiveException
mean
- Mean for this distribution.sd
- Standard deviation for this distribution.
NotStrictlyPositiveException
- if sd <= 0
.public NormalDistribution(double mean, double sd, double inverseCumAccuracy) throws NotStrictlyPositiveException
mean
- Mean for this distribution.sd
- Standard deviation for this distribution.inverseCumAccuracy
- Inverse cumulative probability accuracy.
NotStrictlyPositiveException
- if sd <= 0
.public NormalDistribution()
Method Detail |
---|
public double getMean()
public double getStandardDeviation()
public double probability(double x)
X
whose values are distributed according
to this distribution, this method returns P(X = x)
. In other
words, this method represents the probability mass function (PMF)
for the distribution.
For this distribution P(X = x)
always evaluates to 0.
x
- the point at which the PMF is evaluated
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 evaluated
x
public 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 evaluated
x
public double cumulativeProbability(double x0, double x1) throws NumberIsTooLargeException
X
whose values are distributed according
to this distribution, this method returns P(x0 < X <= x1)
.
The default implementation uses the identity
P(x0 < X <= x1) = P(X <= x1) - P(X <= x0)
cumulativeProbability
in interface RealDistribution
cumulativeProbability
in class AbstractRealDistribution
x0
- the exclusive lower boundx1
- the inclusive upper bound
x0
and x1
,
excluding the lower and including the upper endpoint
NumberIsTooLargeException
- if x0 > x1
protected double getSolverAbsoluteAccuracy()
getSolverAbsoluteAccuracy
in class AbstractRealDistribution
public 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()
public boolean isSupportUpperBoundInclusive()
public boolean isSupportConnected()
true
public double sample()
sample
in interface RealDistribution
sample
in class AbstractRealDistribution
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |