Brighton Webs Ltd
statistics for energy and the environment



Rayleigh Distribution

The distribution takes its name from the English scientist John Strutt, 3rd Baron Rayleigh. Rayleigh used the distribution during his work on sound and the propogation of waves (source needed). One of its application is as a model for wind speed under certain circumstances. Rayleigh's work on the scattering of light by particles much smaller than the radiation's wavelength is also applied to models of solar irradiance.

Wind Turbine

The range is determined by the scale parameter and the skewness and kurtosis are constants.  It is equivalent to a Weibull distribution with these parameters:

Scale weibull √2* ScaleRayleigh
Shape weibull 2


Rayleigh Distribution - Probability Density Functions


Parameter Description Characteristics
scale Modal value A float with a value greate than zero


The range of values of a random variable with a Rayleigh distribution is from zero to +ve infinity.


As the scale factor is also the mode, the equations can also be written in terms of the mode.

Rayleigh Distribution - Functions


Rayleigh Distribution - Properties


The Rayleigh distribution is used as a model for daily average wind speed.  The model describes the distribution of wind speed over the period of a year.  The two graphics below show the distribution of daily average wind speed, one onshore and the other at an exposed offshore location, in both cases the quality of the fit is good.  This type of analysis can be used for estimating the energy recovery from a wind turbine.

Rayleigh Distrubiton - Examples

The following pages use the Rayleigh distribution in a sample calculation to estimate energy recovery from the wind:

During the curve fitting for this example, an number of points emerged.  First, the quality of the fit was dependent on the range of wind speed at a given location.  The quality of the fit was  lower for locations where the range was from say, 5 knots to 35 knots as would be expected in an offshore location, than where it was from zero to 25 knots, as in the onshore example above.  The effect of this was that the model would underestimate the energy available to a wind turbine.  This is apparent in the offshore example, where the model overestimates the number of calm days and under estimates the number of days with typical operating conditions.

Where the Rayleigh distribution is a poor model for a given location, it may be appropriate to fit the data to a Weibull distribution.  This is effectively changing the shape factor from an independent variable to a dependent one (the Rayleigh distribution is a Weibull one with the shape factor set to two).

The height of the observations is also important.  The standard height for meteorological observations is 10m, whilst wind turbines are often mounted on towers which are 30 - 80 metres high to gain advantage of reduced friction with the earth's surface.

Finally, the best fit (i.e. lowest chi squared score) was derived using the matching moment equation for the scale factor (the mode), suggesting that the average is a reasonable estimator of the modal value.

Whilst the distribution of wind speed over a year is useful for determining the total energy available, it may also be necessary to take account of the variation over the year.  The graphic below is a box and whisker plot showing the monthly variation for the Offshore Nantucket example.

Rayleigh Distribution - Time Series

Parameter Estimation - Matching Moments

The matching moment equation for the scale factor is derived by rearranging the equation for the mean:

Rayleigh Distribution - Scale Factor

An attractive feature of the Rayleigh distribution is that the mode can be estimated from the mean.

Random Number Generation

Random number generation (referred to as r) for a Rayleigh distribution can be performed by transforming a continuous uniform variable in the range (0,1) i.e. greater than zero and less than one (referred to as u) with the distribution's inverse probability function:


Using Basic style code, the function would be similar to:

r = sqr(-2 * scale  * scale * log(u))