Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Noncentral Beta Distribution

Boost , Math Toolkit 2.5.0 , Distributions

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
#include <boost/math/distributions/non_central_beta.hpp>
namespace boost{ namespace math{
template <class RealType = double,
          class Policy   = policies::policy<> >
class non_central_beta_distribution;
typedef non_central_beta_distribution<> non_central_beta;
template <class RealType, class Policy>
class non_central_beta_distribution
{
public:
   typedef RealType  value_type;
   typedef Policy    policy_type;
   // Constructor:
   non_central_beta_distribution(RealType alpha, RealType beta, RealType lambda);
   // Accessor to shape parameters:
   RealType alpha()const;
   RealType beta()const;
   // Accessor to non-centrality parameter lambda:
   RealType non_centrality()const;
};
}} // namespaces

Нецентральное бета-распределение является обобщениембета-распределения..

Соотношение X = χм2(λ) / (χм2(λ) + χn2), где χm2(λ) является нецентральным χ2случайная величина смстепенями свободы и χn2является центральной χ2случайная величина сnстепенями свободы.

Это дает PDF, который может быть выражен как смесь Poisson бета-дистрибутива PDF:

где P(i;λ/2) - дискретная вероятностная вероятность Пуассона приi, со средним значением λ/2, а Ix'(α, β) - производная неполной бета-функции. Это приводит к обычной форме CDF:

Следующий график иллюстрирует, как меняется распределение для разных значений λ:

Member Functions
non_central_beta_distribution(RealType a, RealType b, RealType lambda);

Построение нецентрального бета-распределения с параметрами формыaиbи параметром нецентральностилямбда.

Требуется a >0, b >0 и lambda >= 0, иначе вызываетdomain_error.

RealType alpha()const;

Возвращает параметрa, из которого был построен этот объект.

RealType beta()const;

Возвращает параметрa, из которого был построен этот объект.

RealType non_centrality()const;

Возвращает параметрлямбда, из которого был построен этот объект.

Non-member Accessors

Поддерживаются большинство изобычных функций доступа, не являющихся членами:Кумулятивная функция распределения,Функция плотности вероятности,Количественное,среднее,дисперсия,стандартное отклонение,медианное,режим,Функция опасности,Кумулятивная функция опасности,диапазониподдержка.

Средние значения и дисперсия реализуются с использованием гипергеометрических функций pfq и отношений, приведенных вWolfram Noncentral Beta Distribution.

Однако в настоящее время не реализовано следующее:перекос,куртозикуртоз_избыток.

Домен случайной переменной [0, 1].

Accuracy

В следующей таблице показаны пиковые ошибки (в единицахэпсилон), обнаруженные на различных платформах с различными типами плавающих точек. Неудачи в сравнении сR Математической библиотекой, по-видимому, происходят в основном в угловых случаях, когда вероятность была бы очень мала. Если не указано иное, любой тип с плавающей точкой, который является более узким, чем показанный, будет иметьфактически нулевую ошибку.

Table 5.4. Error rates for non central beta CDF

Microsoft Visual C++ версия 12.0
Win32
двойная

GNU C++ версия 5.1.0
Linux
double

GNU C++ версия 5.1.0
Linux
длинный двойной

Солнечный компилятор версии 0x5130
Солнечный солярис

Нецентральная бета, средние параметры

Макс = 240ε (Средний = 31ε)

Макс = 0,998ε (Средний = 0,0659ε)
Rmath 3.0.2:Макс = 1,46e+26ε (Средний = 3,5e+24ε)И другие сбои.

Макс = 825ε (Средний = 27,4ε)

Макс = 832ε (Средний = 38.1ε)

Нецентральная бета, большие параметры

Макс = 3.41e+003ε (Средний = 475ε)

Max = 1.18ε (Mean = 0,175ε)
Rmath 3.0.2:Max = 1,01e+36ε (Mean = 1,19e+35ε)И другие сбои.

Макс = 2.5e+04ε (Средний = 3.78e+03ε)

