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 classContinuousDistributionfor the beta distribution with shape parameters α > 0 and β > 0, over the interval (a, b), where a < b. It has densityf (x) = (x - a)α-1(b - x)β-1/[B(α, β)(b - a)α+β-1]for a < x < b, and 0 elsewhere. It has distribution functionF(x) = Iα, β(x) = ∫ax(ξ - a)α-1(b - ξ)β-1/[B(α, β)(b - a)α+β-1]dξ, for a < x < b,where B(α, β) is the beta function defined byB(α, β) = Γ(α)Γ(β)/Γ(α + β)and Γ(x) is the gamma function defined inGammaDist.
-
-
Field Summary
-
Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
decPrec
-
-
Constructor Summary
Constructors Constructor and Description 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static doublebarF(double alpha, double beta, double a, double b, int d, double x)Computes the complementary distribution function.static doublebarF(double alpha, double beta, int d, double x)Same asbarF(alpha, beta, 0, 1, d, x).doublecdf(double x)Returns the distribution function F(x).static doublecdf(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 doublecdf(double alpha, double beta, int d, double x)Same ascdf(alpha, beta, 0, 1, d, x).doubledensity(double x)Returns f (x), the density evaluated at x.static doubledensity(double alpha, double beta, double x)Same asdensity(alpha, beta, 0, 1, x).static doubledensity(double alpha, double beta, double a, double b, double x)Computes the density function of the beta distribution.doublegetA()Returns the parameter a of this object.doublegetAlpha()Returns the parameter α of this object.doublegetB()Returns the parameter b of this object.doublegetBeta()Returns the parameter β of this object.static BetaDistgetInstanceFromMLE(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.doublegetMean()Returns the mean.static doublegetMean(double alpha, double beta)Computes and returns the mean E[X] = α/(α + β) of the beta distribution with parameters α and β, over the interval [0, 1].static doublegetMean(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.doublegetStandardDeviation()Returns the standard deviation.static doublegetStandardDeviation(double alpha, double beta)Computes the standard deviation of the beta distribution with parameters α and β, over the interval [0, 1].static doublegetStandardDeviation(double alpha, double beta, double a, double b)Computes the standard deviation of the beta distribution with parameters α and β, over the interval [a, b].doublegetVariance()Returns the variance.static doublegetVariance(double alpha, double beta).static doublegetVariance(double alpha, double beta, double a, double b).doubleinverseF(double u)Returns the inverse distribution function x = F-1(u).static doubleinverseF(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 doubleinverseF(double alpha, double beta, int d, double u)Same asinverseF(alpha, beta, 0, 1, d, u).voidsetParams(double alpha, double beta, double a, double b, int d)java.lang.StringtoString()-
Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
barF, getXinf, getXsup, inverseBisection, inverseBrent, setXinf, setXsup
-
-
-
-
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:ContinuousDistributionReturns f (x), the density evaluated at x.- Specified by:
densityin classContinuousDistribution- 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:DistributionReturns 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:ContinuousDistributionReturns the inverse distribution function x = F-1(u). Restrictions: u∈[0, 1].- Specified by:
inverseFin interfaceDistribution- Overrides:
inverseFin classContinuousDistribution- 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:ContinuousDistributionReturns the mean.- Specified by:
getMeanin interfaceDistribution- Overrides:
getMeanin classContinuousDistribution- Returns:
- the mean
-
getVariance
public double getVariance()
Description copied from class:ContinuousDistributionReturns the variance.- Specified by:
getVariancein interfaceDistribution- Overrides:
getVariancein classContinuousDistribution- Returns:
- the variance
-
getStandardDeviation
public double getStandardDeviation()
Description copied from class:ContinuousDistributionReturns the standard deviation.- Specified by:
getStandardDeviationin interfaceDistribution- Overrides:
getStandardDeviationin classContinuousDistribution- Returns:
- the standard deviation
-
density
public static double density(double alpha, double beta, double x)Same asdensity(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 ascdf(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 asbarF(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 asinverseF(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 thecdfmethod. 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 parametersn- 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 parametersn- 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 java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-
DMelt 3.0 © DataMelt by jWork.ORG