Skip to main content
`Ctrl`+`K`

# scipy.special.ncfdtridfn

scipy.special.ncfdtridfn(p, dfd, nc, f, out=None) = <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.

    out ndarray, optional

      Optional output array for the function results

  Returns:
    dfn scalar or ndarray

      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.])