AI Glossary / Statistics and probability / Intermediate
Truncated normal distribution
Definition
A truncated normal distribution is the distribution of a normally distributed variable conditional on its value lying within specified bounds. The normal density inside the allowed interval is rescaled so its total probability becomes one, and values outside the interval have zero probability. Truncation can be one-sided or two-sided.
What it means
Suppose a latent measurement follows a normal distribution, but a dataset contains only measurements within an acceptance interval. The distribution among accepted measurements is different from the original unrestricted normal distribution.
Its center and spread can change, especially when the interval removes more of one side than the other. The original normal mean and standard deviation remain parameters of the underlying model; they are generally not the actual mean and standard deviation after truncation.
How it works
Start with X having normal mean mu and positive standard deviation sigma. Choose bounds L and U with L less than U. Define standardized bounds a = (L - mu)/sigma and b = (U - mu)/sigma.
The probability of falling in the permitted interval is Z = Phi(b) - Phi(a), where Phi is the standard normal cumulative distribution function. This normalizing constant must be positive.
Within the interval, the truncated density is phi((x - mu)/sigma)/(sigma Z), where phi is the standard normal density. Outside the interval, it is zero. Dividing by Z reallocates the retained probability to sum to one; simply erasing the tails without rescaling does not produce a normalized density.
For an interior point x, the cumulative probability is [Phi((x - mu)/sigma) - Phi(a)]/Z. This expression makes clear that probabilities are conditional on satisfying the bounds.
Distinguish truncation from censoring and clipping. With truncation, observations outside the interval are absent from the retained population or dataset. Censoring records partial information, such as a value being above a threshold. Clipping replaces out-of-range values with a boundary and can create point masses at that boundary.
Use the correct parameterization in software. SciPy's truncnorm accepts standardized shape bounds a and b along with loc and scale. Passing physical bounds directly as a and b with a nonstandard loc or scale can produce a different support from the intended one.
Choose a fitting method that accounts for selection. Treating a truncated sample as an ordinary unrestricted normal sample generally does not recover the underlying normal parameters. The likelihood includes the probability of entering the observed interval.
Check numerical stability and scientific fit. Extreme tail intervals can make direct subtraction of cumulative probabilities inaccurate, so established log-probability or specialized routines may be needed. A bounded measurement is not automatically well described by a truncated normal; shape, selection mechanism, and physical constraints still require examination.
Three practical examples
- A quality analyst models dimensions among parts retained by a specified acceptance screen.
- A simulator generates a bounded latent parameter from a chosen normal model conditional on acceptable values.
- A research team fits measurements collected only above an instrument's selection threshold, distinguishing omitted observations from censored records.
Think of it this way
Think of looking only at the people who entered a room through a height-restricted doorway. Their height distribution is the original distribution conditional on passing the restriction. It is not the same as changing everyone's height to fit the doorway.
Worked example
Consider an original hypothetical measurement X with underlying distribution normal with mean 10 and standard deviation 2. Retain only values between 10 and 14. The standardized bounds are a = (10 - 10)/2 = 0 and b = (14 - 10)/2 = 2.
The retained probability is Phi(2) - Phi(0), approximately 0.9772499 - 0.5 = 0.4772499. Among retained values, the probability of being at most 12 is [Phi(1) - Phi(0)]/0.4772499, approximately 0.3413447/0.4772499 = 0.7152328.
The conditional mean is 10 + 2[phi(0) - phi(2)]/0.4772499, approximately 11.44558. It is neither the underlying mean 10 nor the interval midpoint 12.
In SciPy's parameterization, these physical bounds correspond to a = 0, b = 2, loc = 10, and scale = 2. The calculation concerns an assumed normal selection model; it does not show that real acceptance-screened measurements follow that model.
Illustrative case study
Fictional case: Clearwater Components analyzes only parts that passed an automated size screen. A first report treats their average as the mean of all manufactured parts. An analyst identifies the selection rule and explains that rejected parts are missing from the observed distribution.
The team models the selection explicitly and seeks information about rejection counts and measurements. It also checks whether the pre-screen production distribution is plausibly normal rather than assuming that truncation alone explains its shape.
Common misconceptions and mistakes
Do not confuse standardized bounds with physical bounds. Do not assume loc and scale are the truncated distribution's mean and standard deviation. Clamping simulated values to an endpoint is not equivalent to sampling from a truncated distribution. A truncated distribution has no newly created boundary point masses in this continuous setting. Selection based on another variable may require a different model.
Business use
The distribution is useful for bounded simulation, selection-aware analysis, and quality-control modeling when the underlying normal assumption is credible. Document the original variable, interval, and selection process. Keep acceptance probabilities separate from probabilities within the accepted group, since they answer different operational questions.
People also ask
Can one bound be infinite?
Yes; this gives one-sided truncation.
Does truncation preserve normality?
The resulting bounded or half-bounded distribution is not an unrestricted normal distribution.
Is rejection sampling valid?
Drawing from the underlying normal and retaining permitted draws is valid, but can be inefficient for very rare intervals.
Check your understanding
In the example, what proportion of original draws is retained?
Answer: About 47.725%.
What proportion of retained draws is at most 12?
Answer: About 71.523%.
Why are these different?
Answer: One concerns entry into the selected group, and the other is conditional on already being in it.
Related terms
- Normal distribution
- Conditional distribution
- Censoring
- Selection bias
- Rejection sampling
- truncation
- probability density
Learn next
Derive the normalizing constant from the normal cumulative distribution. Compare truncation, censoring, and clipping using the same bounds and inspect how their likelihoods and boundary behavior differ.
More in Statistics and probability
- Trend-stationary process - A trend-stationary process is a time series that becomes stationary after removing a deterministic trend.
- Trimmed samples - Trimmed samples are samples from which a specified portion of the most extreme observations has been excluded for a particular analysis.
- Trimmed statistics - Trimmed statistics are numerical summaries calculated after excluding a specified portion of extreme observations.
- Tukey - Duckworth test - The Tukey-Duckworth test is a simple two-sample test that uses counts of nonoverlapping observations at opposite ends of the combined data.
- Tukey's B method - Tukey's B method is a multiple-comparison procedure for comparing group means that combines features of Tukey's honestly significant difference procedure...
- Tukey's HSD test - Tukey's HSD test, short for honestly significant difference, is a procedure for comparing every pair of group means while controlling the familywise...
Sources
SciPy, truncnorm distribution and standardized-bound parameterization: https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.truncnorm.html SciPy, Truncated Normal Distribution mathematical reference: https://docs.scipy.org/doc/scipy/tutorial/stats/continuous_truncnorm.html
Previous: Truncated Newton method Next: Truncated singular value decomposition