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

Noncentral T 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_t.hpp>
namespace boost{ namespace math{
template <class RealType = double,
          class Policy   = policies::policy<> >
class non_central_t_distribution;
typedef non_central_t_distribution<> non_central_t;
template <class RealType, class Policy>
class non_central_t_distribution
{
public:
   typedef RealType  value_type;
   typedef Policy    policy_type;
   // Constructor:
   non_central_t_distribution(RealType v, RealType delta);
   // Accessor to degrees_of_freedom parameter v:
   RealType degrees_of_freedom()const;
   // Accessor to non-centrality parameter delta:
   RealType non_centrality()const;
};
}} // namespaces

Нецентральное распределение T является обобщениемСтудентов t Распределение. Пусть X имеет нормальное распределение со средним δ и дисперсию 1, и пусть ν S2имеют ци-квадратное распределение со степенями свободы ν. Предположим, что X и S2являются независимыми. Распределение tν(δ)=X/S называется нецентральным распределением t со степенями свободы ν и параметром нецентральности δ.

Это дает следующий PDF:

где1F1(a;b;x) является флюентной гипергеометрической функцией.

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

Member Functions
non_central_t_distribution(RealType v, RealType delta);

Построение нецентрального распределения t с параметром степеней свободыvи параметром нецентральностидельта.

Требуетv>0 (включая положительную бесконечность) и конечнуюдельту, иначе вызываетдомен_error.

RealType degrees_of_freedom()const;

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

RealType non_centrality()const;

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

Non-member Accessors

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

Доменом случайной переменной является [-∞, +∞].

Accuracy

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

Table 5.8. Error rates for non central t CDF

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

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

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

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

Нецентральный Т

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

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

Rmath 3.0.2:Макс = 5,28e+15ε (Средний = 8,49e+14ε)И другие сбои.

Макс = 141ε (Средний = 31.1ε)

Макс = 145ε (Средний = 30,2ε)

Нецентральная Т (малая нецентральность)

Макс = 3,61ε (Средний = 1,03ε)

Max = 0ε (Mean = 0ε)

Rmath 3.0.2:Max = 2.09e+03ε (Mean = 244ε)]

Макс = 7,86ε (Средний = 1,69ε)

Макс = 9.15ε (Средний = 2,25ε)

Нецентральный Т (большие параметры)

Макс = 286ε (Средний = 62.8ε)

Max = 257ε (Mean = 72.1ε)

Rmath 3.0.2:Max = 2.46ε (Mean = 0.657ε)]

Макс = 5,26e+05ε (Средний = 1,48e+05ε)

Макс = 5,24e+05ε (Средний = 1,47e+05ε)


Table 5.9. Error rates for non central t CDF complement

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

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

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

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

Нецентральный Т

Макс = 150ε (Средний = 32.3ε)

Max = 0.707ε (Mean = 0,0497ε)

Rmath 3.0.2:Max = 6.19e+15ε (Mean = 6.72e+14ε)И другие сбои.

Макс = 203ε (Средний = 31.8ε)

Макс = 340ε (Средний = 43.6ε)

Нецентральная Т (малая нецентральность)

Макс = 5.21ε (Средний = 1,43ε)

Max = 0ε (Mean = 0ε)

Rmath 3.0.2:Max = 1,87e+03ε (Mean = 263ε)

Макс = 7,48ε (Средний = 1,86ε)

Макс = 10,9ε (Средний = 2,43ε)

Нецентральный Т (большие параметры)

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

Max = 478ε (Mean = 96.3ε)

Rmath 3.0.2:Max = 2.24ε (Mean = 0.945ε)]

Макс = 9,79e+05ε (Средний = 1,97e+05ε)

Макс = 9,79e+05ε (Средний = 1,97e+05ε)


[Caution] Caution

Сложность текущего алгоритма зависит от δ2: Следовательно, время, необходимое для оценки CDF, быстро увеличивается для δ >500, а также точность быстро снижается для очень больших δ.

