![]() |
Другое название – T-распределение
| Обозначение |
|
| Область значений |
|
| Параметры |
Параметр формы , число степеней свободы, целое положительное число
|
| Плотность (функция вероятности) |
|
| Математическое ожидание | 0 |
| Дисперсия |
,
|
| Функция распределения | Не выражается в элементарных функциях |
Случайная величина
, имеющая распределение Стьюдента с
степенями свободы, следующими соотношениями связана с независимыми
случайными величинами
,
и
имеющими соответственно F-распределение
с степенями свободы 1 и
, распределение хи-квадрат с
степенями свободы и нормальное с параметрами 0 и 1:

.
При
распределение Стьюдента достаточно
для практических целей близко к нормальному
распределению.
Пусть даны n независимых
случайных величин, распределенных
нормально с параметрами
и
. Определим случайные величины
и
обычным образом. Тогда случайная величина
подчиняется T-распределению с n степенями свободы. На этом
свойстве основан одновыборочный T-критерий.
Пусть даны два набора из n1 и n2 случайных величин, распределенных нормально
с параметрами
,
и
,
соответственно. Определим случайные величины
,
и
,
обычным образом. Тогда случайная величина
подчиняется T-распределению с n1+n2-2 степенями свободы. На этом свойстве основан двухвыборочный T-критерий.
Выше указано соотношение, связывающее распределение Стьюдента с F-распределением, которое, в свою очередь, является частным случаем бета. Это и дает нам способ вычисления функции распределения Стьюдента.
/****************************************************/ /* Распределение Стьюдента */ /****************************************************/ #ifndef __STUDENT_H__ #define ENTRY extern #define LOCAL static ENTRY double studentDF(double n, double x); //Вычисляется вероятность того, что случайная величина, // подчиняющаяся распределению Стьюдента (T-распределению) // c n степенями свободы, не превосходит (меньше или равна) x. ENTRY double inv_studentDF(double n, double p); // По данной вероятности p вычисляется значение q, // для которого studentDF(n,q) вернет p. #define __STUDENT_H__ /* Prevents redefinition */ #endif /* Ends #ifndef __STUDENT_H__ */ |
/****************************************************/
/* Распределение Стьюдента */
/****************************************************/
#include <assert.h>
#include <math.h>
#include "betaDF.h"
ENTRY double
studentDF(double n, double x)
/*
* Вычисляется вероятность того, что случайная величина,
* подчиняющаяся распределению Стьюдента (T-распределению)
* c n степенями свободы, не превосходит (меньше или равна) x.
*/
{
assert(n > 0);
if (x == 0.0)
return 0.5;
BetaDF b=BetaDF(0.5 * n, 0.5);
double z = 0.5 * b.value(n / (n + x * x));
return (x > 0.0) ? 1.0 - z : z;
}/*studentDF*/
ENTRY double
inv_studentDF(double n, double p)
/*
* По данной вероятности p вычисляется значение q,
* для которого studentDF(n,q) вернет p.
*/
{
if (p == 0.5) return 0.0;
double z = 1.0 - 2.0 * p;
BetaDF b=BetaDF(0.5, 0.5*n);
z = b.quantile(fabs(z));
double q = sqrt(n*z/(1.0-z));
return (p < 0.5) ? -q : q;
}
|
Дата последней модификации: 25 октября 2000 г.