SSJ
V. labo.

umontreal.iro.lecuyer.probdist
Class HalfNormalDist

java.lang.Object
  extended by umontreal.iro.lecuyer.probdist.ContinuousDistribution
      extended by umontreal.iro.lecuyer.probdist.HalfNormalDist
All Implemented Interfaces:
Distribution

public class HalfNormalDist
extends ContinuousDistribution

Extends the class ContinuousDistribution for the half-normal distribution with parameters μ and σ > 0. Its density is

f (x) = ((2/π)1/2/σ)e-(x-μ)2/(2σ2),        for x > = μ,

f (x) = 0        for x < μ,


Field Summary
 
Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
decPrec
 
Constructor Summary
HalfNormalDist(double mu, double sigma)
          Constructs a HalfNormalDist object with parameters μ = mu and σ = sigma.
 
Method Summary
 double barF(double x)
          Returns the complementary distribution function.
static double barF(double mu, double sigma, double x)
          Computes the complementary distribution function.
 double cdf(double x)
          .
static double cdf(double mu, double sigma, double x)
          Computes the distribution function.
 double density(double x)
          Returns f (x), the density evaluated at x.
static double density(double mu, double sigma, double x)
          Computes the density function of the half-normal distribution.
 double getMean()
          Returns the mean.
static double getMean(double mu, double sigma)
          Computes and returns the mean E[X] = μ + σ(2 / π)1/2.
static double[] getMLE(double[] x, int n)
          Estimates the parameters μ and σ of the half-normal distribution using the maximum likelihood method from the n observations x[i], i = 0, 1,…, n - 1.
static double[] getMLE(double[] x, int n, double mu)
          Estimates the parameter σ of the half-normal distribution using the maximum likelihood method from the n observations x[i], i = 0, 1,…, n - 1 and the parameter μ = mu.
 double getMu()
          Returns the parameter μ of this object.
 double[] getParams()
          Return a table containing the parameters of the current distribution.
 double getSigma()
          Returns the parameter σ of this object.
 double getStandardDeviation()
          Returns the standard deviation.
static double getStandardDeviation(double mu, double sigma)
          Computes the standard deviation of the half-normal distribution with parameters μ and σ.
 double getVariance()
          Returns the variance.
static double getVariance(double mu, double sigma)
          Computes and returns the variance Var[X] = (1 - 2/π)σ2.
 double inverseF(double u)
          Returns the inverse distribution function x = F-1(u).
static double inverseF(double mu, double sigma, double u)
          Computes the inverse of the distribution function.
 void setParams(double mu, double sigma)
          Sets the parameters μ and σ.
 String toString()
          Returns a String containing information about the current distribution.
 
Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
getXinf, getXsup, inverseBisection, inverseBrent, setXinf, setXsup
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HalfNormalDist

public HalfNormalDist(double mu,
                      double sigma)
Constructs a HalfNormalDist object with parameters μ = mu and σ = sigma.

Method Detail

density

public double density(double x)
Description copied from class: ContinuousDistribution
Returns f (x), the density evaluated at x.

Specified by:
density in class ContinuousDistribution
Parameters:
x - value at which the density is evaluated
Returns:
density function evaluated at x

cdf

public double cdf(double x)
Description copied from interface: Distribution
. \begin{tabb}Returns the distribution function $F(x)$.
 \end{tabb}
xvalue at which the distribution function is evaluated distribution function evaluated at x


barF

public double barF(double x)
Description copied from class: ContinuousDistribution
Returns the complementary distribution function. The default implementation computes bar(F)(x) = 1 - F(x).

Specified by:
barF in interface Distribution
Overrides:
barF in class ContinuousDistribution
Parameters:
x - value at which the complementary distribution function is evaluated
Returns:
complementary distribution function evaluated at x

inverseF

public double inverseF(double u)
Description copied from class: ContinuousDistribution
Returns the inverse distribution function x = F-1(u). Restrictions: u∈[0, 1].

Specified by:
inverseF in interface Distribution
Overrides:
inverseF in class ContinuousDistribution
Parameters:
u - value at which the inverse distribution function is evaluated
Returns:
the inverse distribution function evaluated at u

getMean

public double getMean()
Description copied from class: ContinuousDistribution
Returns the mean.

Specified by:
getMean in interface Distribution
Overrides:
getMean in class ContinuousDistribution
Returns:
the mean

getVariance

public double getVariance()
Description copied from class: ContinuousDistribution
Returns the variance.

Specified by:
getVariance in interface Distribution
Overrides:
getVariance in class ContinuousDistribution
Returns:
the variance

getStandardDeviation

public double getStandardDeviation()
Description copied from class: ContinuousDistribution
Returns the standard deviation.

Specified by:
getStandardDeviation in interface Distribution
Overrides:
getStandardDeviation in class ContinuousDistribution
Returns:
the standard deviation

density

public static double density(double mu,
                             double sigma,
                             double x)
Computes the density function of the half-normal distribution.

Parameters:
mu - the parameter mu
sigma - the parameter sigma
x - the value at which the density is evaluated
Returns:
returns the density function

cdf

public static double cdf(double mu,
                         double sigma,
                         double x)
Computes the distribution function.

Parameters:
mu - the parameter mu
sigma - the parameter sigma
x - the value at which the distribution is evaluated
Returns:
returns the cdf function

barF

public static double barF(double mu,
                          double sigma,
                          double x)
Computes the complementary distribution function.

Parameters:
mu - the parameter mu
sigma - the parameter sigma
x - the value at which the complementary distribution is evaluated
Returns:
returns the complementary distribution function

inverseF

public static double inverseF(double mu,
                              double sigma,
                              double u)
Computes the inverse of the distribution function.

Parameters:
mu - the parameter mu
sigma - the parameter sigma
u - the value at which the inverse distribution is evaluated
Returns:
returns the inverse distribution function

getMLE

public static double[] getMLE(double[] x,
                              int n)
Estimates the parameters μ and σ of the half-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: [μ, σ].

Parameters:
x - the list of observations to use to evaluate parameters
n - the number of observations to use to evaluate parameters
Returns:
returns the parameters [μ, σ]

getMLE

public static double[] getMLE(double[] x,
                              int n,
                              double mu)
Estimates the parameter σ of the half-normal distribution using the maximum likelihood method from the n observations x[i], i = 0, 1,…, n - 1 and the parameter μ = mu. The estimate is returned in a one-element array: [σ].

Parameters:
x - the list of observations to use to evaluate parameters
n - the number of observations to use to evaluate parameter
mu - the parameter mu
Returns:
returns the parameter [σ]

getMean

public static double getMean(double mu,
                             double sigma)
Computes and returns the mean E[X] = μ + σ(2 / π)1/2.

Parameters:
mu - the parameter mu
sigma - the parameter sigma
Returns:
returns the mean

getVariance

public static double getVariance(double mu,
                                 double sigma)
Computes and returns the variance Var[X] = (1 - 2/π)σ2.

Parameters:
mu - the parameter mu
sigma - the parameter sigma
Returns:
returns the variance

getStandardDeviation

public static double getStandardDeviation(double mu,
                                          double sigma)
Computes the standard deviation of the half-normal distribution with parameters μ and σ.

Parameters:
mu - the parameter mu
sigma - the parameter sigma
Returns:
returns the standard deviation

getMu

public double getMu()
Returns the parameter μ of this object.

Returns:
returns the parameter mu

getSigma

public double getSigma()
Returns the parameter σ of this object.

Returns:
returns the parameter sigma

setParams

public void setParams(double mu,
                      double sigma)
Sets the parameters μ and σ.

Parameters:
mu - the parameter mu
sigma - the parameter sigma

getParams

public double[] getParams()
Return a table containing the parameters of the current distribution. This table is put in regular order: [μ, σ].

Returns:
returns the parameters [μ, σ]

toString

public String toString()
Returns a String containing information about the current distribution.

Overrides:
toString in class Object
Returns:
returns a String containing information about the current distribution.

SSJ
V. labo.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.