Статистические функции

Функции предварительной обработки данных

a2stat(a) - возвращает одномерный массив, содержащий те элементы массива a, которые являются числами. Функцию необходимо использовать для очистки массива от нечисловых данных перед использованием статистических функций, поскольку последние не проверяют данные на то, являются ли они числами или нет. В результате вычисления могут оказаться неверными.
p2stat(x,y) - возвращает матрицу пар числовых значений массивов x и y, имеющих одинаковые индексы. Функцию необходимо использовать для очистки массива от пар данных, в которых хотя бы одно из значений не является числовым, перед использованием статистических функций, оперирующих парами рядов данных (корреляция, регрессия, расстояние), поскольку последние не проверяют данные на то, являются ли они числами или нет. В результате вычисления могут оказаться неверными.
afill(a) - функция выполняет заполнение нечисловых элементов массива a числовыми значениями. Заполнение производится по следующим правилам. Левые незаполненные (нечисловые) значения заполняются первым крайним левым числовым значением. Правые не заполненные элементы - крайним правым числовым значением. Незаполненные элементы в середине массива заполняются исходя из принципа пропорционального убывания разницы между ближайшими числовыми значениями (линейная интерполяция).

Функции вычисления характеристик распределения

avg(a) - возвращает среднее арифметическое массива a.
avgeom(a) - возвращает среднее геометрическое массива a.
avharm(a) - возвращает среднее гармоническое массива a.
std(x,a) - возвращает несмещенное среднее квадратическое отклонение массива x со средним a. Если a не задано, замещает a средним арифметическим x (a=avg(x)).
stg(x,a) - возвращает смещенное среднее квадратическое отклонение массива x со средним a. Если a не задано, замещает a средним арифметическим x (a=avg(x)).
median(x) - возвращает медиану массива x.
mode(x) - возвращает моду массива x.
moment(x,k,a) - возвращает k-ый момент массива x со средним a. Если a не задано, то a=avg(x).
asym(x,style,a,s) - возвращает асимметрию массива x со средним a и среднеквадратическим отклонением s. Если a и s не заданы, то a=avg(x), s=stg(x). Если style=0, то возвращает As=y=moment(x,3,a)/pow(s,3). Если style=1 - то As=y*n/((n-1)*(n-2)), где n - число элементов x.
excess(x,style,a,s) - возвращает эксцесс массива x со средним a и среднеквадратическим отклонением s. Если a и s не заданы, то a=avg(x), s=stg(x). Если style=0, то возвращает Ex=y=moment(x,4,a)/pow(s,4) - 3. Если style=1 - то Ex=y*n*(n+1)/((n-1)*(n-2)*(n-3)) - 3*(n-1)*(n-1)/((n-2)*(n-3)), где n - число элементов x.
mstat(m) - возвращает матрицу статистических показателей, вычисленных по данным строк матрицы m. Индексами строк возвращаемой матрицы являются индексы строк исходной матрицы m. Столбцы имеют следующие индексы:
cnt - количество числовых элементов строки;
avg - среднее арифметическое данных строки;
std - среднее квадратическое отклонение;
var - вариация;
Me - медиана;
a/m - отношение среднего значения к медиане;
As - асимметрия;
Ex - эксцесс.
При вычислении показателей строки предварительно очищаются от не числовых данных. Если нужно вычислить статистики по столбцам - матрицу нужно транспонировать (mtrans()).
astat(a) - возвращает массив, индексами которого являются значения массива a, а значениями - частота повторения этих значений. Может неправильно работать, если элементы массива a не целые числа.
didata(x,par,type) - возвращает матрицу, содержащую результат разбиения одномерного массива x на интервалы, определенные в соответствии с критериями par и type. Если type=0, то массив (строка значений) par должен содержать список границ интервалов изменения значений элементов массива x. Для каждого заданного интервала подсчитывается сколько элементов массива x попадает в интервал и общая сумма значений таких элементов. Если type>0, то par должно быть числом, определяющим число интервалов, на которые разбиваются значения массива x. Если type=1, то массив x разбивается на par интервалов одинаковой длины. В этом случае длина интервала равна h=(max(x)-mix(x))/par. Соответственно, первый полуинтервал: [min(x),min(x)+h), второй полуинтервал: [min(x)+h,min(x)+2*h) и т.д. Также, как и при type=0 подсчитывается сколько элементов x попадает в каждый интервал и сумма элементов, попавших в каждый интервал. При type=2 массив x разбивается на интервалы таким образом, чтобы в каждый интервал попало примерно одинаковое количество элементов. При type=3 массив x разбивается на интервалы с близкой суммой элементов. Во всех случаях результатом выполнения функции didata() является матрица со следующими строками:
bound - границы интервалов;
count - число элементов, попавших в интервал;
total - сумма значений элементов, попавших в интервал.
dishow(data,r) - выводит гистограммы характеристик интервалов. Параметр data - результат выполнения функции didata(); r - число дробных разрядов при выводе чисел (по умолчанию 0).
Пример совместного использования функций didata() и dishow()
Исходный код программы
Использованы данные Forbes Global 2000 за май 2013 года. Классификация проведена по данным о стоимости компаний.

