Uniform distribution | Vose Software

Uniform distribution

Format: Uniform(min, max)


A Uniform distribution assigns equal probability to all values between its minimum and maximum. Examples of the Uniform distribution are given below:


1. Rough estimate

The Uniform distribution is used as a very approximate model where there are very few or no available data. It is rarely a good reflection of the perceived uncertainty of a parameter since all values within the allowed range have the same constant probability density, but that density abruptly changes to zero at the minimum and maximum. However, it is sometimes useful for bringing attention to the fact that a parameter is very poorly known.

2. Crude sensitivity analysis

Sometimes we want to get a rough feel for whether it is important to assign uncertainty to a parameter. You could give the parameter a Uniform distribution with reasonably wide bounds, run a crude sensitivity analysis, and see whether the parameter registered as having influence on the output uncertainty: if not, it may as well be left crudely estimated. The Uniform distribution assigns the most (reasonable) uncertainty to the parameter, so if the output is insensitive to the parameter with a Uniform, it will be even more insensitive for another distribution.

3. Rare Uniform variable

There are some special circumstances where a Uniform distribution may be appropriate, for example a VoseUniform(0, 360) distribution for the angular resting position of a camshaft after spinning; or a VoseUniform(0, L/2) for the distance from a random leak in a pipeline of segments of length L to its nearest segment end (where you'd break the pipeline to get access inside).

4. Plotting a function

Sometimes you might have a complicated function you wish to plot for different values of an input parameter, or parameters. For a one parameter function (like y=GAMMALN(ABS(SIN(x)/((x-1)^0.2+COS(LN(3*x))))) for example), you can make two arrays: the first with the x-values (say between 1 and 1000), the second the correspondingly calculated y-values. Alternatively, you could write one cell for x: =VoseUniform(1,1000) and another for y using the generated x-value, name both as outputs, run a simulation, and export the generated values into a spreadsheet. Perhaps not worth the effort for one parameter, but when you have two or three it is. Graphic software like S-PLUS will draw surface contours for {x,y,z} data arrays.

5. Uninformed prior

A Uniform distribution is often used as an uninformed prior in Bayesian inference.


The unit Uniform distribution, i.e. Uniform(0,1), is used in the generation of nearly all other distribution types.

Fitting a Uniform distribution to data is problematic and not recommended. ModelRisk does not provide the ability to fit a Uniform distribution to data, because it uses maximum likelihood methods for all distribution fitting. In the case of the Uniform distribution, this would make the estimated parameters for the Uniform equal to the minimum and maximum observed values, which is a counterintuitive result (why would it not be possible to have values outside of the range of observations?). If you wish to fit a uniform distribution to your data, the most pragmatic approach, based on order statistics, is to use the following:

Let n be the number of observed values, L and H be the lowest and highest values observed, then the fitted distribution is equal to:

ModelRisk functions added to Microsoft Excel for the Uniform distribution

VoseUniform generates random values from this distribution for Monte Carlo simulation, or calculates a percentile if used with a U parameter.

VoseUniformObject constructs a distribution object for this distribution. .

VoseUniformProb returns the probability density or cumulative distribution function for this distribution. .

VoseUniformProb10 returns the log10 of the probability density or cumulative distribution function.


Uniform distribution equations