SSJ
3.3.1
Stochastic Simulation in Java
|
Extends the class ContinuousDistribution for the normal distribution (e.g., [99] (page 80)). More...
Public Member Functions | |
NormalDist () | |
Constructs a NormalDist object with default parameters \(\mu= 0\) and \(\sigma= 1\). | |
NormalDist (double mu, double sigma) | |
Constructs a NormalDist object with mean \(\mu\) = mu and standard deviation \(\sigma\) = sigma . | |
double | density (double x) |
double | cdf (double x) |
Returns the distribution function \(F(x)\). More... | |
double | barF (double x) |
Returns \(\bar{F}(x) = 1 - F(x)\). More... | |
double | inverseF (double u) |
Returns the inverse distribution function \(F^{-1}(u)\), defined in ( inverseF ). More... | |
double | getMean () |
Returns the mean of the distribution function. | |
double | getVariance () |
Returns the variance of the distribution function. | |
double | getStandardDeviation () |
Returns the standard deviation of the distribution function. | |
double | getMu () |
Returns the parameter \(\mu\). | |
double | getSigma () |
Returns the parameter \(\sigma\). | |
void | setParams (double mu, double sigma) |
Sets the parameters \(\mu\) and \(\sigma\) of this object. | |
double [] | getParams () |
Return a table containing the parameters of the current distribution. More... | |
String | toString () |
Returns a String containing information about the current distribution. | |
Public Member Functions inherited from ContinuousDistribution | |
abstract double | density (double x) |
Returns \(f(x)\), the density evaluated at \(x\). More... | |
double | barF (double x) |
Returns the complementary distribution function. More... | |
double | inverseBrent (double a, double b, double u, double tol) |
Computes the inverse distribution function \(x = F^{-1}(u)\), using the Brent-Dekker method. More... | |
double | inverseBisection (double u) |
Computes and returns the inverse distribution function \(x = F^{-1}(u)\), using bisection. More... | |
double | inverseF (double u) |
Returns the inverse distribution function \(x = F^{-1}(u)\). More... | |
double | getMean () |
Returns the mean. More... | |
double | getVariance () |
Returns the variance. More... | |
double | getStandardDeviation () |
Returns the standard deviation. More... | |
double | getXinf () |
Returns \(x_a\) such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More... | |
double | getXsup () |
Returns \(x_b\) such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More... | |
void | setXinf (double xa) |
Sets the value \(x_a=\) xa , such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More... | |
void | setXsup (double xb) |
Sets the value \(x_b=\) xb , such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More... | |
Static Public Member Functions | |
static double | density01 (double x) |
Same as density(0, 1, x). | |
static double | density (double mu, double sigma, double x) |
Computes the normal density function ( fnormal ). | |
static double | cdf01 (double x) |
Same as cdf(0, 1, x). | |
static double | cdf (double mu, double sigma, double x) |
Computes the normal distribution function with mean \(\mu\) and variance \(\sigma^2\). More... | |
static double | barF01 (double x) |
Same as barF(0, 1, x). | |
static double | barF (double mu, double sigma, double x) |
Computes the complementary normal distribution function \(\bar{F}(x) = 1 - \Phi((x-\mu)/\sigma)\), with mean \(\mu\) and variance \(\sigma^2\). More... | |
static double | inverseF01 (double u) |
Same as inverseF(0, 1, u). | |
static double | inverseF (double mu, double sigma, double u) |
Computes the inverse normal distribution function with mean \(\mu\) and variance \(\sigma^2\). More... | |
static double [] | getMLE (double[] x, int n) |
Estimates the parameters \((\mu, \sigma)\) of the normal distribution using the maximum likelihood method, from the \(n\) observations \(x[i]\), \(i = 0, 1,…, n-1\). More... | |
static NormalDist | getInstanceFromMLE (double[] x, int n) |
Creates a new instance of a normal distribution with parameters \(\mu\) and \(\sigma\) estimated using the maximum likelihood method based on the \(n\) observations \(x[i]\), \(i = 0, 1, …, n-1\). More... | |
static double | getMean (double mu, double sigma) |
Computes and returns the mean \(E[X] = \mu\) of the normal distribution with parameters \(\mu\) and \(\sigma\). More... | |
static double | getVariance (double mu, double sigma) |
Computes and returns the variance \(\mbox{Var}[X] = \sigma^2\) of the normal distribution with parameters \(\mu\) and \(\sigma\). More... | |
static double | getStandardDeviation (double mu, double sigma) |
Computes and returns the standard deviation \(\sigma\) of the normal distribution with parameters \(\mu\) and \(\sigma\). More... | |
Protected Attributes | |
double | mu |
double | sigma |
Protected Attributes inherited from ContinuousDistribution | |
double | supportA = Double.NEGATIVE_INFINITY |
double | supportB = Double.POSITIVE_INFINITY |
Static Protected Attributes | |
static final double | RAC2PI = 2.50662827463100050 |
Static Protected Attributes inherited from ContinuousDistribution | |
static final double | XBIG = 100.0 |
static final double | XBIGM = 1000.0 |
static final double [] | EPSARRAY |
Additional Inherited Members | |
Public Attributes inherited from ContinuousDistribution | |
int | decPrec = 15 |
Extends the class ContinuousDistribution for the normal distribution (e.g., [99] (page 80)).
It has mean \(\mu\) and variance \(\sigma^2\). Its density function is
\[ f (x) = \frac{1}{\sigma\sqrt{2\pi}}e^{-(x-\mu)^2/(2\sigma^2)} \qquad\mbox{for } -\infty< x < \infty, \tag{fnormal} \]
where \(\sigma> 0\). When \(\mu=0\) and \(\sigma=1\), we have the standard normal distribution, with corresponding distribution function
\[ F(x) = \Phi(x) = \frac{1}{\sqrt{2\pi}} \int_{-\infty}^x e^{-t^2/2} dt \qquad\mbox{for } -\infty< x < \infty. \tag{cdfnormal} \]
The non-static methods cdf
, barF
, and inverseF
are implemented via cdf01, barF01, and inverseF01, respectively.
double barF | ( | double | x | ) |
Returns \(\bar{F}(x) = 1 - F(x)\).
x | value at which the complementary distribution function is evaluated |
x
Implements Distribution.
|
static |
Computes the complementary normal distribution function \(\bar{F}(x) = 1 - \Phi((x-\mu)/\sigma)\), with mean \(\mu\) and variance \(\sigma^2\).
Uses a Chebyshev series giving 16 decimal digits of precision [212] .
double cdf | ( | double | x | ) |
Returns the distribution function \(F(x)\).
x | value at which the distribution function is evaluated |
x
Implements Distribution.
|
static |
Computes the normal distribution function with mean \(\mu\) and variance \(\sigma^2\).
Uses the Chebyshev approximation proposed in [212] , which gives 16 decimals of precision.
|
static |
Creates a new instance of a normal distribution with parameters \(\mu\) and \(\sigma\) estimated using the maximum likelihood method based on the \(n\) observations \(x[i]\), \(i = 0, 1, …, n-1\).
x | the list of observations to use to evaluate parameters |
n | the number of observations to use to evaluate parameters |
|
static |
Computes and returns the mean \(E[X] = \mu\) of the normal distribution with parameters \(\mu\) and \(\sigma\).
|
static |
Estimates the parameters \((\mu, \sigma)\) of the normal distribution using the maximum likelihood method, from the \(n\) observations \(x[i]\), \(i = 0, 1,…, n-1\).
The estimates are returned in a two-element array, in regular order: [ \(\hat{\mu}\), \(\hat{\sigma}\)]. The maximum likelihood estimators are the values \((\hat{\mu}, \hat{\sigma})\) that satisfy the equations:
\begin{align*} \hat{\mu} & = \bar{x}_n = \frac{1}{n} \sum_{i=1}^n x_i \\ \hat{\sigma} & = \sqrt{\frac{1}{n} \sum_{i=1}^n (x_i - \bar{x}_n)^2}. \end{align*}
See [99] (page 123).
x | the list of observations used to evaluate parameters |
n | the number of observations used to evaluate parameters |
double [] getParams | ( | ) |
Return a table containing the parameters of the current distribution.
This table is put in regular order: [ \(\mu\), \(\sigma\)].
Implements Distribution.
|
static |
Computes and returns the standard deviation \(\sigma\) of the normal distribution with parameters \(\mu\) and \(\sigma\).
|
static |
Computes and returns the variance \(\mbox{Var}[X] = \sigma^2\) of the normal distribution with parameters \(\mu\) and \(\sigma\).
double inverseF | ( | double | u | ) |
Returns the inverse distribution function \(F^{-1}(u)\), defined in ( inverseF ).
u | value in the interval \((0,1)\) for which the inverse distribution function is evaluated |
u
Implements Distribution.
|
static |
Computes the inverse normal distribution function with mean \(\mu\) and variance \(\sigma^2\).
Uses different rational Chebyshev approximations [21] . Returns 16 decimal digits of precision for \(2.2\times10^{-308} < u < 1\).