Функции оценки взаимосвязи

cov(x,y) - возвращает коэффициент ковариации x и y.
cor(x,y) - возвращает коэффициент корреляции x и y.
regr(x,y) - возвращает массив данных об уравнении регрессии y=a+b*x. Массив имеет следующие индексы:
a - коэффициент a;
b - коэффициент b;
k(0) - коэффициент a;
k(1) - коэффициент b;
cor - коэффициент корреляции.
Дублирование значений объясняется тем, что для формирования выражения с действительными коэффициентами по результатам формирования уравнения регрессии удобно использовать функцию regexpr(koef,names), входом которой является массив коэффициентов уравнения регрессии.
mcor(m) - возвращает матрицу корреляций между строками матрицы m.
miregr(x,y) - возвращает одномерный массив коэффициентов уравнения множественной линейной регрессии y/x. Параметр x - матрица с естественной индексацией. Столбцы - значения независимых переменных. Параметр y - одномерный массив с естественной индексацией, содержащий значения зависимой переменной. Нулевой элемент возвращаемого вектора - свободный член уравнений, остальные соответствуют номерам независимых переменных (в порядке следования столбцов матрицы x).
Пример использования : определяет данные в виде секции .csv, перекладывает их в массивы с естественной индексацией, вызывает miregr(), выводит представление уравнения регрессии, диаграмму отклонений остатков от нуля, статистики. Исходный код программы
regexpr(koef,names) - формирует текстовое представление правой части уравнения множественной регрессии. Параметр koef - одномерный массив с естественной индексацией, полученный как результат выполнения функции miregr(). Параметр names - массив с естественной индексацией, содержащий строки, обозначающие имена независимых переменных уравнения в последовательности следования данных массива koef (без учета свободного члена), либо строка, содержащая имена независимых переменных, разделенные пробелами. (см. пример из описания функции miregr()).
adreg(f,y,k) - получает массивы f и y, имеющие элементы с одинаковыми индексами, и возвращает массив, содержащий разности массивов f и y, а также набор статистик, вычисленных при числе степеней свободы k. Структура и индексы возвращаемого массива:
err - массив остатков (разностей f-y);
avg - среднее арифметическое остатков;
max - максимальный по абсолютной величине остаток;
stl - среднее линейное отклонение остатков;
std - среднее квадратическое отклонение остатков;
r2 - R-квадрат;
f - статистика Фишера;
d - статистика Дарбина-Уотсона;
a - асимметрия остатков;
x - эксцесс остатков.
Пример совместного использования функций regr(), fcalc(), adreg()
Исходный код программы
regstat - пока не использовать

Функции исследования временных рядов

ainc(a) - возвращает массив разностей между соседними элементами массива a. Если какое-либо значение исходного массива не является числом - возвращает %null.
abase(a) - возвращает массив базовых темпов роста (в %) элементов массива a. В качестве базы принимается первое в последовательности элементов исходного массива числовое значение.
arate(a) - возвращает массив цепных темпов роста (в %) элементов массива a. Если какое-либо значение исходного массива не является числом или неположительно - возвращает %null.
agrow(a) - возвращает массив темпов прироста [(a(i+1)-a(i))*100/a(i)] элементов массива a. В качестве базы принимается первое в последовательности элементов исходного массива числовое значение.
mbase(m) - возвращает матрицу базисных темпов роста, рассчитанных по строкам матрицы m.
mrate(m) - возвращает матрицу цепных темпов роста, рассчитанных по строкам матрицы m.
mgrow(m) - возвращает матрицу темпов прироста, рассчитанных по строкам матрицы m.

Функции оценки сходства объектов

anorm(a) - возвращает массив, в котором значения исходного массива нормированы в диапазон от 0 до 1. [(a(i)-min(a))/(max(a)-min(a))]
dist1(a1,a2) - возвращает эвклидово расстояние между массивами a1,a2
dist2(a1,a2) - возвращает линейное расстояние между массивами a1,a2
mnorm(m) - возвращает матрицу, строки которой содержат нормированные в диапазон от 0 до 1 значения элементов. Нормирование производится по правилу:
r(i,j)=(m(i,j)-min(m(i)))/(max(m(i))-min(m(i)))
mdist(m,t) - возвращает матрицу расстояний между строками матрицы m. Если t=1 (по умолчанию) - вычисляются эвклидовы расстояния; если t=2 - линейные.
mgdif(m) - пока не использовать
mldif(m) - пока не использовать
mpaint(m) - пока не использовать
Создание/Изменение узлов и документов
Меню пользователя
Функции обработки массивов
Функции общего назначения
Общая характеристика возможностей виртуального издательства