The normal distribution is the most well-known and most widely used statistical distribution and can be applied to
a wide range of phenomena. Some statistical tests require that the data follow a normal distribution.
The normal distribution has two parameters usually denoted by the Greek letters μ and σ. μ is the
mean of the distribution and acts as the location parameter. σ is the standard deviation of the distribution and
acts as the scale parameter. The probability density function is:
The normal distribution is also known as the Gaussian distribution.
The normal distribution is implemented by the NormalDistribution class. It has two constructors. The
first constructor takes two parameters. The first parameter is the mean, which acts as the location parameter. The
second parameter is the standard deviation and acts as the scale parameter.
The following constructs the normal distribution with mean 6.8 and standard deviation 4.1:
NormalDistribution normal = new NormalDistribution(6.8, 4.1);
|Visual Basic ||Copy|
Dim normal As NormalDistribution = New NormalDistribution(6.8, 4.1)
If a variable is assumed to have a normal distribution, then the parameters of the distribution can be estimated
using the method of maximum likelihood or the method of matching moments. Both methods produce the same results. The
second constructor performs this calculation. It takes one parameter: a NumericalVariable whose distribution is to be estimated.
Note that parameter estimation says nothing about how well the estimated distribution fits the variable's
distribution. Use one of the goodness-of-fit tests to verify the appropriateness of the choice of distribution.
NormalDistribution class has one specific property: the StandardDeviation property returns a
NormalDistribution object that represents the standard normal distribution with mean 0 and standard
deviation 1. The location and scale parameters are given by the Mean and StandardDeviation properties.
NormalDistribution has one static (Shared in Visual Basic) method, Sample()()()(), which
generates a random variate using a user-supplied uniform random number generator. The second and third parameters are
the location and scale parameters of the distribution.
MersenneTwister random = new MersenneTwister();
double variate = NormalDistribution.GetRandomVariate(random, 6.8, 4.1);
|Visual Basic ||Copy|
Dim random As MersenneTwister = New MersenneTwister()
Dim variate As Double = NormalDistribution.GetRandomVariate(random, 6.8, 4.1)
The above example uses the MersenneTwister to
generate uniform random numbers.
For details of the properties and methods common to all continuous distribution classes, see the topic on