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 PowerDist

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

All Implemented Interfaces:
  Distribution

    public class PowerDist

extends ContinuousDistribution

Extends the class `ContinuousDistribution` for the power distribution with shape parameter c > 0, over the interval [a, b], where a < b. It has density

f (x) = c(x - a)c-1/(b - a)c

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

F(x) = (x - a)c/(b - a)c for a <= x <= b,

with F(x) = 0 for x <= a and F(x) = 1 for x >= b.

Field Summary

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

Constructor Summary
`PowerDist(double c)` Constructs a `PowerDist` object with parameters a = 0, b = 1 and c = `c`.
`PowerDist(double b, double c)` Constructs a `PowerDist` object with parameters a = 0, b = `b` and c = `c`.
`PowerDist(double a, double b, double c)` Constructs a `PowerDist` object with parameters a = `a`, b = `b` and c = `c`.

Method Summary
`double` | `barF(double x)` Returns the complementary distribution function.
`static double` | `barF(double a, double b, double c, double x)` Computes the complementary distribution function.
`double` | `cdf(double x)` Returns the distribution function F(x).
`static double` | `cdf(double a, double b, double c, double x)` Computes the distribution function.
`double` | `density(double x)` Returns f (x), the density evaluated at x.
`static double` | `density(double a, double b, double c, double x)` Computes the density function.
`double` | `getA()` Returns the parameter a.
`double` | `getB()` Returns the parameter b.
`double` | `getC()` Returns the parameter c.
`static PowerDist` | `getInstanceFromMLE(double[] x, int n, double a, double b)` Creates a new instance of a power distribution with parameters a and b, with c estimated using the maximum likelihood method based on the n observations x[i], i = 0,…, n - 1.
`double` | `getMean()` Returns the mean.
`static double` | `getMean(double a, double b, double c)` Returns the mean a + (b - a)c/(c + 1) of the power distribution with parameters a, b and c.
`static double[]` | `getMLE(double[] x, int n, double a, double b)` Estimates the parameter c of the power distribution from the n observations x[i], i = 0, 1,…, n - 1, using the maximum likelihood method and assuming that a and b are known.
`double[]` | `getParams()` Return a table containing the parameters of the current distribution.
`double` | `getStandardDeviation()` Returns the standard deviation.
`static double` | `getStandardDeviation(double a, double b, double c)` Computes and returns the standard deviation of the power distribution with parameters a, b and c.
`double` | `getVariance()` Returns the variance.
`static double` | `getVariance(double a, double b, double c)` Computes and returns the variance (b - a)2c/[(c + 1)2(c + 2)] of the power distribution with parameters a, b and c.
`double` | `inverseF(double u)` Computes and returns the inverse distribution function x = F-1(u), by calling the method `inverseBrent`.
`static double` | `inverseF(double a, double b, double c, double u)` Computes the inverse of the distribution function.
`void` | `setParams(double a, double b, double c)` Sets the parameters a, b and c for this object.
`String` | `toString()`

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

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

Constructor Detail

### PowerDist

    public PowerDist(double a,
                     double b,
                     double c)

  Constructs a `PowerDist` object with parameters a = `a`, b = `b` and c = `c`.

### PowerDist

    public PowerDist(double b,
                     double c)

  Constructs a `PowerDist` object with parameters a = 0, b = `b` and c = `c`.

### PowerDist

    public PowerDist(double c)

  Constructs a `PowerDist` object with parameters a = 0, b = 1 and c = `c`.

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), which is not accurate when F(x) -> 1.

  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`
  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 a,
                                 double b,
                                 double c,
                                 double x)

  Computes the density function.

  Parameters:
    `a` - left limit of interval
    `b` - right limit of interval
    `c` - shape parameter
    `x` - the value at which the density is evaluated
  Returns:
    returns the density function

### cdf

    public static double cdf(double a,
                             double b,
                             double c,
                             double x)

  Computes the distribution function.

  Parameters:
    `a` - left limit of interval
    `b` - right limit of interval
    `c` - shape parameter
    `x` - the value at which the distribution is evaluated
  Returns:
    returns the distribution function

### barF

    public static double barF(double a,
                              double b,
                              double c,
                              double x)

  Computes the complementary distribution function.

  Parameters:
    `a` - left limit of interval
    `b` - right limit of interval
    `c` - shape parameter
    `x` - the value at which the complementary distribution is evaluated
  Returns:
    returns the complementary distribution function

### inverseF

    public static double inverseF(double a,
                                  double b,
                                  double c,
                                  double u)

  Computes the inverse of the distribution function.

  Parameters:
    `a` - left limit of interval
    `b` - right limit of interval
    `c` - shape parameter
    `u` - the value at which the inverse distribution is evaluated
  Returns:
    returns the inverse of the distribution function

### getMLE

    public static double[] getMLE(double[] x,
                                  int n,
                                  double a,
                                  double b)

  Estimates the parameter c of the power distribution from the n observations x[i], i = 0, 1,…, n - 1, using the maximum likelihood method and assuming that a and b are known. The estimate is returned in a one-element array: [c].

  Parameters:
    `x` - the list of observations to use to evaluate parameters
    `n` - the number of observations to use to evaluate parameters
    `a` - left limit of interval
    `b` - right limit of interval
  Returns:
    returns the shape parameter [hat(c)]

### getInstanceFromMLE

    public static PowerDist getInstanceFromMLE(double[] x,
                                               int n,
                                               double a,
                                               double b)

  Creates a new instance of a power distribution with parameters a and b, with c estimated using the maximum likelihood method based on the n observations x[i], i = 0,…, n - 1.

  Parameters:
    `x` - the list of observations to use to evaluate parameters
    `n` - the number of observations to use to evaluate parameters
    `a` - left limit of interval
    `b` - right limit of interval

### getMean

    public static double getMean(double a,
                                 double b,
                                 double c)

  Returns the mean a + (b - a)c/(c + 1) of the power distribution with parameters a, b and c.

  Parameters:
    `a` - left limit of interval
    `b` - right limit of interval
    `c` - shape parameter
  Returns:
    returns the mean

### getVariance

    public static double getVariance(double a,
                                     double b,
                                     double c)

  Computes and returns the variance (b - a)2c/[(c + 1)2(c + 2)] of the power distribution with parameters a, b and c.

  Parameters:
    `a` - left limit of interval
    `b` - right limit of interval
    `c` - shape parameter
  Returns:
    returns the variance

### getStandardDeviation

    public static double getStandardDeviation(double a,
                                              double b,
                                              double c)

  Computes and returns the standard deviation of the power distribution with parameters a, b and c.

  Returns:
    the standard deviation of the power distribution

### getA

    public double getA()

  Returns the parameter a.

  Returns:
    the left limit of interval a

### getB

    public double getB()

  Returns the parameter b.

  Returns:
    the right limit of interval b

### getC

    public double getC()

  Returns the parameter c.

  Returns:
    the shape parameter c

### setParams

    public void setParams(double a,
                          double b,
                          double c)

  Sets the parameters a, b and c for this object.

  Parameters:
    `a` - left limit of interval
    `b` - right limit of interval
    `c` - shape parameter

### getParams

    public double[] getParams()

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

  Returns:
    [a, b,c]

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