SSJ
V. 2.6.

```java.lang.Object
umontreal.iro.lecuyer.probdist.ContinuousDistribution
```
All Implemented Interfaces:
Distribution
Direct Known Subclasses:
BetaSymmetricalDist

`public class BetaDistextends ContinuousDistribution`

Extends the class `ContinuousDistribution` for the beta distribution with shape parameters α > 0 and β > 0, over the interval [a, b], where a < b. It has density

f (x) = (x - a)α-1(b - x)β-1/[B(α, β)(b - a)α+β-1]

for a <= x <= b, and 0 elsewhere. It has distribution function

F(x) = Iα, β(x) = ∫ax(ξ - a)α-1(b - ξ)β-1/[B(α, β)(b - a)α+β-1],        for a <= x <= b,

where B(α, β) is the beta function defined by

B(α, β) = Γ(α)Γ(β)/Γ(α + β),

and Γ(x) is the gamma function defined in `GammaDist`.

Field Summary

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

Constructor Summary
```BetaDist(double alpha, double beta)```
Constructs a BetaDist object with parameters α = alpha, β = beta and default domain [0, 1].
```BetaDist(double alpha, double beta, double a, double b)```
Constructs a BetaDist object with parameters α = alpha, β = beta and domain [a, b].
```BetaDist(double alpha, double beta, double a, double b, int d)```
Deprecated.
```BetaDist(double alpha, double beta, int d)```
Deprecated.

Method Summary
` double` `barF(double x)`
Returns the complementary distribution function.
`static double` ```barF(double alpha, double beta, double x)```
Same as `barF` (alpha, beta, 0, 1, x).
`static double` ```barF(double alpha, double beta, double a, double b, double x)```
Computes the complementary distribution function.
`static double` ```barF(double alpha, double beta, double a, double b, int d, double x)```
Deprecated.
`static double` ```barF(double alpha, double beta, int d, double x)```
Deprecated.
` double` `cdf(double x)`
Returns the distribution function F(x).
`static double` ```cdf(double alpha, double beta, double x)```
Same as `cdf` (alpha, beta, 0, 1, x).
`static double` ```cdf(double alpha, double beta, double a, double b, double x)```
Computes the distribution function.
`static double` ```cdf(double alpha, double beta, double a, double b, int d, double x)```
Deprecated.
`static double` ```cdf(double alpha, double beta, int d, double x)```
Deprecated.
` double` `density(double x)`
Returns f (x), the density evaluated at x.
`static double` ```density(double alpha, double beta, double x)```
Same as `density` (alpha, beta, 0, 1, x).
`static double` ```density(double alpha, double beta, double a, double b, double x)```
Computes the density function of the beta distribution.
` double` `getA()`
Returns the parameter a of this object.
` double` `getAlpha()`
Returns the parameter α of this object.
` double` `getB()`
Returns the parameter b of this object.
` double` `getBeta()`
Returns the parameter β of this object.
`static BetaDist` ```getInstanceFromMLE(double[] x, int n)```
Creates a new instance of a beta distribution with parameters α and β over the interval [0, 1] estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.
` double` `getMean()`
Returns the mean.
`static double` ```getMean(double alpha, double beta)```
Computes and returns the mean E[X] = α/(α + β) of the beta distribution with parameters α and β, over the interval [0, 1].
`static double` ```getMean(double alpha, double beta, double a, double b)```
Computes and returns the mean E[X] = ( + )/(α + β) of the beta distribution with parameters α and β over the interval [a, b].
`static double[]` ```getMLE(double[] x, int n)```
Estimates the parameters (α, β) of the beta distribution over the interval [0, 1] 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 as [α, β, a, b].
` double` `getStandardDeviation()`
Returns the standard deviation.
`static double` ```getStandardDeviation(double alpha, double beta)```
Computes the standard deviation of the beta distribution with parameters α and β, over the interval [0, 1].
`static double` ```getStandardDeviation(double alpha, double beta, double a, double b)```
Computes the standard deviation of the beta distribution with parameters α and β, over the interval [a, b].
` double` `getVariance()`
Returns the variance.
`static double` ```getVariance(double alpha, double beta)```
Computes and returns the variance Var[X] = 1#1 of the beta distribution with parameters α and β, over the interval [0, 1].
`static double` ```getVariance(double alpha, double beta, double a, double b)```
Computes and returns the variance Var[X] = 2#2 of the beta distribution with parameters α and β, over the interval [a, b].
` double` `inverseF(double u)`
Returns the inverse distribution function x = F-1(u).
`static double` ```inverseF(double alpha, double beta, double u)```
Same as `inverseF` (alpha, beta, 0, 1, u).
`static double` ```inverseF(double alpha, double beta, double a, double b, double u)```
Returns the inverse beta distribution function using the algorithm implemented in the Cephes math library.
`static double` ```inverseF(double alpha, double beta, double a, double b, int d, double u)```
Deprecated.
`static double` ```inverseF(double alpha, double beta, int d, double u)```
Deprecated.
` void` ```setParams(double alpha, double beta, double a, double b)```
Sets the parameters of the current distribution.
` void` ```setParams(double alpha, double beta, double a, double b, int d)```
Deprecated.
` 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

```public BetaDist(double alpha,
double beta)```
Constructs a BetaDist object with parameters α = alpha, β = beta and default domain [0, 1].

```public BetaDist(double alpha,
double beta,
double a,
double b)```
Constructs a BetaDist object with parameters α = alpha, β = beta and domain [a, b].

```@Deprecated
double beta,
int d)```
Deprecated.

```@Deprecated
double beta,
double a,
double b,
int d)```
Deprecated.

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 alpha,
double beta,
double x)```
Same as `density` (alpha, beta, 0, 1, x).

