|
Текст подпрограммы и версий bs02r_p.zip , bs02e_p.zip |
Тексты тестовых примеров tbs02r_p.zip , tbs02e_p.zip |
Вычисление коэффициентов асимметрии и эксцесса заданной выборки.
Пусть задан выборочный вектор 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