Макс = 2.57e+04ε (Средний = 4.43e+03ε)


Table 5.5. Error rates for non central beta CDF complement

Microsoft Visual C++ версия 12.0
Win32
двойная

GNU C++ версия 5.1.0
Linux
double

GNU C++ версия 5.1.0
Linux
длинный двойной

Солнечный компилятор версии 0x5130
Солнечный солярис

Нецентральная бета, средние параметры

Макс = 619ε (Средний = 62,7ε)

Макс = 0.998ε (Средний = 0,0957ε)

Rmath 3.0.2:Макс = 7,5e+97ε (Средний = 1.37e+96ε)И другие сбои.

Макс = 396ε (Средний = 50,7ε)

Макс = 554ε (Средний = 57.3ε)

Нецентральная бета, большие параметры

Макс = 8,67e+003ε (Средний = 1,04e+003ε)

Макс = 0,986ε (Средний = 0,188ε)

Rmath 3.0.2:Макс = +INFε (Средний = +INFε)И другие неудачи.

Макс = 6,83e+03ε (Средний = 993ε)

Макс = 3.56e+03ε (Средний = 704ε)


Показатели ошибок для PDF, дополнения CDF и функций квантиле в целом схожи.

Tests

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

Implementation

ЦДФ и его дополнение оцениваются следующим образом:

Во-первых, мы определяем, какое из двух значений (CDF или его дополнение), вероятно, будет меньшим, точка кроссовера считается средним значением распределения: для этого мы используем приближение из-за: R. Chattamvelli и R. Shanmugam, «Алгоритм AS 310: вычисление нецентральной функции распределения бета», Прикладная статистика, том 46, No 1 (1997), стр. 146-156.

Затем либо CDF, либо его дополнение вычисляется с использованием отношений:

Сводка выполняется, начиная с i = & #955;/2, а затем повторяется в обоих направлениях, используя обычные отношения повторения для Poisson PDF и неполных бета-функций. Это «Метод 2», описанный:

Денис Бентон и К. Кришнамурти, «Вычисление дискретных смесей непрерывных распределений: нецентрального полукруга, нецентрального t и распределения квадрата многокорреляционного коэффициента выборки», Вычислительная статистика & Анализ данных 43 (2003) 249-267.

Конкретные применения вышеуказанных формул к нецентральному бета-распределению можно найти в:

Russell V. Lenth, "Algorithm AS 226: Computing Noncentral Beta Probabilities", Applied Statistics, Vol. 36, No. 2 (1987), pp.

Х. Фрик, "Algorithm AS R84: A Remark on Algorithm AS 226: Computing Non-Central Beta Probabilities", Applied Statistics, Vol. 39, No. 2 (1990), pp.

Ming Long Lam, "Remark AS R95: A Remark on Algorithm AS 226: Computing Non-Central Beta Probabilities", Applied Statistics, Vol. 44, No. 4 (1995), pp.

Harry O. Posten, "An Effective Algorithm for the Noncentral Beta Distribution Function", The American Statistician, Vol. 47, No. 2. (May, 1993), pp.

R. Chattamvelli, "A Note on the Noncentral Beta Distribution Function", The American Statistician, Vol. 49, No. 2. (May, 1995), pp.

Из них ссылка на Posten предоставляет наиболее полный обзор и включает в себя начальную итерацию модификации по адресу λ/2.

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

PDF вычисляется с использованием методологии Бентона и Кришнамурти и соотношения:

Квантили вычисляются с помощью специально модифицированной версиискобки и решают, начиная поиск корня по среднему значению распределения. (Расширение типа Корниш-Фишер также было опробовано, но, хотя во многих случаях это довольно близко к корню, когда это неправильно, оно имеет тенденцию вводить довольно патологическое поведение: вероятно, требуется больше исследований в этой области).


PrevUpHomeNext

Статья Noncentral Beta Distribution раздела Math Toolkit 2.5.0 Distributions может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Distributions ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:18:36/0.0085279941558838/0