Why Use an Inverse-Normal Function?
A normal-probability question often gives a cutoff and asks for the probability below it. A quantile question reverses that direction: it gives a cumulative probability and asks for the cutoff that has that probability below it. Tables can answer many such questions, but software can return quantiles at probabilities that are not listed in a table and can calculate cutoffs for normal models with different means and standard deviations.
The key is to tell the software which probability is being specified. Most common inverse-normal functions take a left-tail cumulative probability: the probability that the variable is less than or equal to the requested cutoff. A question asking for a right-tail probability therefore needs either a function that explicitly accepts an upper-tail probability or a conversion to the equivalent left-tail probability.
Definition and Model
Suppose a continuous measurement \(X\) follows a normal model with mean \(\mu\) and standard deviation \(\sigma>0\), written \(X\sim N(\mu,\sigma^2)\). Its cumulative distribution function is \(F_X(x)=P(X\leq x)\). For a specified probability \(p\) strictly between 0 and 1, the \(p\)-quantile is the value \(x_p\) for which \(P(X\leq x_p)=p\). Because the normal distribution is continuous and strictly increasing, this value is unique.
The standard normal quantile \(z_p\) can be converted to a cutoff for \(X\) by reversing the standardization formula. The result is \(x_p=\mu+\sigma z_p\). The input \(p\) is a probability to the left, not a percentage written on a 0-to-100 scale: for example, the 90th percentile corresponds to \(p=0.90\).
Here \(\Phi^{-1}\) is the inverse of the standard normal cumulative distribution function \(\Phi\). Software does not change the model or the meaning of a quantile; it calculates the cutoff numerically. A result is appropriate only if the normal model and the stated values of \(\mu\) and \(\sigma\) are appropriate for the question. In the examples below, the models and parameters are hypothetical and are treated as specified.
Using Software Functions
Function names vary by software, but the input convention must always be checked. R uses qnorm(p) for a standard normal quantile and qnorm(p, mean=mu, sd=sigma) for a normal quantile on the original scale. Its lower.tail argument is TRUE by default; setting lower.tail=FALSE makes the probability argument a right-tail area. Excel uses NORM.S.INV(p) for a standard normal quantile and NORM.INV(p, mean, standard_deviation) for a normal quantile on the original scale; these functions use left-tail cumulative probability. In Python’s SciPy library, scipy.stats.norm.ppf(p) gives a standard normal quantile, and scipy.stats.norm.ppf(p, loc=mu, scale=sigma) gives an original-scale quantile. The related isf function takes a right-tail probability.
For each question, identify the event first, then identify what probability the function expects. If the question asks for a cutoff with a specified probability above it, that is an upper-tail probability. For functions that expect a left-tail probability, use the complement: an upper-tail area \(q\) corresponds to lower-tail probability \(1-q\). Do not enter \(q\) as though it were a left-tail probability.
Worked Example: Finding a Standard-Normal 97.5th Percentile
Find the standard-normal cutoff with 97.5% of the distribution below it. The model is \(Z\sim N(0,1)\), and the requested event is \(P(Z\leq z)=0.975\). Since the probability is explicitly below the cutoff, enter 0.975 as a left-tail probability.
In R, use qnorm(0.975). In Excel, use NORM.S.INV(0.975). In Python’s SciPy, use scipy.stats.norm.ppf(0.975). Each gives approximately \(z=1.960\).
The result means that approximately 97.5% of standard-normal values are at or below 1.960, and approximately 2.5% are above it. The cutoff is in standard-normal units, so it is a z-score rather than a measurement in some other unit.
Right-Tail Probabilities and Central Cutoffs
A right-tail request may be phrased as “find the value exceeded by 5% of observations.” In symbols, it asks for \(P(X>x)=0.05\). Since the normal distribution is continuous, \(P(X>x)=1-P(X\leq x)\). Thus the desired cutoff has left-tail probability \(1-0.05=0.95\). Use that complement with a left-tail inverse function, or use a software option designed for upper-tail probabilities.
A central interval is also found using quantiles. To leave a total proportion \(\alpha\) outside a central interval, place half in each tail. Its endpoints have cumulative probabilities \(\alpha/2\) and \(1-\alpha/2\). For example, a central 90% interval leaves 5% below its lower endpoint and 5% above its upper endpoint; the cumulative probabilities for the two cutoffs are 0.05 and 0.95.
Worked Example: Finding a Cutoff With 5% Above It
A hypothetical standardized measurement follows \(Z\sim N(0,1)\). Find the cutoff that is exceeded by 5% of values. The requested condition is \(P(Z>z)=0.05\), so the left-tail probability is \(1-0.05=0.95\).
Using a left-tail function, calculate qnorm(0.95) in R, NORM.S.INV(0.95) in Excel, or scipy.stats.norm.ppf(0.95) in Python’s SciPy. The result is approximately \(z=1.645\). Alternatively, R can calculate qnorm(0.05, lower.tail=FALSE), and SciPy can calculate scipy.stats.norm.isf(0.05); these functions take the upper-tail area directly.
The cutoff is about 1.645 standard-normal units. Approximately 5% of values lie above it and 95% lie below it. The positive sign is consistent with a cutoff near the upper end of a symmetric standard-normal distribution.
Worked Example: Converting a Quantile to Original Units
Suppose a hypothetical measurement \(X\), recorded in millimetres, follows \(X\sim N(120,15^2)\). Find the 10th percentile. This model specifies \(\mu=120\) millimetres and \(\sigma=15\) millimetres; the requested probability is \(P(X\leq x_{0.10})=0.10\).
First obtain the standard-normal quantile: qnorm(0.10) in R, NORM.S.INV(0.10) in Excel, or scipy.stats.norm.ppf(0.10) in Python’s SciPy gives \(z_{0.10}\approx -1.2816\). Then convert it to the original scale:
Under this specified model, approximately 10% of measurements are at or below 100.8 millimetres, and approximately 90% are above it. This is a model-based cutoff, not a claim that a particular observed sample must have exactly 10% of its measurements below that value.
Worked Example: Finding the Endpoints of a Central 90% Range
Suppose a hypothetical duration \(X\), measured in minutes, follows \(X\sim N(50,8^2)\). Find the cutoffs enclosing the central 90% of the model. A central 90% range leaves 10% in total outside it, divided equally between the two tails. The cumulative probabilities for its endpoints are therefore 0.05 and 0.95.
The standard-normal quantiles are approximately \(z_{0.05}=-1.6449\) and \(z_{0.95}=1.6449\). Convert each to minutes:
The central 90% of the specified normal model lies approximately between 36.84 and 63.16 minutes. This interval is symmetric around the model mean of 50 minutes because the normal distribution is symmetric and the tail areas are equal.
Why the Tail Convention Matters
The most consequential decision in an inverse-normal calculation is matching the question to the function’s probability convention. “The 5th percentile” means 5% below the cutoff, so its left-tail input is 0.05. “The value with 5% above it” means 95% below it, so a left-tail function needs 0.95. The numerical results have opposite signs in a standard normal model: \(z_{0.05}\approx-1.645\), whereas \(z_{0.95}\approx1.645\).
A related mistake is to treat the percentile label as the value to enter without converting it to a proportion. The 90th percentile requires probability 0.90, not 90. In software, probabilities must be between 0 and 1. For a normal distribution, probabilities 0 and 1 correspond to unbounded endpoint quantiles, not finite cutoffs; ordinary inverse-normal calculations therefore use probabilities strictly between 0 and 1.
A Short Justification of the Conversion
The formula for an original-scale quantile follows directly from standardization. Under the model \(X\sim N(\mu,\sigma^2)\), the standardized variable \(Z=(X-\mu)/\sigma\) follows the standard normal distribution. For any \(x\), because \(\sigma>0\), the event \(X\leq x\) is equivalent to \(Z\leq (x-\mu)/\sigma\). Therefore:
To find \(x_p\), set this cumulative probability equal to \(p\). Applying the inverse standard-normal cumulative distribution gives \((x_p-\mu)/\sigma=\Phi^{-1}(p)=z_p\). Multiplying by \(\sigma\) and adding \(\mu\) yields \(x_p=\mu+\sigma z_p\). The positive standard deviation preserves the direction of the inequality during standardization, and the resulting cutoff has the same units as \(X\).
Check Your Understanding
For each question, decide what probability the software function should receive before calculating.
- What left-tail probability should be entered to find the standard-normal cutoff with 12% above it?
- A software result for qnorm(0.25) is negative. What cumulative probability does the returned cutoff represent?
- For \(X\sim N(30,4^2)\), how would you calculate the 75th percentile in original units?
- What two cumulative probabilities define the endpoints of a central 98% normal range?
- Explain why entering 5 rather than 0.05 is not the correct input for the 5th percentile in a function that expects a probability.