public class BetaDistributionImpl extends AbstractContinuousDistribution implements BetaDistribution
References:
Modifier and Type | Field and Description |
---|---|
private double |
alpha
First shape parameter.
|
private double |
beta
Second shape parameter.
|
static double |
DEFAULT_INVERSE_ABSOLUTE_ACCURACY
Default inverse cumulative probability accuracy
|
private static long |
serialVersionUID
Serializable version identifier.
|
private double |
solverAbsoluteAccuracy
Inverse cumulative probability accuracy
|
private double |
z
Normalizing factor used in density computations.
|
randomData
Constructor and Description |
---|
BetaDistributionImpl(double alpha,
double beta)
Build a new instance.
|
BetaDistributionImpl(double alpha,
double beta,
double inverseCumAccuracy)
Build a new instance.
|
Modifier and Type | Method and Description |
---|---|
double |
cumulativeProbability(double x)
For a random variable X whose values are distributed according
to this distribution, this method returns P(X ≤ x).
|
double |
cumulativeProbability(double x0,
double x1)
For a random variable X whose values are distributed according
to this distribution, this method returns P(x0 ≤ X ≤ x1).
|
double |
density(double x)
Return the probability density for a particular point.
|
double |
density(Double x)
Deprecated.
|
double |
getAlpha()
Access the shape parameter, alpha
|
double |
getBeta()
Access the shape parameter, beta
|
protected double |
getDomainLowerBound(double p)
Access the domain value lower bound, based on
p , used to
bracket a CDF root. |
protected double |
getDomainUpperBound(double p)
Access the domain value upper bound, based on
p , used to
bracket a CDF root. |
protected double |
getInitialDomain(double p)
Access the initial domain value, based on
p , used to
bracket a CDF root. |
double |
getNumericalMean()
Returns the mean.
|
double |
getNumericalVariance()
Returns the variance.
|
protected double |
getSolverAbsoluteAccuracy()
Return the absolute accuracy setting of the solver used to estimate
inverse cumulative probabilities.
|
double |
getSupportLowerBound()
Returns the lower bound of the support for this distribution.
|
double |
getSupportUpperBound()
Returns the upper bound of the support for this distribution.
|
double |
inverseCumulativeProbability(double p)
For this distribution, X, this method returns the critical point x, such
that P(X < x) =
p . |
private void |
recomputeZ()
Recompute the normalization factor.
|
void |
setAlpha(double alpha)
Deprecated.
as of 2.1 (class will become immutable in 3.0)
|
void |
setBeta(double beta)
Deprecated.
as of 2.1 (class will become immutable in 3.0)
|
reseedRandomGenerator, sample, sample
public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
private static final long serialVersionUID
private double alpha
private double beta
private double z
private final double solverAbsoluteAccuracy
public BetaDistributionImpl(double alpha, double beta, double inverseCumAccuracy)
alpha
- first shape parameter (must be positive)beta
- second shape parameter (must be positive)inverseCumAccuracy
- the maximum absolute error in inverse cumulative probability estimates
(defaults to DEFAULT_INVERSE_ABSOLUTE_ACCURACY
)public BetaDistributionImpl(double alpha, double beta)
alpha
- first shape parameter (must be positive)beta
- second shape parameter (must be positive)@Deprecated public void setAlpha(double alpha)
setAlpha
in interface BetaDistribution
alpha
- the new shape parameter.public double getAlpha()
getAlpha
in interface BetaDistribution
@Deprecated public void setBeta(double beta)
setBeta
in interface BetaDistribution
beta
- the new scale parameter.public double getBeta()
getBeta
in interface BetaDistribution
private void recomputeZ()
@Deprecated public double density(Double x)
density
in interface BetaDistribution
density
in interface HasDensity<Double>
x
- The point at which the density should be computed.public double density(double x)
density
in class AbstractContinuousDistribution
x
- The point at which the density should be computed.public double inverseCumulativeProbability(double p) throws MathException
p
.inverseCumulativeProbability
in interface ContinuousDistribution
inverseCumulativeProbability
in class AbstractContinuousDistribution
p
- the desired probabilityp
MathException
- if the inverse cumulative probability can not be
computed due to convergence or other numerical errors.protected double getInitialDomain(double p)
p
, used to
bracket a CDF root. This method is used by
AbstractContinuousDistribution.inverseCumulativeProbability(double)
to find critical values.getInitialDomain
in class AbstractContinuousDistribution
p
- the desired probability for the critical valueprotected double getDomainLowerBound(double p)
p
, used to
bracket a CDF root. This method is used by
AbstractContinuousDistribution.inverseCumulativeProbability(double)
to find critical values.getDomainLowerBound
in class AbstractContinuousDistribution
p
- the desired probability for the critical valuep
protected double getDomainUpperBound(double p)
p
, used to
bracket a CDF root. This method is used by
AbstractContinuousDistribution.inverseCumulativeProbability(double)
to find critical values.getDomainUpperBound
in class AbstractContinuousDistribution
p
- the desired probability for the critical valuep
public double cumulativeProbability(double x) throws MathException
cumulativeProbability
in interface Distribution
x
- the value at which the distribution function is evaluated.x
MathException
- if the cumulative probability can not be
computed due to convergence or other numerical errors.public double cumulativeProbability(double x0, double x1) throws MathException
The default implementation uses the identity
P(x0 ≤ X ≤ x1) = P(X ≤ x1) - P(X ≤ x0)
cumulativeProbability
in interface Distribution
cumulativeProbability
in class AbstractDistribution
x0
- the (inclusive) lower boundx1
- the (inclusive) upper boundx0
and x1
,
including the endpoints.MathException
- if the cumulative probability can not be
computed due to convergence or other numerical errors.protected double getSolverAbsoluteAccuracy()
getSolverAbsoluteAccuracy
in class AbstractContinuousDistribution
public double getSupportLowerBound()
public double getSupportUpperBound()
public double getNumericalMean()
s1
and
second shape parameter s2
, the mean is
s1 / (s1 + s2)
public double getNumericalVariance()
s1
and
second shape parameter s2
,
the variance is
[ s1 * s2 ] / [ (s1 + s2)^2 * (s1 + s2 + 1) ]
Copyright (c) 2003-2014 Apache Software Foundation