Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Алгоритмы / Математика / Математическая статистика (теория вероятности) /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Гамма-распределение - Программирование от RIN.RU
Гамма-распределение


Обозначение
Область значений
ПараметрыПараметр формы a > 0
Плотность

, где - (полная) гамма-функция от параметра a.

Функция распределенияНе выражается в элементарных функциях



Полезные свойства


Если ~, i=1,2, то ~.


Если ~, i=1,2, то ~.


Генерация случайных чисел


Если 0 < a <1, возьмем три независимых случайных числа r1, r2, r3, равномерно распределенных на отрезке [0,1]. Положим , . Если s1+s2>1, то возьмем вместо r1, r2 другую пару таких же случайных чисел. Так будем поступать до тех пор, пока не получим . В этом случае зададим y, x1 и x2 следующими соотношениями:
y=s1/(s1+s2), x1 = -y ln(r3), x2 = -(1-y) ln(r3).


Случайные числа x1 и x2 независимы и распределены как и соответственно.


Для значений параметра, больших единицы, можно дополнить этот метод, воспользовавшись свойством аддитивности.


Вычисление функции распределения и ее квантилей


Легко получить степенные ряды, позволяющие вычислять гамма-распределение (cм. Абрамовиц, Стиган [6.5.29]):


,
.


Как обычно, второй ряд - из-за положительности членов - ведет себя с вычислительной точки зрения лучше первого. Но с ростом x скорость сходимости степенного ряда довольно быстро падает. Зато с ростом x растет скорость сходимости цепной дроби (cм. Абрамовиц, Стиган [6.5.31]):





И снова подпоследовательность ее четных подходящих дробей монотонно сходится к нужному значению.


Численные эксперименты показывают, что для x, меньших a, лучше использовать степенной ряд, а для больших - цепную дробь. Оказывается, когда x примерно равняется a, требуется просуммировать около членов ряда, причем с уменьшением x число требуемых членов ряда быстро убывает. Аналогично ведет себя цепная дробь при .


В большинстве статистических пакетов (в частности, в широко распространенных в России пакетах Statistica и SPSS) функция гамма-распределения зависит от двух параметров, которые принято называть форма (shape) и масштаб (scale). Пусть a - параметр формы, b - параметр масштаба; для функции гамма-распределения будем использовать обозначение . Формула для плотности выглядит в этом случае следующим образом:





Внимание: иногда в качестве параметра формы используется .


В приведенных ниже кодах предлагается именно этот вариант, ставший де-факто стандартом в прикладной статистике. По умолчанию параметр масштаба равен 1, этот случай соответствует рассмотренному в "основном" тексте. Приводимые коды следует, естественно, рассматривать лишь как иллюстрацию, хотя и работоспособную во всех статистических задачах, с которым я сталкивался.


Для работы с этими кодами необходимо уметь вычислять гамма-функцию (см. Приложение А и файлы loggamma.h и loggamma.cpp).


Вперед  >>>
 1  2 


 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь