org.apache.commons.math.distribution

## Class FDistributionImpl

• ### Field Summary

Fields
Modifier and Type Field and Description
`static double` `DEFAULT_INVERSE_ABSOLUTE_ACCURACY`
Default inverse cumulative probability accuracy
• ### Constructor Summary

Constructors
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.
• ### Method Summary

All Methods
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.
`double` `getNumeratorDegreesOfFreedom()`
Access the numerator degrees of freedom.
`double` `getNumericalMean()`
Returns the mean of the distribution.
`double` `getNumericalVariance()`
Returns the variance of the distribution.
`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)
`void` `setNumeratorDegreesOfFreedom(double degreesOfFreedom)`
Deprecated.
as of 2.1 (class will become immutable in 3.0)
• ### Methods inherited from class org.apache.commons.math.distribution.AbstractContinuousDistribution

`reseedRandomGenerator, sample, sample`
• ### Methods inherited from class org.apache.commons.math.distribution.AbstractDistribution

`cumulativeProbability`
• ### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Methods inherited from interface org.apache.commons.math.distribution.Distribution

`cumulativeProbability`
• ### Field Detail

• #### DEFAULT_INVERSE_ABSOLUTE_ACCURACY

`public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY`
Default inverse cumulative probability accuracy
Since:
2.1
Constant Field Values
• ### Constructor Detail

• #### FDistributionImpl

```public FDistributionImpl(double numeratorDegreesOfFreedom,
double denominatorDegreesOfFreedom)```
Create a F distribution using the given degrees of freedom.
Parameters:
`numeratorDegreesOfFreedom` - the numerator degrees of freedom.
`denominatorDegreesOfFreedom` - the denominator degrees of freedom.
• #### FDistributionImpl

```public FDistributionImpl(double numeratorDegreesOfFreedom,
double denominatorDegreesOfFreedom,
double inverseCumAccuracy)```
Create a F distribution using the given degrees of freedom and inverse cumulative probability accuracy.
Parameters:
`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`)
Since:
2.1
• ### Method Detail

• #### density

`public double density(double x)`
Returns the probability density for a particular point.
Overrides:
`density` in class `AbstractContinuousDistribution`
Parameters:
`x` - The point at which the density should be computed.
Returns:
The pdf at point x.
Since:
2.1
• #### cumulativeProbability

```public double cumulativeProbability(double x)
throws MathException```
For this distribution, X, this method returns P(X < x). The implementation of this method is based on:
Specified by:
`cumulativeProbability` in interface `Distribution`
Parameters:
`x` - the value at which the CDF is evaluated.
Returns:
CDF for this distribution.
Throws:
`MathException` - if the cumulative probability can not be computed due to convergence or other numerical errors.
• #### inverseCumulativeProbability

```public double inverseCumulativeProbability(double p)
throws MathException```
For this distribution, X, this method returns the critical point x, such that P(X < x) = `p`.

Returns 0 for p=0 and `Double.POSITIVE_INFINITY` for p=1.

Specified by:
`inverseCumulativeProbability` in interface `ContinuousDistribution`
Overrides:
`inverseCumulativeProbability` in class `AbstractContinuousDistribution`
Parameters:
`p` - the desired probability
Returns:
x, such that P(X < x) = `p`
Throws:
`MathException` - if the inverse cumulative probability can not be computed due to convergence or other numerical errors.
`java.lang.IllegalArgumentException` - if `p` is not a valid probability.
• #### setNumeratorDegreesOfFreedom

```@Deprecated
public void setNumeratorDegreesOfFreedom(double degreesOfFreedom)```
Deprecated. as of 2.1 (class will become immutable in 3.0)
Modify the numerator degrees of freedom.
Specified by:
`setNumeratorDegreesOfFreedom` in interface `FDistribution`
Parameters:
`degreesOfFreedom` - the new numerator degrees of freedom.
Throws:
`java.lang.IllegalArgumentException` - if `degreesOfFreedom` is not positive.
• #### getNumeratorDegreesOfFreedom

`public double getNumeratorDegreesOfFreedom()`
Access the numerator degrees of freedom.
Specified by:
`getNumeratorDegreesOfFreedom` in interface `FDistribution`
Returns:
the numerator degrees of freedom.
• #### setDenominatorDegreesOfFreedom

```@Deprecated
public void setDenominatorDegreesOfFreedom(double degreesOfFreedom)```
Deprecated. as of 2.1 (class will become immutable in 3.0)
Modify the denominator degrees of freedom.
Specified by:
`setDenominatorDegreesOfFreedom` in interface `FDistribution`
Parameters:
`degreesOfFreedom` - the new denominator degrees of freedom.
Throws:
`java.lang.IllegalArgumentException` - if `degreesOfFreedom` is not positive.
• #### getDenominatorDegreesOfFreedom

`public double getDenominatorDegreesOfFreedom()`
Access the denominator degrees of freedom.
Specified by:
`getDenominatorDegreesOfFreedom` in interface `FDistribution`
Returns:
the denominator degrees of freedom.
• #### getSupportLowerBound

`public double getSupportLowerBound()`
Returns the lower bound of the support for the distribution. The lower bound of the support is always 0, regardless of the parameters.
Returns:
lower bound of the support (always 0)
Since:
2.2
• #### getSupportUpperBound

`public double getSupportUpperBound()`
Returns the upper bound of the support for the distribution. The upper bound of the support is always positive infinity, regardless of the parameters.
Returns:
upper bound of the support (always Double.POSITIVE_INFINITY)
Since:
2.2
• #### getNumericalMean

`public double getNumericalMean()`
Returns the mean of the distribution. For denominator degrees of freedom parameter `b`, the mean is
• if `b > 2` then `b / (b - 2)`
• else `undefined`
Returns:
the mean
Since:
2.2
• #### getNumericalVariance

`public double getNumericalVariance()`
Returns the variance of the distribution. For numerator degrees of freedom parameter `a` and denominator degrees of freedom parameter `b`, the variance is
• if `b > 4` then `[ 2 * b^2 * (a + b - 2) ] / [ a * (b - 2)^2 * (b - 4) ]`
• else `undefined`
Returns:
the variance
Since:
2.2