Текст подпрограммы и версий
bk04r_p.zip
Тексты тестовых примеров
tbk04r_p.zip

Подпрограмма:  BK04R (модуль BK04R_p)

Назначение

Хи - квадрат тест принадлежности заданной группированной выборки заданному распределению вероятностей.

Математическое описание

Пусть область значений случайной величины  X разбита на  N интервалов, целый вектор K = (k1, k2,..., kN) содержит группированную выборку (количество реализаций случайной величины  X, попавших в первый, второй, ..., N - ный интервалы) и вещественный вектор P = (p1, p2,..., pN) содержит вероятности попадания в  i - тый интервал случайной величины  Y, имеющей заданное распределение вероятностей.

Подпрограмма BK04R по векторам  K и  P вычисляет  Хи - квадрат статистику и по ее значению определяет уровень значимости критерия ALFA. Чем меньше уровень значимости ALFA, тем больше оснований утверждать, что вероятности попадания случайной величины  X в заданные интервалы не соответствуют вероятностям, заданным в векторе  P.

Айвазян С.А., Енюков И.С., Мешалкин Л.Д. Прикладная статистика: основы моделирования и первичная обработка данных. М., "Финансы и статистика", 1983.

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

procedure BK04R(var K :Array of Integer; var P :Array of Real;
                N :Integer; var ALFA :Real);

Параметры

K - заданный целый вектор длины  N, содержащий группированную выборку;
P - заданный вещественный вектор длины  N, содержащий вероятности попадания в 1, 2, ..., N - ый интервалы;
N - длина векторов  K и  P (количество групп группированной выборки  K) (тип: целый);
ALFA - вещественная переменная, содержащая вычисленный уровень значимости.

Версии: нет

Вызываемые подпрограммы

SF47R - вычисление функции  Хи - квадрат распределения вероятностей с вещественными степенями свободы.

Замечания по использованию: нет

Пример использования

Unit tbk04r_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, BK04R_p;

function tbk04r: String; 

implementation

function tbk04r: String;
var
N :Integer;
ALFA :Real;
const
K :Array [0..3] of Integer = ( 3,2,2,5 );
P :Array [0..3] of Real = ( 0.1,0.2,0.2,0.5 );
begin
Result := '';
N := 4;
BK04R(K,P,N,ALFA);
Result := Result + Format('%s',[' TBK04R:  ALFA=']);
Result := Result + Format('%20.16f',[ALFA]) + #$0D#$0A;
UtRes('tbk04r',Result);  { вывод результатов в файл tbk04r.res }
end;

end.


Результат:    ALFA  =  0.3916252