Точность для функций квантиле и PDF должна быть в целом одинаковой. Режимопределяется численно и в принципе не может быть более точным, чем квадратный корень эпсилона типа FPT с плавающей точкой, доступ к которому осуществляется с использованием<boost::math::tools::epsilon<FPT>()>. Для 64-битных<double>эпсилон составляет около 1e-16, поэтому дробная точность ограничена 1e-8.

Tests

Существует два набора тестов этого распределения:

Базовые проверки здравомыслия сравнивают эту реализацию с тестовыми значениями, приведенными в «Вычислении дискретных смесей непрерывных распределений: нецентрального полукруга, нецентрального t и распределения квадрата многократного коэффициента корреляции образца». Denise Benton, K. Krishnamoorthy, Computational Statistics & Data Analysis 43 (2003) 249-267.

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

Случаи большого (или бесконечного) ν и/или большого δ получили специальное лечение, чтобы избежать катастрофической потери точности. Для подтверждения достигнутого улучшения были добавлены новые тесты.

От Boost 1.52, степени свободы ν может быть +∞ когда нормальное распределение, расположенное на δ (эквивалентное центральному распределению Студента t), используется на месте для точности и скорости.

Implementation

CDF вычисляется с использованием модификации способа, описанного в «Вычислении дискретных смесей непрерывных распределений: нецентрального полукруга, нецентрального t и распределения квадрата многократного коэффициента корреляции образца». Denise Benton, K. Krishnamoorthy, Computational Statistics & Data Analysis 43 (2003) 249-267.

Для этого используется следующая формула для CDF:

Где Ix(a,b) — неполная бета-функция, и Φ(x) — нормальный CDF при x.

Итерация начинается с самого большого из взвешенных терминов Пуассона (в i = & #948;2/ 2), а затем продолжается в обоих направлениях, согласно статье Бентона и Кришнамурти.

В качестве альтернативы, рассматривая, что происходит, когда t = ∞, мы имеем x = 1, и, следовательно, Ix(a,b) = 1 и:

Из этого мы легко можем показать, что:

Поэтому у нас есть возможность вычислить вероятность или ее дополнение напрямую без риска ошибки отмены. Критерий кроссовера для выбора того, вычислить CDF или его дополнение, такой же, как дляNoncentral Beta Distribution.

PDF можно вычислить очень похожим способом, используя:

Где Ix'(a,b) является производной неполной бета-функции.

Как для PDF, так и для CDF мы переходим к аппроксимации дистрибутива с помощью дистрибутива Student's t, ориентированного на δ когда ν очень большой. Местоположение кроссовера, по-видимому, находится тогда, когда δ/(4ν)< ε, это местоположение было оценено с помощью проверки уравнения 2.6 в «Сравнение приближений к процентам нецентрального t-распределения». H. Sahai and M. M. Ojeda, Revista Investigacion Operacional Vol 21, No 2, 2000, page 123.

Уравнение 2.6 - это расширение Фишера-Корниша, выполненное Эйденом и Джонсоном. Второй термин включает соотношение δ/(4ν), поэтому, когда этот термин становится незначительным, этот и следующие термины могут быть проигнорированы, оставляя только распределение T Студента сосредоточенным на δ.

Это также было подтверждено экспериментальными испытаниями.

Смотрите также

  • Некоторые приближения к точкам процента нецентрального t-распределения. С. ван Иден. International Statistical Review, 29, 4-31.
  • «Непрерывные одномерные распределения». N.L. Johnson, S. Kotz and N. Balkrishnan. 1995. Джон Уайли и сыновья Нью-Йорк.

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

Для режима нет закрытой формы, поэтому она вычисляется с помощью функциональной максимизации PDF.

Остальные функции (среднее значение, дисперсия и т.д.) реализуются с использованием формул, приведенных в Вайсштейне, Эрик В. «Нецентральное распределение студента». Из MathWorld - A Wolfram Web Resource.http://mathworld.wolfram.com/NoncentralStudentst-Distribution.htmlи вМатематическая документация.

Некоторые аналитические свойства нецентральных распределений (особенно унимодальность и монотонность их режимов) исследуются и суммируются:

Andrea van Aubel & Wolfgang Gawronski, Applied Mathematics and Computation, 141 (2003) 3-12.


PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 21:30:29/0.0090680122375488/0