org.apache.commons.math.distribution
public class NormalDistributionImpl extends AbstractContinuousDistribution implements NormalDistribution, Serializable
NormalDistribution
.Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_INVERSE_ABSOLUTE_ACCURACY
Default inverse cumulative probability accuracy
|
private double |
mean
The mean of this distribution.
|
private static long |
serialVersionUID
Serializable version identifier
|
private double |
solverAbsoluteAccuracy
Inverse cumulative probability accuracy
|
private static double |
SQRT2PI
&sqrt;(2 π)
|
private double |
standardDeviation
The standard deviation of this distribution.
|
randomData
Constructor and Description |
---|
NormalDistributionImpl()
Creates normal distribution with the mean equal to zero and standard
deviation equal to one.
|
NormalDistributionImpl(double mean,
double sd)
Create a normal distribution using the given mean and standard deviation.
|
NormalDistributionImpl(double mean,
double sd,
double inverseCumAccuracy)
Create a normal distribution using the given mean, standard deviation and
inverse cumulative distribution accuracy.
|
Modifier and Type | Method and Description |
---|---|
double |
cumulativeProbability(double x)
For this distribution, X, this method returns P(X <
x ). |
double |
density(double x)
Returns the probability density for a particular point.
|
double |
density(Double x)
Deprecated.
|
protected double |
getDomainLowerBound(double p)
Access the domain value lower bound, based on
p , used to
bracket a CDF root. |
protected double |
getDomainUpperBound(double p)
Access the domain value upper bound, based on
p , used to
bracket a CDF root. |
protected double |
getInitialDomain(double p)
Access the initial domain value, based on
p , used to
bracket a CDF root. |
double |
getMean()
Access the mean.
|
double |
getNumericalVariance()
Returns the variance.
|
protected double |
getSolverAbsoluteAccuracy()
Return the absolute accuracy setting of the solver used to estimate
inverse cumulative probabilities.
|
double |
getStandardDeviation()
Access the standard deviation.
|
double |
getSupportLowerBound()
Returns the lower bound of the support for the distribution.
|
double |
getSupportUpperBound()
Returns the upper bound of the support for the distribution.
|
double |
inverseCumulativeProbability(double p)
For this distribution, X, this method returns the critical point x, such
that P(X < x) =
p . |
double |
sample()
Generates a random value sampled from this distribution.
|
void |
setMean(double mean)
Deprecated.
as of 2.1 (class will become immutable in 3.0)
|
private void |
setMeanInternal(double newMean)
Modify the mean.
|
void |
setStandardDeviation(double sd)
Deprecated.
as of 2.1 (class will become immutable in 3.0)
|
private void |
setStandardDeviationInternal(double sd)
Modify the standard deviation.
|
reseedRandomGenerator, sample
cumulativeProbability
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
cumulativeProbability
public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
private static final long serialVersionUID
private static final double SQRT2PI
private double mean
private double standardDeviation
private final double solverAbsoluteAccuracy
public NormalDistributionImpl(double mean, double sd)
mean
- mean for this distributionsd
- standard deviation for this distributionpublic NormalDistributionImpl(double mean, double sd, double inverseCumAccuracy)
mean
- mean for this distributionsd
- standard deviation for this distributioninverseCumAccuracy
- inverse cumulative probability accuracypublic NormalDistributionImpl()
public double getMean()
getMean
in interface NormalDistribution
@Deprecated public void setMean(double mean)
setMean
in interface NormalDistribution
mean
- for this distributionprivate void setMeanInternal(double newMean)
newMean
- for this distributionpublic double getStandardDeviation()
getStandardDeviation
in interface NormalDistribution
@Deprecated public void setStandardDeviation(double sd)
setStandardDeviation
in interface NormalDistribution
sd
- standard deviation for this distributionIllegalArgumentException
- if sd
is not positive.private void setStandardDeviationInternal(double sd)
sd
- standard deviation for this distributionIllegalArgumentException
- if sd
is not positive.@Deprecated public double density(Double x)
density
in interface HasDensity<Double>
density
in interface NormalDistribution
x
- The point at which the density should be computed.public double density(double x)
density
in class AbstractContinuousDistribution
x
- The point at which the density should be computed.public double cumulativeProbability(double x) throws MathException
x
).
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.cumulativeProbability
in interface Distribution
x
- the value at which the CDF is evaluated.x
.MathException
- if the algorithm fails to convergeprotected double getSolverAbsoluteAccuracy()
getSolverAbsoluteAccuracy
in class AbstractContinuousDistribution
public double inverseCumulativeProbability(double p) throws MathException
p
.
Returns Double.NEGATIVE_INFINITY
for p=0 and
Double.POSITIVE_INFINITY
for p=1.
inverseCumulativeProbability
in interface ContinuousDistribution
inverseCumulativeProbability
in class AbstractContinuousDistribution
p
- the desired probabilityp
MathException
- if the inverse cumulative probability can not be
computed due to convergence or other numerical errors.IllegalArgumentException
- if p
is not a valid
probability.public double sample() throws MathException
sample
in class AbstractContinuousDistribution
MathException
- if an error occurs generating the random valueprotected double getDomainLowerBound(double p)
p
, used to
bracket a CDF root. This method is used by
inverseCumulativeProbability(double)
to find critical values.getDomainLowerBound
in class AbstractContinuousDistribution
p
- the desired probability for the critical valuep
protected double getDomainUpperBound(double p)
p
, used to
bracket a CDF root. This method is used by
inverseCumulativeProbability(double)
to find critical values.getDomainUpperBound
in class AbstractContinuousDistribution
p
- the desired probability for the critical valuep
protected double getInitialDomain(double p)
p
, used to
bracket a CDF root. This method is used by
inverseCumulativeProbability(double)
to find critical values.getInitialDomain
in class AbstractContinuousDistribution
p
- the desired probability for the critical valuepublic double getSupportLowerBound()
public double getSupportUpperBound()
public double getNumericalVariance()
s
,
the variance is s^2
Copyright (c) 2003-2013 Apache Software Foundation