org.apache.commons.math.distribution
public class FDistributionImpl extends AbstractContinuousDistribution implements FDistribution, Serializable
FDistribution
.Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_INVERSE_ABSOLUTE_ACCURACY
Default inverse cumulative probability accuracy
|
private double |
denominatorDegreesOfFreedom
The numerator degrees of freedom
|
private double |
numeratorDegreesOfFreedom
The numerator degrees of freedom
|
private static long |
serialVersionUID
Serializable version identifier
|
private double |
solverAbsoluteAccuracy
Inverse cumulative probability accuracy
|
randomData
Constructor and Description |
---|
FDistributionImpl(double numeratorDegreesOfFreedom,
double denominatorDegreesOfFreedom)
Create a F distribution using the given degrees of freedom.
|
FDistributionImpl(double numeratorDegreesOfFreedom,
double denominatorDegreesOfFreedom,
double inverseCumAccuracy)
Create a F distribution using the given degrees of freedom and inverse cumulative probability accuracy.
|
Modifier and Type | Method and Description |
---|---|
double |
cumulativeProbability(double x)
For this distribution, X, this method returns P(X < x).
|
double |
density(double x)
Returns the probability density for a particular point.
|
double |
getDenominatorDegreesOfFreedom()
Access the denominator degrees of freedom.
|
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 |
getNumeratorDegreesOfFreedom()
Access the numerator degrees of freedom.
|
double |
getNumericalMean()
Returns the mean of the distribution.
|
double |
getNumericalVariance()
Returns the variance of the distribution.
|
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 the distribution.
|
double |
getSupportUpperBound()
Returns the upper bound of the support for the distribution.
|
double |
inverseCumulativeProbability(double p)
For this distribution, X, this method returns the critical point x, such
that P(X < x) =
p . |
void |
setDenominatorDegreesOfFreedom(double degreesOfFreedom)
Deprecated.
as of 2.1 (class will become immutable in 3.0)
|
private void |
setDenominatorDegreesOfFreedomInternal(double degreesOfFreedom)
Modify the denominator degrees of freedom.
|
void |
setNumeratorDegreesOfFreedom(double degreesOfFreedom)
Deprecated.
as of 2.1 (class will become immutable in 3.0)
|
private void |
setNumeratorDegreesOfFreedomInternal(double degreesOfFreedom)
Modify the numerator degrees of freedom.
|
reseedRandomGenerator, sample, sample
cumulativeProbability
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
cumulativeProbability
public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY
private static final long serialVersionUID
private double numeratorDegreesOfFreedom
private double denominatorDegreesOfFreedom
private final double solverAbsoluteAccuracy
public FDistributionImpl(double numeratorDegreesOfFreedom, double denominatorDegreesOfFreedom)
numeratorDegreesOfFreedom
- the numerator degrees of freedom.denominatorDegreesOfFreedom
- the denominator degrees of freedom.public FDistributionImpl(double numeratorDegreesOfFreedom, double denominatorDegreesOfFreedom, double inverseCumAccuracy)
numeratorDegreesOfFreedom
- the numerator degrees of freedom.denominatorDegreesOfFreedom
- the denominator degrees of freedom.inverseCumAccuracy
- the maximum absolute error in inverse cumulative probability estimates
(defaults to DEFAULT_INVERSE_ABSOLUTE_ACCURACY
)public double density(double x)
density
in class AbstractContinuousDistribution
x
- The point at which the density should be computed.public double cumulativeProbability(double x) throws MathException
cumulativeProbability
in interface Distribution
x
- the value at which the CDF is evaluated.MathException
- if the cumulative probability can not be
computed due to convergence or other numerical errors.public double inverseCumulativeProbability(double p) throws MathException
p
.
Returns 0 for p=0 and Double.POSITIVE_INFINITY
for p=1.
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.IllegalArgumentException
- if p
is not a valid
probability.protected double getDomainLowerBound(double p)
p
, used to
bracket a CDF root. This method is used by
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
inverseCumulativeProbability(double)
to find critical values.getDomainUpperBound
in class AbstractContinuousDistribution
p
- the desired probability for the critical valuep
protected double getInitialDomain(double p)
p
, used to
bracket a CDF root. This method is used by
inverseCumulativeProbability(double)
to find critical values.getInitialDomain
in class AbstractContinuousDistribution
p
- the desired probability for the critical value@Deprecated public void setNumeratorDegreesOfFreedom(double degreesOfFreedom)
setNumeratorDegreesOfFreedom
in interface FDistribution
degreesOfFreedom
- the new numerator degrees of freedom.IllegalArgumentException
- if degreesOfFreedom
is not
positive.private void setNumeratorDegreesOfFreedomInternal(double degreesOfFreedom)
degreesOfFreedom
- the new numerator degrees of freedom.IllegalArgumentException
- if degreesOfFreedom
is not
positive.public double getNumeratorDegreesOfFreedom()
getNumeratorDegreesOfFreedom
in interface FDistribution
@Deprecated public void setDenominatorDegreesOfFreedom(double degreesOfFreedom)
setDenominatorDegreesOfFreedom
in interface FDistribution
degreesOfFreedom
- the new denominator degrees of freedom.IllegalArgumentException
- if degreesOfFreedom
is not
positive.private void setDenominatorDegreesOfFreedomInternal(double degreesOfFreedom)
degreesOfFreedom
- the new denominator degrees of freedom.IllegalArgumentException
- if degreesOfFreedom
is not
positive.public double getDenominatorDegreesOfFreedom()
getDenominatorDegreesOfFreedom
in interface FDistribution
protected double getSolverAbsoluteAccuracy()
getSolverAbsoluteAccuracy
in class AbstractContinuousDistribution
public double getSupportLowerBound()
public double getSupportUpperBound()
public double getNumericalMean()
b
,
the mean is
b > 2
then b / (b - 2)
undefined
public double getNumericalVariance()
a
and denominator degrees of freedom parameter b
,
the variance is
b > 4
then
[ 2 * b^2 * (a + b - 2) ] / [ a * (b - 2)^2 * (b - 4) ]
undefined
Copyright (c) 2003-2014 Apache Software Foundation