Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.probdist
Class BetaDist

    java.lang.Object
      umontreal.iro.lecuyer.probdist.ContinuousDistribution
          umontreal.iro.lecuyer.probdist.BetaDist

All Implemented Interfaces:
  Distribution

Direct Known Subclasses:
  BetaSymmetricalDist

    public class BetaDist

extends 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]dξ, 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` and β = `beta` and default domain (0, 1).
`BetaDist(double alpha, double beta, double a, double b)` Constructs a `BetaDist` object with parameters α = `alpha` and β = `beta`, and domain (`a`, `b`).
`BetaDist(double alpha, double beta, double a, double b, int d)` Constructs a `BetaDist` object with parameters α = `alpha` and β = `beta`, and approximations of roughly `d` decimal digits of precision when computing distribution, complementary distribution, and inverse functions.
`BetaDist(double alpha, double beta, int d)` Constructs a `BetaDist` object with parameters α = `alpha` and β = `beta`, and approximations of roughly `d` decimal digits of precision when computing the distribution, complementary distribution, and inverse functions.

Method Summary
`static double` | `barF(double alpha, double beta, double a, double b, int d, double x)` Computes the complementary distribution function.
`static double` | `barF(double alpha, double beta, int d, double x)` Same as `barF` `(alpha, beta, 0, 1, d, x)`.
`double` | `cdf(double x)` Returns the distribution function F(x).
`static double` | `cdf(double alpha, double beta, double a, double b, int d, double x)` Computes an approximation of the distribution function, with roughly `d` decimal digits of precision.
`static double` | `cdf(double alpha, double beta, int d, double x)` Same as `cdf` `(alpha, beta, 0, 1, d, x)`.
`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.
`static double[]` | `getMaximumLikelihoodEstimate(double[] x, int n)` Deprecated.
`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] = (bα + aβ)/(α + β) 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 a table containing parameters of the current distribution.
`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)` .
`static double` | `getVariance(double alpha, double beta, double a, double b)` .
`double` | `inverseF(double u)` Computes and returns the inverse distribution function x = F-1(u), by calling the method `inverseBrent`.
`static double` | `inverseF(double alpha, double beta, double a, double b, int d, double u)` Returns the inverse beta distribution function using the algorithm implemented in the Cephes math library.
`static double` | `inverseF(double alpha, double beta, int d, double u)` Same as `inverseF` `(alpha, beta, 0, 1, d, u)`.
`void` | `setParams(double alpha, double beta, double a, double b, int d)`
`String` | `toString()`

Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
`barF, inverseBisection, inverseBrent`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### BetaDist

    public BetaDist(double alpha,
                    double beta)

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

### BetaDist

    public BetaDist(double alpha,
                    double beta,
                    double a,
                    double b)

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

### BetaDist

    public BetaDist(double alpha,
                    double beta,
                    int d)

  Constructs a `BetaDist` object with parameters α = `alpha` and β = `beta`, and approximations of roughly `d` decimal digits of precision when computing the distribution, complementary distribution, and inverse functions. The default domain (0, 1) is used.

### BetaDist

    public BetaDist(double alpha,
                    double beta,
                    double a,
                    double b,
                    int d)

  Constructs a `BetaDist` object with parameters α = `alpha` and β = `beta`, and approximations of roughly `d` decimal digits of precision when computing distribution, complementary distribution, and inverse functions. The domain (`a`, `b`) is used.

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`

### inverseF

    public double inverseF(double u)

  Description copied from class: `ContinuousDistribution`
  Computes and returns the inverse distribution function x = F-1(u), by calling the method `inverseBrent`. 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

    public static double cdf(double alpha,
                             double beta,
                             int d,
                             double x)

  Same as `cdf` `(alpha, beta, 0, 1, d, x)`.

### cdf

    public static double cdf(double alpha,
                             double beta,
                             double a,
                             double b,
                             int d,
                             double x)

  Computes an approximation of the distribution function, with roughly `d` decimal digits of precision.

### barF

    public static double barF(double alpha,
                              double beta,
                              int d,
                              double x)

  Same as `barF` `(alpha, beta, 0, 1, d, x)`.

### barF

    public static double barF(double alpha,
                              double beta,
                              double a,
                              double b,
                              int d,
                              double x)

  Computes the complementary distribution function.

### inverseF

    public static double inverseF(double alpha,
                                  double beta,
                                  int d,
                                  double u)

  Same as `inverseF` `(alpha, beta, 0, 1, d, u)`.

### inverseF

    public static double inverseF(double alpha,
                                  double beta,
                                  double a,
                                  double b,
                                  int d,
                                  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. The precision depends on the accuracy of the `cdf` method. The argument `d` gives a good idea of the precision attained.

### 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(β)]

### getMaximumLikelihoodEstimate

    @Deprecated
    public static double[] getMaximumLikelihoodEstimate(double[] x,
                                                                   int n)

  Deprecated.

  Same as `getMLE`.

### 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] = (bα + aβ)/(α + β) 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] = 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] = 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

    public void setParams(double alpha,
                          double beta,
                          double a,
                          double b,
                          int d)

### getParams

    public double[] getParams()

  Return a table containing parameters of the current distribution. This table is put in regular order: [α, β].

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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