### density

```public static double density(double alpha,
double beta,
double a,
double b,
double x)```
Computes the density function of the beta distribution.

### cdf

```@Deprecated
public static double cdf(double alpha,
double beta,
int d,
double x)```
Deprecated.

### cdf

```@Deprecated
public static double cdf(double alpha,
double beta,
double a,
double b,
int d,
double x)```
Deprecated.

### barF

```@Deprecated
public static double barF(double alpha,
double beta,
int d,
double x)```
Deprecated.

### barF

```@Deprecated
public static double barF(double alpha,
double beta,
double a,
double b,
int d,
double x)```
Deprecated.

### cdf

```public static double cdf(double alpha,
double beta,
double x)```
Same as `cdf` (alpha, beta, 0, 1, x).

### cdf

```public static double cdf(double alpha,
double beta,
double a,
double b,
double x)```
Computes the distribution function.

### barF

```public static double barF(double alpha,
double beta,
double x)```
Same as `barF` (alpha, beta, 0, 1, x).

### barF

```public static double barF(double alpha,
double beta,
double a,
double b,
double x)```
Computes the complementary distribution function.

### inverseF

```@Deprecated
public static double inverseF(double alpha,
double beta,
int d,
double u)```
Deprecated.

### inverseF

```public static double inverseF(double alpha,
double beta,
double u)```
Same as `inverseF` (alpha, beta, 0, 1, u).

### inverseF

```@Deprecated
public static double inverseF(double alpha,
double beta,
double a,
double b,
int d,
double u)```
Deprecated.

### inverseF

```public static double inverseF(double alpha,
double beta,
double a,
double b,
double u)```
Returns the inverse beta distribution function using the algorithm implemented in the Cephes math library. The method performs interval halving or Newton iterations to compute the inverse.

### getMLE

```public static double[] getMLE(double[] x,
int n)```
Estimates the parameters (α, β) of the beta distribution over the interval [0, 1] 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: [α, β].

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 [ hat(α), hat(β)]

### getInstanceFromMLE

```public static BetaDist getInstanceFromMLE(double[] x,
int n)```
Creates a new instance of a beta distribution with parameters α and β over the interval [0, 1] 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 alpha,
double beta)```
Computes and returns the mean E[X] = α/(α + β) of the beta distribution with parameters α and β, over the interval [0, 1].

Returns:
the mean of the Beta distribution

### getMean

```public static double getMean(double alpha,
double beta,
double a,
double b)```
Computes and returns the mean E[X] = ( + )/(α + β) of the beta distribution with parameters α and β over the interval [a, b].

Returns:
the mean of the Beta distribution

### getVariance

```public static double getVariance(double alpha,
double beta)```
Computes and returns the variance Var[X] = 1#1 of the beta distribution with parameters α and β, over the interval [0, 1].

Returns:
the variance of the beta distribution Var[X] = αβ/[(α + β)2(α + β + 1)].

### getVariance

```public static double getVariance(double alpha,
double beta,
double a,
double b)```
Computes and returns the variance Var[X] = 2#2 of the beta distribution with parameters α and β, over the interval [a, b].

Returns:
the variance of the beta distribution Var[X] = αβ/[(α + β)2(α + β + 1)].

### getStandardDeviation

```public static double getStandardDeviation(double alpha,
double beta)```
Computes the standard deviation of the beta distribution with parameters α and β, over the interval [0, 1].

Returns:
the standard deviation of the Beta distribution

### getStandardDeviation

```public static double getStandardDeviation(double alpha,
double beta,
double a,
double b)```
Computes the standard deviation of the beta distribution with parameters α and β, over the interval [a, b].

Returns:
the standard deviation of the Beta distribution

### getAlpha

`public double getAlpha()`
Returns the parameter α of this object.

### getBeta

`public double getBeta()`
Returns the parameter β of this object.

### getA

`public double getA()`
Returns the parameter a of this object.

### getB

`public double getB()`
Returns the parameter b of this object.

### setParams

```@Deprecated
public void setParams(double alpha,
double beta,
double a,
double b,
int d)```
Deprecated.

### setParams

```public void setParams(double alpha,
double beta,
double a,
double b)```
Sets the parameters of the current distribution. See the constructor.

### getParams

`public double[] getParams()`
Return an array containing the parameters of the current distribution as [α, β, a, b].

### 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.