Statistical & Clinical Analysis
Normal Q-Q & Probability Plot Formula: Blom Plotting Position & Theoretical Z-Quantile
Build a Normal Q-Q (Quantile-Quantile) and Normal Probability Plot table from sorted sample data: compute Blom’s unbiased plotting position p_r = (r - 0.375) / (n + 0.25) and Tukey’s closed-form standard normal quantile z_r.
Why naive r / n plotting positions blow up at r = n — and how Blom + Tukey Lambda solve Q-Q plots universally!
To test whether sample observations X_(1) <= X_(2) <= ... <= X_(n) follow a Gaussian distribution on a Normal Q-Q Plot (or Normal Probability Plot), never set cumulative probability to r / n: at the largest observation r = n, r / n = 1.000, where the inverse normal quantile is +infinity! Instead, Gunnar Blom’s (1958) nearly unbiased normal order-statistic position p_r = (r - 0.375) / (n + 0.25) keeps both tails finite and symmetric around p = 0.50 at the median!
To convert p_r into a Theoretical Standard Normal Z-Score z_r across every spreadsheet engine (even lightweight web engines without NORM.S.INV!), John Tukey’s (1960) symmetric Generalized Lambda approximation z_r = 4.91 * (p_r^0.14 - (1 - p_r)^0.14) matches exact inverse Gaussian quantiles to within ~0.001–0.003 across 0.005 <= p <= 0.995 (and equals 0.0000 identically at p = 0.50!). Plotting Sample X_(r) against Theoretical z_r yields a straight line with slope ~ s and intercept ~ X_bar whenever normality holds!
| Sorted Rank r (n = 5) | Sample Value X_(r) | Blom Position p_r = (r - 0.375) / 5.25 | Tukey Normal Quantile z_r | Exact Gaussian z (Comparison) |
|---|---|---|---|---|
| r = 1 (Minimum) | 12.4 | 0.1190 | -1.1788 | -1.1798 |
| r = 2 | 15.1 | 0.3095 | -0.4963 | -0.4972 |
| r = 3 (Median) | 16.0 | 0.5000 | 0.0000 | 0.0000 |
| r = 4 | 17.2 | 0.6905 | +0.4963 | +0.4972 |
| r = 5 (Maximum) | 19.8 | 0.8810 | +1.1788 | +1.1798 |
Blom (1958) Normal Order-Statistic Plotting Position p_r
Computes (r - 0.375) / (COUNT($B$2:$B$6) + 0.25) for rank r in A6 across sample B2:B6.
=IF(OR(A6 < 1, A6 > COUNT(B2:B6)), "Rank Out of Sample Bounds", ROUND((A6 - 0.375) / (COUNT(B2:B6) + 0.25), 4))Universal Closed-Form Theoretical Z-Quantile z_r (Tukey Lambda Formula)
Evaluates 4.91 * (p_r^0.14 - (1 - p_r)^0.14) using pure arithmetic exponentiation so Q-Q scatter plots work identically with or without NORM.S.INV.
=IF(OR(A6 < 1, A6 > COUNT(B2:B6)), "Rank Out of Sample Bounds", ROUND(4.91 * (((A6 - 0.375) / (COUNT(B2:B6) + 0.25)) ^ 0.14 - (1 - (A6 - 0.375) / (COUNT(B2:B6) + 0.25)) ^ 0.14), 4))Try the example
Use the original values or change them to test your understanding.