SciPy

scipy.special.ncfdtridfn

scipy.special.ncfdtridfn(p, dfd, nc, f) = <ufunc 'ncfdtridfn'>

Calculate degrees of freedom (numerator) for the noncentral F-distribution.

This is the inverse with respect to dfn of ncfdtr. See ncfdtr for more details.

Parameters:
p : array_like

Value of the cumulative distribution function. Must be in the range [0, 1].

dfd : array_like

Degrees of freedom of the denominator sum of squares. Range (0, inf).

nc : array_like

Noncentrality parameter. Should be in range (0, 1e4).

f : float

Quantiles, i.e. the upper limit of integration.

Returns:
dfn : float

Degrees of freedom of the numerator sum of squares.

See also

ncfdtr
CDF of the non-central F distribution.
ncfdtri
Quantile function; inverse of ncfdtr with respect to f.
ncfdtridfd
Inverse of ncfdtr with respect to dfd.
ncfdtrinc
Inverse of ncfdtr with respect to nc.

Notes

The value of the cumulative noncentral F distribution is not necessarily monotone in either degrees of freedom. There thus may be two values that provide a given CDF value. This routine assumes monotonicity and will find an arbitrary one of the two values.

Examples

>>> from scipy.special import ncfdtr, ncfdtridfn

Compute the CDF for several values of dfn:

>>> dfn = [1, 2, 3]
>>> p = ncfdtr(dfn, 2, 0.25, 15)
>>> p
array([ 0.92562363,  0.93020416,  0.93188394])

Compute the inverse. We recover the values of dfn, as expected:

>>> ncfdtridfn(p, 2, 0.25, 15)
array([ 1.,  2.,  3.])