Текст подпрограммы и версий 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