# Supported Distributions

Distributions are vital in making a computer model more accurately represent a real-world system. Innoslate natively supports eight continuous distributions (Beta, Exponential, Gamma, Log-Normal, Normal, Triangular, Uniform, and Weibull) and two discrete distributions (Binomial and Poisson). Any of these distributions can be used in place of a simple value in any attribute of an entity or relationship which is of the type Number in your project’s database schema.

During a simulation run, Innoslate will use the distribution on an attribute to generate a random number for that attribute which falls within the bounds of the distribution. For example, when using a Uniform distribution where a = 15 and b = 20, the simulator could return a value of 16.835 in the first simulation run and a value of 19.015 in the second simulation run.

More information on each of the supported distributions including parameters and common uses can be found below:

## Continuous Distributions

Each distribution has a plot of the distribution with multiple parameter options shown. The plot has an x value along the horizontal axis and the associated Probability Density Function (PDF) along the vertical axis. A higher PDF implies there will be a larger concentration of random numbers which fall within a given x range. Information on calculating the probability of a random number to fall within a given range can be found at: http://en.wikipedia.org/wiki/Probability_density_function

During simulation Innoslate will return a random real value, x, such that a set of the values when plotted as a histogram will produce a shape nearing the shape of the distribution.

### Beta Distribution

The Beta distribution is useful for generating a continuous random distribution between the fix bounds of 0 and 1. The Beta distribution is best for predicting probabilities, calculating failure rates, or time allocation. More more information, see http://en.wikipedia.org/wiki/Beta_distribution. Parameters: α (alpha): α > 0 shape (real) β (beta): β > 0 shape (real)
Returns: x: 0 ≤ x ≤ 1 (real)

### Exponential Distribution

The Exponential distribution describes the time intervals between a Poisson process. The return value, x, returns the next random interval between Poisson events. The Exponential distribution is best for describing time between customer arrivals, service times, or time until next particle decay. For more information, see http://en.wikipedia.org/wiki/Exponential_distribution. Parameters: λ (lambda): λ > 0 rate (real)
Returns: x: x ≥ 0 (real)

### Gamma Distribution

The Gamma distribution has many different uses including modeling the time required for k events to occur in a Poisson process, modeling waiting times, or resource consumption. For more information, see http://en.wikipedia.org/wiki/Gamma_distribution. Note the Gamma distribution has two common formats. Innoslate uses the format of Gamma(k, θ) where k is the shape and θ is the scale. The second format is Gamma(α, β) where α is the shape and β is the rate. This second format can be transformed into the first format using the following equations: k = α, θ = 1/β

Parameters: k: k > 0 shape (real) θ (theta): θ > 0 scale (real)
Returns: x: x > 0 (real)

### Log-Normal Distribution

The Log-Normal distribution generates a number equal to eN(μ, σ), where N(μ, σ) is a Normal distribution. The Log-normal distribution is best for describing volume of gas in a reserve, incubation periods, or system repair time. For more information, see http://en.wikipedia.org/wiki/Log-normal_distribution. Parameters: μ (mu): μ > 0 log scale (real) σ (sigma): σ > 0 shape (real)
Returns: x: x > 0 (real)

### Normal Distribution

The Normal distribution returns a value which will 95% of the time fall within 2 standard deviation (σ) of the mean (μ). This distribution is best for modeling natural processes, task completion time, or randomness of characteristics. For more information, see http://en.wikipedia.org/wiki/Normal_distribution. Parameters: μ (mu): −∞ < μ < ∞ location (real) σ (sigma): σ > 0 scale (real)
Returns: x: −∞ < x < ∞ (real)

### Triangular Distribution

The Triangular distribution is best used when a minimum, maximum, and most likely outcome are known; providing basic randomness; or early estimation of task completion time. For more information, see http://en.wikipedia.org/wiki/Triangular_distribution. Parameters: a: −∞ < a < ∞ bottom location (real) b: b > a top location (real) c: a ≤ c ≤ b point (real)
Returns: x: a ≤ x ≤ b (real)

### Uniform Distribution

The Uniform distribution is commonly used in risk analysis, to calculate an unknown wait time, or randomly choosing a selection in a set. For more information, see http://en.wikipedia.org/wiki/Uniform_distribution_(continuous). Parameters: a: −∞ < a < ∞ bottom location (real) b: b > a top location (real)
Returns: x: a ≤ x ≤ b (real)

### Weibull Distribution

The Weibull distribution is a very versatile distribution, with the ability to be right-skewed, left-skewed, or symmetric. Due to this ability the Weibull distribution is often used to model component reliability or characteristics, an increase or decrease in capability, or a system’s lifetime. For more information, see http://en.wikipedia.org/wiki/Weibull_distribution. Parameters: λ (lambda): λ > 0 scale (real) k: k > 0 shape (real)
Returns: x: x ≥ 0 (real)

## Discrete Distributions

Each distribution has a plot of the distribution with multiple parameter options shown. The plot has an k value along the horizontal axis and the associated Probability Mass Function (PMF) along the vertical axis. A higher PMF implies there will be a larger concentration of random numbers which fall on a specific value. Information on calculating the probability of a random number to fall within a given range can be found at: http://en.wikipedia.org/wiki/Probability_mass_function

During simulation Innoslate will return a random whole value, k, such that a set of the values when plotted as a bar graph will produce a shape nearing the shape of the distribution.

### Binomial Distribution

The Binomial distribution models the number of successes from n independent trials where there is the same probability p of success in each trial. The Binomial distribution is best for counting the number of part failures based on n attempts, number of failures generated from a repeated process, or number of success transmissions between wireless devices. For more information, see http://en.wikipedia.org/wiki/Binomial_distribution. Parameters: n: n > 0 number of trails (whole) p: 0 ≤ p ≤ 1 success probability (real)
Returns: k: 0 ≤ k ≤ n (whole)

### Poisson Distribution

The Poisson distribution models the number of events occurring over an interval of time, where λ is the mean number of events in that interval. Common uses of the Poisson distribution include counting the number of arrivals per day, ideal vehicle distance in traffic flow, or counting the amount of resource needed consumed. For more information, see http://en.wikipedia.org/wiki/Poisson_distribution. Parameters: λ (lambda): λ > 0 rate of occurrence (real)
Returns: k: k ≥ 0 (whole)