SSJ
V. 2.6.

umontreal.iro.lecuyer.probdist Class JohnsonSLDist

```java.lang.Object
umontreal.iro.lecuyer.probdist.ContinuousDistribution
umontreal.iro.lecuyer.probdist.JohnsonSLDist
```
All Implemented Interfaces:
Distribution

`public class JohnsonSLDistextends ContinuousDistribution`

Extends the class `ContinuousDistribution` for the Johnson SL distribution. It has shape parameters γ and δ > 0, location parameter ξ, and scale parameter λ > 0. Denoting t = (x - ξ)/λ and z = γ + δln(t), the distribution has density

f (x) = δe-z2/2/(λt(2π)1/2),        for ξ < x < ∞,

and distribution function

F(x) = Φ(z),        for ξ < x < ∞,

where Φ is the standard normal distribution function. The inverse distribution function is

F-1(u) = ξ + λev(u),        for 0 <= u <= 1,

where

v(u) = [Φ-1(u) - γ]/δ.

Without loss of generality, one may choose γ = 0 or λ = 1.

Field Summary

Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
`decPrec`

Constructor Summary
```JohnsonSLDist(double gamma, double delta)```
Same as `JohnsonSLDist` (gamma, delta, 0, 1).
```JohnsonSLDist(double gamma, double delta, double xi, double lambda)```
Constructs a JohnsonSLDist object with shape parameters γ and δ, location parameter ξ, and scale parameter λ.

Method Summary
` double` `barF(double x)`
Returns the complementary distribution function.
`static double` ```barF(double gamma, double delta, double xi, double lambda, double x)```
Returns the complementary distribution function 1 - F(x).
` double` `cdf(double x)`
Returns the distribution function F(x).
`static double` ```cdf(double gamma, double delta, double xi, double lambda, double x)```
Returns the distribution function F(x).
` double` `density(double x)`
Returns f (x), the density evaluated at x.
`static double` ```density(double gamma, double delta, double xi, double lambda, double x)```
Returns the density function f (x).
` double` `getDelta()`
Returns the value of δ.
` double` `getGamma()`
Returns the value of γ.
`static JohnsonSLDist` ```getInstanceFromMLE(double[] x, int n)```
Creates a new instance of a Johnson SL distribution with parameters 0, δ, ξ and λ over the interval [ξ,∞] estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.
` double` `getLambda()`
Returns the value of λ.
` double` `getMean()`
Returns the mean.
`static double` ```getMean(double gamma, double delta, double xi, double lambda)```
Returns the mean of the Johnson SL distribution with parameters γ, δ, ξ and λ.
`static double[]` ```getMLE(double[] x, int n)```
Estimates the parameters (γ, δ, ξ, λ) of the Johnson SL distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1.
` double[]` `getParams()`
Return an array containing the parameters of the current distribution.
` double` `getStandardDeviation()`
Returns the standard deviation.
`static double` ```getStandardDeviation(double gamma, double delta, double xi, double lambda)```
Returns the standard deviation of the Johnson SL distribution with parameters γ, δ, ξ, λ.
` double` `getVariance()`
Returns the variance.
`static double` ```getVariance(double gamma, double delta, double xi, double lambda)```
Returns the variance of the Johnson SL distribution with parameters γ, δ, ξ and λ.
` double` `getXi()`
Returns the value of ξ.
` double` `inverseF(double u)`
Returns the inverse distribution function x = F-1(u).
`static double` ```inverseF(double gamma, double delta, double xi, double lambda, double u)```
Returns the inverse distribution function F-1(u).
` void` ```setParams(double gamma, double delta, double xi, double lambda)```
Sets the value of the parameters γ, δ, ξ and λ for this object.
` String` `toString()`

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

JohnsonSLDist

```public JohnsonSLDist(double gamma,
double delta)```
Same as `JohnsonSLDist` (gamma, delta, 0, 1).

JohnsonSLDist

```public JohnsonSLDist(double gamma,
double delta,
double xi,
double lambda)```
Constructs a JohnsonSLDist object with shape parameters γ and δ, location parameter ξ, and scale parameter λ.

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`
Returns the distribution function F(x).

Parameters:
`x` - value at which the distribution function is evaluated
Returns:
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 gamma,
double delta,
double xi,
double lambda,
double x)```
Returns the density function f (x).

cdf

```public static double cdf(double gamma,
double delta,
double xi,
double lambda,
double x)```
Returns the distribution function F(x).

barF

```public static double barF(double gamma,
double delta,
double xi,
double lambda,
double x)```
Returns the complementary distribution function 1 - F(x).

inverseF

```public static double inverseF(double gamma,
double delta,
double xi,
double lambda,
double u)```
Returns the inverse distribution function F-1(u).

getMLE

```public static double[] getMLE(double[] x,
int n)```
Estimates the parameters (γ, δ, ξ, λ) of the Johnson SL distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1. The estimates are returned in a 4-element array in the order [0, δ, ξ, λ] (with γ always set to 0).

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 [0, δ, ξ, λ]

getInstanceFromMLE

```public static JohnsonSLDist getInstanceFromMLE(double[] x,
int n)```
Creates a new instance of a Johnson SL distribution with parameters 0, δ, ξ and λ over the interval [ξ,∞] estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.

Parameters:
`x` - the list of observations to use to evaluate parameters
`n` - the number of observations to use to evaluate parameters

getMean

```public static double getMean(double gamma,
double delta,
double xi,
double lambda)```
Returns the mean of the Johnson SL distribution with parameters γ, δ, ξ and λ.

Returns:
the mean of the Johnson SL distribution E[X] = ξ + λe1/2δ2-γ/δ

getVariance

```public static double getVariance(double gamma,
double delta,
double xi,
double lambda)```
Returns the variance of the Johnson SL distribution with parameters γ, δ, ξ and λ.

Returns:
the variance of the Johnson SL distribution Var[X] = λ2(e1/δ2 -1)e1/δ2-2γ/δ

getStandardDeviation

```public static double getStandardDeviation(double gamma,
double delta,
double xi,
double lambda)```
Returns the standard deviation of the Johnson SL distribution with parameters γ, δ, ξ, λ.

Returns:
the standard deviation of the Johnson SL distribution

setParams

```public void setParams(double gamma,
double delta,
double xi,
double lambda)```
Sets the value of the parameters γ, δ, ξ and λ for this object.

getGamma

`public double getGamma()`
Returns the value of γ.

getDelta

`public double getDelta()`
Returns the value of δ.

getXi

`public double getXi()`
Returns the value of ξ.

getLambda

`public double getLambda()`
Returns the value of λ.

getParams

`public double[] getParams()`
Return an array containing the parameters of the current distribution. This array is put in regular order: [γ, δ, ξ, λ].

toString

`public String toString()`
Overrides:
`toString` in class `Object`

SSJ
V. 2.6.

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