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

F 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/fisher_f.hpp>
namespace boost{ namespace math{
template <class RealType = double,
          class Policy   = policies::policy<> >
class fisher_f_distribution;
typedef fisher_f_distribution<> fisher_f;
template <class RealType, class Policy>
class fisher_f_distribution
{
public:
   typedef RealType value_type;
   // Construct:
   fisher_f_distribution(const RealType& i, const RealType& j);
   // Accessors:
   RealType degrees_of_freedom1()const;
   RealType degrees_of_freedom2()const;
};
}} //namespaces

Распределение F представляет собой непрерывное распределение, которое возникает при тестировании, имеют ли два образца одинаковую дисперсию. Если χ2m  и χ2n  являются независимыми вариатами, каждый из которых распределен как Chi-Squared сmиnстепенями свободы, то тестовая статистика:

Fn,m& #160; = (χ2n& #160; / n) / (χ2m& #160; / m)

Распределяется в диапазоне [0, ∞] с распределением F и имеет PDF:

На следующем графике показано, как PDF изменяется в зависимости от двух степеней свободы.

Member Functions
fisher_f_distribution(const RealType& df1, const RealType& df2);

Построение F-распределения с числительными степенями свободыdf1и знаменателем степеней свободыdf2.

Требует, чтобыdf1иdf2были больше нуля, иначедомен_errorназывается.

RealType degrees_of_freedom1()const;

Возвращает числитель степеней свободы параметра распределения.

RealType degrees_of_freedom2()const;

Возвращает числитель степеней свободы параметра распределения.

Non-member Accessors

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

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

Examples

Существуют различныепримеры, иллюстрирующие использование F-распределения.

Accuracy

Нормальное распределение реализуется в терминахнеполной бета-функциии ееобратных, ссылаясь на эти функции для данных точности.

Implementation

В следующей таблицеv1иv2являются первой и второй степенями параметров свободы распределения,xявляется случайной вариацией,pявляется вероятностью, аq = 1-p.

Функция

Записки об осуществлении

pdf

Обычная форма PDF дается:

Однако эту форму трудно оценить напрямую без проблем с точностью или численным переполнением.

Прямая дифференциация CDF, выраженная в терминах неполной бета-функции

, привела к следующим двум формулам:

f(x) = y *ibeta_derivative(v2 / 2, v1 / 2, v1 / 2, v2 / 2, v1 / 2, v1 / v1 * x))

с y = (v2 + v1 * x)

и

[x] = y *ibeta_derivative

с y = (z * v1 — x * v1 * v1 * v1) / z2

и z = Первый из них используется для v1 * x >v2, в противном случае используется второй.

Цель состоит в том, чтобы удержать аргументxдоibeta_derivativeот 1 во избежание ошибки округления.

cdf

Используя соотношения:

p =ibeta(v1/2, v2/2, v1 * x/ (v2 + v1 * x))

и

p =ibetac(v2/2, v1/2, v2/ (v2 + v1 * x))

Первый используется для v1 * x >v2, в противном случае используется второй.

Цель состоит в том, чтобы сохранить аргументxдоibetaдалеко от 1, чтобы избежать ошибки округления.

cdf

Используя соотношения:

p =ibetac(v1/2, v2/2, v1 * x/ (v2 + v1 * x))

и

p =ibeta(v2/2, v1/2, v2/ (v2 + v1 * x))

Первый используется для v1 * x< v2, в противном случае используется второй.

Цель состоит в том, чтобы сохранить аргументxдоibetaдалеко от 1, чтобы избежать ошибки округления.

квантиль

Использование отношение:

x = v2 * a / (v1 * b)

, где:

a =ibeta_inv(v1/2, v2/2, p)

и

b = 1 - a

aиbвычисляются какibeta_invбез вычитания, подразумеваемого выше.

квантиль

из комплемента

Использование отношение:

x = v2 * a / (v1 * b)

, где

a =ibetac_inv(v1/2, v2/2, p)

b = 1 - a

aиbвычисляютсяibetac_invбез вычитания, подразумеваемого выше.

означает

v2 / (v2 - 2)

Разница

2 * v22* (v1 + v2 - 2) / (v1 * (v2 - 2) * (v2 - 2) * (v2 - 4))

Режим

v2 * (v1 - 2) / (v1 * (v2 + 2))

искажённость

2 * (v2 + 2 * v1 - 2) * sqrt((2 * v2 - 8) / (v1 * (v2 + v1 - 2)) / (v2 - 6)

Куртоз и избыток куртоза

См.,Вайсштейн, Эрик В. «Распределение F». Из MathWorld - веб-ресурс Wolfram.


PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 04:24:35/0.0046989917755127/0