Class NormalDistributionImpl
java.lang.Object
org.apache.commons.math.distribution.AbstractDistribution
org.apache.commons.math.distribution.AbstractContinuousDistribution
org.apache.commons.math.distribution.NormalDistributionImpl
- All Implemented Interfaces:
Serializable,ContinuousDistribution,Distribution,HasDensity<Double>,NormalDistribution
public class NormalDistributionImpl
extends AbstractContinuousDistribution
implements NormalDistribution, Serializable
Default implementation of
NormalDistribution.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleDefault inverse cumulative probability accuracy -
Constructor Summary
ConstructorsConstructorDescriptionCreates 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. -
Method Summary
Modifier and TypeMethodDescriptiondoublecumulativeProbability(double x) For this distribution, X, this method returns P(X <x).doubledensity(double x) Returns the probability density for a particular point.doubleDeprecated.doublegetMean()Access the mean.doubleReturns the variance.doubleAccess the standard deviation.doubleReturns the lower bound of the support for the distribution.doubleReturns the upper bound of the support for the distribution.doubleinverseCumulativeProbability(double p) For this distribution, X, this method returns the critical point x, such that P(X < x) =p.doublesample()Generates a random value sampled from this distribution.voidsetMean(double mean) Deprecated.as of 2.1 (class will become immutable in 3.0)voidsetStandardDeviation(double sd) Deprecated.as of 2.1 (class will become immutable in 3.0)Methods inherited from class org.apache.commons.math.distribution.AbstractContinuousDistribution
reseedRandomGenerator, sampleMethods inherited from class org.apache.commons.math.distribution.AbstractDistribution
cumulativeProbabilityMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.commons.math.distribution.Distribution
cumulativeProbability
-
Field Details
-
DEFAULT_INVERSE_ABSOLUTE_ACCURACY
public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACYDefault inverse cumulative probability accuracy- Since:
- 2.1
- See Also:
-
-
Constructor Details
-
NormalDistributionImpl
public NormalDistributionImpl(double mean, double sd) Create a normal distribution using the given mean and standard deviation.- Parameters:
mean- mean for this distributionsd- standard deviation for this distribution
-
NormalDistributionImpl
public NormalDistributionImpl(double mean, double sd, double inverseCumAccuracy) Create a normal distribution using the given mean, standard deviation and inverse cumulative distribution accuracy.- Parameters:
mean- mean for this distributionsd- standard deviation for this distributioninverseCumAccuracy- inverse cumulative probability accuracy- Since:
- 2.1
-
NormalDistributionImpl
public NormalDistributionImpl()Creates normal distribution with the mean equal to zero and standard deviation equal to one.
-
-
Method Details
-
getMean
public double getMean()Access the mean.- Specified by:
getMeanin interfaceNormalDistribution- Returns:
- mean for this distribution
-
setMean
Deprecated.as of 2.1 (class will become immutable in 3.0)Modify the mean.- Specified by:
setMeanin interfaceNormalDistribution- Parameters:
mean- for this distribution
-
getStandardDeviation
public double getStandardDeviation()Access the standard deviation.- Specified by:
getStandardDeviationin interfaceNormalDistribution- Returns:
- standard deviation for this distribution
-
setStandardDeviation
Deprecated.as of 2.1 (class will become immutable in 3.0)Modify the standard deviation.- Specified by:
setStandardDeviationin interfaceNormalDistribution- Parameters:
sd- standard deviation for this distribution- Throws:
IllegalArgumentException- ifsdis not positive.
-
density
Deprecated.Return the probability density for a particular point.- Specified by:
densityin interfaceHasDensity<Double>- Specified by:
densityin interfaceNormalDistribution- Parameters:
x- The point at which the density should be computed.- Returns:
- The pdf at point x.
-
density
public double density(double x) Returns the probability density for a particular point.- Overrides:
densityin classAbstractContinuousDistribution- Parameters:
x- The point at which the density should be computed.- Returns:
- The pdf at point x.
- Since:
- 2.1
-
cumulativeProbability
For this distribution, X, this method returns P(X <x). Ifxis more than 40 standard deviations from the mean, 0 or 1 is returned, as in these cases the actual value is withinDouble.MIN_VALUEof 0 or 1.- Specified by:
cumulativeProbabilityin interfaceDistribution- Parameters:
x- the value at which the CDF is evaluated.- Returns:
- CDF evaluated at
x. - Throws:
MathException- if the algorithm fails to converge
-
inverseCumulativeProbability
For this distribution, X, this method returns the critical point x, such that P(X < x) =p.Returns
Double.NEGATIVE_INFINITYfor p=0 andDouble.POSITIVE_INFINITYfor p=1.- Specified by:
inverseCumulativeProbabilityin interfaceContinuousDistribution- Overrides:
inverseCumulativeProbabilityin classAbstractContinuousDistribution- Parameters:
p- the desired probability- Returns:
- x, such that P(X < x) =
p - Throws:
MathException- if the inverse cumulative probability can not be computed due to convergence or other numerical errors.IllegalArgumentException- ifpis not a valid probability.
-
sample
Generates a random value sampled from this distribution.- Overrides:
samplein classAbstractContinuousDistribution- Returns:
- random value
- Throws:
MathException- if an error occurs generating the random value- Since:
- 2.2
-
getSupportLowerBound
public double getSupportLowerBound()Returns the lower bound of the support for the distribution. The lower bound of the support is always negative infinity no matter the parameters.- Returns:
- lower bound of the support (always Double.NEGATIVE_INFINITY)
- Since:
- 2.2
-
getSupportUpperBound
public double getSupportUpperBound()Returns the upper bound of the support for the distribution. The upper bound of the support is always positive infinity no matter the parameters.- Returns:
- upper bound of the support (always Double.POSITIVE_INFINITY)
- Since:
- 2.2
-
getNumericalVariance
public double getNumericalVariance()Returns the variance. For standard deviation parameters, the variance iss^2- Returns:
- the variance
- Since:
- 2.2
-