scipy.special.nbdtrin#
- scipy.special.nbdtrin(k, y, p, out=None) = <ufunc 'nbdtrin'>#
Inverse of
nbdtr
vs n.Returns the inverse with respect to the parameter n of
y = nbdtr(k, n, p)
, the negative binomial cumulative distribution function.- Parameters:
- karray_like
The maximum number of allowed failures (nonnegative int).
- yarray_like
The probability of k or fewer failures before n successes (float).
- parray_like
Probability of success in a single event (float).
- outndarray, optional
Optional output array for the function results
- Returns:
- nscalar or ndarray
The number of successes n such that nbdtr(k, n, p) = y.
See also
Notes
Wrapper for the CDFLIB [1] Fortran routine cdfnbn.
Formula 26.5.26 of [2],
\[\sum_{j=k + 1}^\infty {{n + j - 1} \choose{j}} p^n (1 - p)^j = I_{1 - p}(k + 1, n),\]is used to reduce calculation of the cumulative distribution function to that of a regularized incomplete beta \(I\).
Computation of n involves a search for a value that produces the desired value of y. The search relies on the monotonicity of y with n.
References
[1]Barry Brown, James Lovato, and Kathy Russell, CDFLIB: Library of Fortran Routines for Cumulative Distribution Functions, Inverses, and Other Parameters.
[2]Milton Abramowitz and Irene A. Stegun, eds. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. New York: Dover, 1972.
Examples
Compute the negative binomial cumulative distribution function for an exemplary parameter set.
>>> from scipy.special import nbdtr, nbdtrin >>> k, n, p = 5, 2, 0.5 >>> cdf_value = nbdtr(k, n, p) >>> cdf_value 0.9375
Verify that
nbdtrin
recovers the original value for n up to floating point accuracy.>>> nbdtrin(k, cdf_value, p) 1.999999999998137