Моделирование гамма-распределения
Гамма-распределение широко применяется в экономике и менеджменте, теории и практике надежности и испытаний, в различных областях техники, метеорологии и т.д. В частности, гамма-распределению подчинены во многих ситуациях такие величины, как общий срок службы изделия, время достижения изделием предельного состояния при коррозии, время наработки до к-то отказа, к - 1,2,... и т.д. Данное распределение подходит для описания спроса в экономико-математических моделях управления запасами (логистики).
Функция плотности гамма-распределения задается выражением
где а > 0, (3 > 0 — параметры распределения; T(Z) — гамма-функция:
В частном случае для целого Z
Для гамма-распределения матожидание и дисперсия определяются в соответствии с выражениями
Графики функции плотности вероятностей для различных значений параметров а и Р показаны на рис. 4.10. Следует отметить, что в случае значения параметра а = 1, гамма распределение совпадает с ранее рассмотренным экспоненциальным распределением с параметром р.

Рис. 4.10. Функция плотности гамма-распределения
Формула для моделирования случайных чисел с гамма-распределением с целочисленным параметром ос = п > 1 и параметром (3 = 1 имеет вид
Для того чтобы получить случайную величину с гамма-распределением с целочисленным параметром а и (3 ^ 1, достаточно умножить (4.18) на (3.
Пример. Составить программу моделирования случайных величин, отвечающих гамма-распределению с параметрами а = п, [3 = 1. Решение. Программа на языке C# имеет вид:
static void Main(string[] args)
{
Console.Write("Параметр распределения lambda: "); int lambda = int.Parse(Console.ReadLine());
Console.Write("Количество случайных величин n: "); int m = int.Parse(Console.ReadLine());
Random random = new Random();
double p, r, x;
for (int i = 0; i < n; i++)
{
P = l;
for (int k = 0; k < lambda; k++)
{
r = random.NextDouble(); p *= r;
}
x = -Math.Log(p);
Console.WriteLine("x[{0}] = {l:f3}", i + 1, x);
}
Console.WriteLine("Моделирование завершено");
Console.ReadLine();
}