Текст подпрограммы и версий
bs02r_p.zip , bs02e_p.zip
Тексты тестовых примеров
tbs02r_p.zip , tbs02e_p.zip

Подпрограмма:  BS02R (модуль BS02R_p)

Назначение

Вычисление коэффициентов асимметрии и эксцесса заданной выборки.

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

Пусть задан выборочный вектор X = (x1, x2, ..., xN). Подпрограмма вычисляет выборочные значение коэффициентов асимметрии A и эксцесса E:

     A = {(x1-Xcp)3 + (x2-Xcp)3 + ... + (xN-Xcp)3} / (N * S3) 

     E = {(x1-Xcp)4 + (x2-Xcp)4 + ... + (xN-Xcp)4} / (N * S4) - 3 

где Xcp - среднее и S - среднеквадратическое отклонение:

     Xcp = (x1 + x2 + ... + xN) / N 

     S = { ( (x1-Xcp)2 + (x2-Xcp)2 + ... + (xN-Xcp)2 ) / (N-1) }1/2 

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

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

procedure BS02R(var X :Array of Real; N :Integer; var A :Real;
                var E :Real);

Параметры

X - заданный вещественный выборочный вектор длины N;
N - длина вектора X (тип: целый);
A - вещественная переменная, содержащая выборочный коэффициент асимметрии;
E - вещественная переменная, содержащая выборочный коэффициент эксцесса.

Версии

BS02E - вычисление коэффициентов асимметрии и эксцесса в режиме расширенной (Extended) точности.

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

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

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

Unit tbs02r_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, BS02R_p;

function tbs02r: String; 

implementation

function tbs02r: String;
var
N :Integer;
A,E :Real;
const
X :Array [0..3] of Real = ( 1.0,2.0,3.0,5.0 );
begin
Result := '';
N := 4;
BS02R(X,N,A,E);
Result := Result + Format('%s',[' TBS02R: A,E =']);
Result := Result + Format('%20.16f  %20.16f ',[A,E]) + #$0D#$0A;
UtRes('tbs02r',Result);  { вывод результатов в файл tbs02r.res }
end;

end.


Результаты:  A = 0.2823139,   E = -1.961786