Normal tail probability bounds

Here are some notes on upper and lower bounds on the probability P(Z > t) for a standard normal random variable Z. I wrote up these notes to settle a issue that came up in a probability class I’m teaching. It’s surprising that there are simple functions that provide efficient bounds on the normal distribution function.

3 thoughts on “Normal tail probability bounds

  1. Hi John,

    Do you know of any “best” approximations to the standard normal cdf (or survival function) over a given interval e.g. (1, 4) or, more generally, (a, b)? The approximation may be dreadful outside the interval but better within the interval (hopefully) than the bounds you give and the bounds in Abramowitz and Stegun that you quote. The only paper I could find that looked related to my question (Walsh and Motzkin (1959)) looks like a lot to digest!


  2. When you’re only interested in an approximation over a relatively short interval, the most common approach is to use a ratio of polynomials. Once you decide how many terms you’re willing to use, you solve for the coefficients that spread the error out over the interval. (You don’t want an excellent approximation at one end and a bad approximation at the other, as Taylor series will do. You can get a lower maximum error with the same number of coefficients by spreading the error around.)

    You’re not going to find a specific approximation in the literature, but only an algorithm for constructing an approximation since the coefficients depend on your interval. The approximation over [1, 4] may have entirely different coefficients from the approximation over say [2, 5].

    I believe there is a function in Mathematica for constructing rational approximations, but I forget its name. If I recall correctly, Padé approximations give good rational approximations but they’re not optimal. They may be close enough to optimal for application.

  3. Thanks John!

    I use Mathematica all the time so I’m glad you pointed me in that direction. The function RationalInterpolation[] in the FunctionApproximations package solves and gives the polynomial ratios you describe.

Comments are closed.