26.1 Описательная статистика
Одна из основных целей описательной статистики — кратко передать суть большого набора данных. Octave предоставляет функции mean, median и mode, каждая из которых обобщает набор данных одним числом, соответствующим центральной тенденции данных.
-
:
m =mean(x) -
:
m =mean(x, dim) -
:
m =mean(x, vecdim) -
:
m =mean(x, "all") -
:
m =mean(…, nanflag) -
:
m =mean(…, outtype) -
Вычислить среднее значение элементов x.
Если x — вектор, то
mean (x)возвращает среднее значение элементов x, определяемое какmean (x) = SUM_i x(i) / N
где N — количество элементов в x.
Если x — массив, то
mean(x)вычисляет среднее значение вдоль первой размерности x, размер которой не равен единице.Необязательная переменная dim заставляет
meanработать по указанной размерности, которая должна быть положительным целым числом. Указание любой размерности x с размером 1, включая размерность, превышающуюndims (x), приводит к тому, что среднее значение равно x.Указание размерностей в виде vecdim — вектора неповторяющихся размерностей — возвращает среднее значение по срезу массива, заданному vecdim. Если vecdim индексирует все размерности x, это эквивалентно параметру
"all". Все размерности vecdim, превышающиеndims (x), игнорируются.Указание размерности как
"all"заставляетmeanобрабатывать все элементы x и эквивалентноmean (x(:)).Необязательный входной параметр outtype задает тип возвращаемых данных. outtype может принимать следующие значения:
-
'default': Результат имеет тип double, если только входные данные не имеют -
тип single; в этом случае результат имеет тип single.
-
'double': Результат имеет тип double. -
'native': Результат имеет тот же тип, что и входные данные, согласно (
class (x)), если только входные данные не имеют логический тип; в этом случае результат имеет тип double.
Необязательная переменная nanflag указывает, следует ли включать значения NaN в вычисление или исключать их при использовании любой из ранее указанных комбинаций входных аргументов. Значение nanflag по умолчанию —
"includenan", при котором значения NaN остаются в вычислении. Чтобы исключить значения NaN, задайте для nanflag значение"omitnan". Результат всё равно будет содержать значения NaN, если x состоит только из значений NaN в обрабатываемой размерности. -
-
:
m =median(x) -
:
m =median(x, dim) -
:
m =median(x, vecdim) -
:
m =median(x, "all") -
:
m =median(…, nanflag) -
:
m =median(…, outtype) -
Вычислить медиану элементов x.
Если элементы x упорядочены, например
s = sort (x), медиана определяется как| s(ceil (N/2)) N odd median (x) = | | (s(N/2) + s(N/2+1))/2 N evenЕсли x — массив, то
median (x)выполняет вычисления вдоль первой размерности x, размер которой не равен единице.Необязательная переменная dim заставляет
medianработать по указанной размерности, которая должна быть положительным целым числом. Указание любой размерности x с размером 1, включая размерность, превышающуюndims (x), приводит к тому, что медиана равна x.Указание размерностей в виде vecdim — вектора неповторяющихся размерностей — возвращает медиану по срезу массива, заданному vecdim. Если vecdim индексирует все размерности x, это эквивалентно параметру
"all". Все размерности vecdim, превышающиеndims (x), игнорируются.Указание размерности как
"all"заставляетmedianобрабатывать все элементы x и эквивалентноmedian (x(:)).median (…, outtype)возвращает медиану с заданным типом данных, используя любой из входных аргументов в предыдущих синтаксических формах. outtype может принимать следующие значения:"default"-
Результат имеет тип double, если только входные данные не имеют тип single; в этом случае результат имеет тип single.
"double"-
Результат имеет тип double.
-
"native". Результат имеет тот же тип, что и входные данные (
class (x)), если только входные данные не имеют логический тип; в этом случае результат имеет тип double.
Необязательная переменная nanflag указывает, следует ли включать значения NaN в вычисление или исключать их при использовании любой из ранее указанных комбинаций входных аргументов. Значение nanflag по умолчанию —
"includenan", при котором значения NaN остаются в вычислении. Чтобы исключить значения NaN, задайте для nanflag значение"omitnan". Результат всё равно будет содержать значения NaN, если x состоит только из значений NaN в обрабатываемой размерности.
-
:
m =mode(x) -
:
m =mode(x, dim) -
:
[m, f, c] =mode(…) -
Вычислить наиболее часто встречающееся значение в наборе данных (моду).
modeопределяет частоту значений вдоль первой размерности, размер которой не равен единице, и возвращает значение с наибольшей частотой. Если два или более значений встречаются с одинаковой частотой,modeвозвращает наименьшее из них.Если указан необязательный аргумент dim, вычисления выполняются вдоль этой размерности.
Возвращаемая переменная f содержит количество вхождений моды в набор данных.
Ячейковый массив c содержит все элементы с максимальной частотой.
Представление всего набора данных одним числом, например средним значением, может не дать точного представления о данных. Один из способов описать соответствие — измерить разброс данных. Octave предоставляет несколько функций для измерения разброса.
-
:
[s, l] =bounds(x) -
:
[s, l] =bounds(x, dim) -
:
[s, l] =bounds(…, "nanflag") -
Возвращает наименьшее и наибольшее значения входных данных x.
Если x — вектор, границы вычисляются по элементам x. Если x — матрица, границы вычисляются для каждого столбца. Для многомерного массива границы вычисляются вдоль первой размерности, размер которой не равен единице.
Если указан необязательный аргумент dim, вычисления выполняются вдоль этой размерности.
Необязательный аргумент
"nanflag"по умолчанию имеет значение"omitnan", при котором значения NaN не включаются в результат. Если задан аргумент"includenan"и присутствует значение NaN, результатом для наименьшего (s) и наибольшего (l) элементов будет NaN.Границы — это быстро вычисляемая мера разброса набора данных, но при наличии выбросов она менее точна, чем
iqr.
-
:
y =range(x) -
:
y =range(x, dim) -
Возвращает размах, то есть разность между максимальным и минимальным значениями входных данных.
Если x — вектор, размах вычисляется по элементам x. Если x — матрица, размах вычисляется для каждого столбца x.
Если указан необязательный аргумент dim, вычисления выполняются вдоль этой размерности.
Размах — это быстро вычисляемая мера разброса набора данных, но при наличии выбросов она менее точна, чем
iqr.
-
:
Z =iqr(x) -
:
Z =iqr(x, dim) -
:
Z =iqr(x,"ALL") -
Возвращает межквартильный размах x, определяемый как расстояние между 25-м и 75-м процентилями x, вычисленными с помощью: quantile (x, [0.25 0.75])
Если x — вектор,
iqr (x)выполняет вычисления по данным в x.Если x — матрица,
iqr (x)выполняет вычисления отдельно для каждого столбца x и возвращает вектор-строку Z.Если x — n-мерный массив,
iqr (x)выполняет вычисления отдельно вдоль первой размерности x, размер которой не равен единице, и возвращает массив Z той же формы, что и x, в котором эта размерность сокращена до 1.Необязательную переменную dim можно использовать, чтобы заставить
iqrработать по указанной размерности. dim может быть скалярной размерностью или вектором неповторяющихся размерностей, по которым выполняются вычисления. В обоих случаях элементы dim должны быть положительными целыми числами. Вектор dim объединяет все указанные размерности для независимой обработки функциейiqr.Указание размерности
"ALL"заставляетiqrобрабатывать все элементы x и эквивалентноiqr (x(:)). Аналогично, указание вектора размерностей, включающего все размерности x, размер которых не равен единице, эквивалентноiqr (x,."ALL")Если x — скаляр или для dim указаны только размерности с размером 1, результатом будет
zeros (size (x)).В качестве меры разброса межквартильный размах меньше подвержен влиянию выбросов, чем
rangeилиstd.
-
:
m =mad(x) -
:
m =mad(x, opt) -
:
m =mad(x, opt, dim) -
:
m =mad(x, opt, vecdim) -
:
m =mad(x, opt, "all") -
Вычислить среднее или медианное абсолютное отклонение (MAD) элементов x.
Среднее абсолютное отклонение определяется как
mad = mean (abs (x - mean (x)))
Медианное абсолютное отклонение определяется как
mad = median (abs (x - median (x)))
Если x — вектор, вычислить
madдля каждого элемента x. Если x — массив, вычисления выполняются вдоль первой размерности, размер которой не равен единице.madисключает значения NaN из вычислений, аналогично использованию параметраomitnanв функцияхvar,meanиmedian.Необязательный аргумент opt определяет, вычисляется ли среднее или медианное абсолютное отклонение. Значение по умолчанию — 0, что соответствует среднему абсолютному отклонению; значение 1 соответствует медианному абсолютному отклонению. Передача пустого входного аргумента [] задает среднее абсолютное отклонение по умолчанию (opt = 0).
Необязательный аргумент dim заставляет
madработать вдоль указанной размерности. Указание любой размерности x с размером 1, включая размерность, превышающуюndims (x), приводит к результату, равному 0.Указание размерностей в виде vecdim — вектора неповторяющихся размерностей — возвращает
madпо срезу массива, заданному vecdim. Если vecdim индексирует все размерности x, это эквивалентно параметру"all". Все размерности vecdim, превышающиеndims (x), игнорируются.Указание размерности как
"all"заставляетmadобрабатывать все элементы x и эквивалентноmad (x(:)).В качестве меры разброса
madменьше подвержено влиянию выбросов, чемstd.
-
:
y =meansq(x) -
:
y =meansq(x, dim) -
Вычислить средний квадрат элементов вектора x.
Средний квадрат определяется как
meansq (x) = 1/N SUM_i x(i)^2
где N — длина вектора x.
Если x — матрица, вернуть вектор-строку, содержащий средний квадрат каждого столбца.
Если указан необязательный аргумент dim, вычисления выполняются вдоль этой размерности.
-
:
s =std(x) -
:
s =std(x, w) -
:
s =std(x, w, dim) -
:
s =std(x, w, vecdim) -
:
s =std(x, w,"ALL") -
:
s =std(…, nanflag) -
:
[s, m] =std(…) -
Вычислить стандартное отклонение элементов вектора x.
Стандартное отклонение определяется как
std (x) = sqrt ((1 / (N-1)) * SUM_i ((x(i) - mean(x))^2))
где N — количество элементов x.
Если x — массив, вычислить стандартное отклонение вдоль первой размерности x, размер которой не равен единице.
Необязательный аргумент w определяет используемую схему взвешивания. Допустимые значения:
- 0 [по умолчанию]:
-
Нормировать на N-1 (стандартное отклонение генеральной совокупности). Это дает квадратный корень из наилучшей несмещенной оценки стандартного отклонения.
- 1:
-
Нормировать на N (стандартное отклонение выборки). Это дает квадратный корень из второго центрального момента относительно среднего значения.
- вектор:
-
Вычислить взвешенное стандартное отклонение с неотрицательными весами. Длина w должна совпадать с размером x в обрабатываемой размерности. В w допускаются значения NaN; они перемножаются с соответствующими значениями x и могут быть исключены с помощью параметра nanflag.
- массив:
Аналогично весам-векторам, но w должен иметь тот же размер, что и x. Если обрабатываемая размерность задана как vecdim или
"all"и w не является скаляром, w должен быть массивом того же размера.
Примечание: w всегда должен быть указан до указания любых из следующих параметров размерности. Чтобы использовать значение w по умолчанию, можно передать пустой входной аргумент [].
Необязательная переменная dim заставляет
stdработать по указанной размерности, которая должна быть положительным целым числом. Указание любой размерности x с размером 1, включая размерность, превышающуюndims (x), приводит к стандартному отклонению, равному 0.Указание размерностей в виде vecdim — вектора неповторяющихся размерностей — возвращает стандартное отклонение, вычисленное по срезу массива, заданному vecdim. Если vecdim индексирует все размерности x, это эквивалентно параметру
"all". Все размерности vecdim, превышающиеndims (x), игнорируются.Указание размерности как
"all"заставляетstdобрабатывать все элементы x и эквивалентноstd (x(:)).Необязательная переменная nanflag указывает, следует ли включать значения NaN в вычисление или исключать их при использовании любой из ранее указанных комбинаций входных аргументов. Значение nanflag по умолчанию —
"includenan", при котором значения NaN остаются в вычислении. Чтобы исключить значения NaN, задайте для nanflag значение"omitnan". Результат всё равно будет содержать значения NaN, если x состоит только из значений NaN в обрабатываемой размерности.Необязательная вторая выходная переменная m содержит среднее значение элементов x, использованных для вычисления стандартного отклонения. Если v — взвешенное стандартное отклонение, то m также является взвешенным средним.
Помимо величины разброса, полезно знать форму набора данных. Например, сосредоточены ли точки данных слева или справа от среднего значения? Octave предоставляет несколько распространенных мер для описания формы набора данных. Octave также может вычислять моменты, позволяя получать произвольные характеристики формы.
-
:
v =var(x) -
:
v =var(x, w) -
:
v =var(x, w, dim) -
:
v =var(x, w, vecdim) -
:
v =var(x, w,"all") -
:
v =var(…, nanflag) -
:
[v, m] =var(…) -
Вычисляет дисперсию элементов вектора x.
Дисперсия определяется следующим образом:
var (x) = (1 / (N-1)) * SUM_i ((x(i) - mean(x))^2)
где N — количество элементов x.
Если x — массив, дисперсия вычисляется вдоль первой размерности x, размер которой не равен единице.
Необязательный аргумент w задает используемую схему взвешивания. Допустимые значения:
- 0 [по умолчанию]:
-
Нормировать на N-1 (дисперсия генеральной совокупности). Это дает квадратный корень из наилучшей несмещенной оценки дисперсии.
- 1:
-
Нормировать на N (выборочная дисперсия). Это дает квадратный корень из второго момента относительно среднего.
- вектор:
-
Вычислить взвешенную дисперсию с неотрицательными весами. Длина w должна совпадать с размером x вдоль обрабатываемой размерности. В w допускаются значения NaN: они перемножаются с соответствующими значениями x и могут быть исключены с помощью параметра nanflag.
- массив:
Аналогично весам-векторам, но размер w должен совпадать с размером x. Если обрабатываемая размерность задается как vecdim или
"all"и w не является скаляром, w должен быть массивом того же размера.
Примечание. Аргумент w всегда необходимо указывать перед любым из следующих параметров размерности. Чтобы использовать значение w по умолчанию, можно передать пустой входной аргумент [].
Необязательная переменная dim задает размерность, вдоль которой выполняется
var; она должна быть положительным целым числом. Указание любой размерности x, размер которой равен единице, в том числе размерности, превышающейndims (x), приведет к нулевой дисперсии.Если задать размерности с помощью vecdim — вектора неповторяющихся размерностей, — будет возвращена дисперсия, вычисленная по срезу массива, определяемому vecdim. Если vecdim содержит все размерности x, это эквивалентно параметру
"all". Любая размерность в vecdim, превышающаяndims (x), игнорируется.Если задать размерность как
"all",varбудет выполняться для всех элементов x; это эквивалентноvar (x(:)).Необязательная переменная nanflag указывает, следует ли включать значения NaN в вычисления или исключать их при использовании любой из указанных выше комбинаций входных аргументов. Значение nanflag по умолчанию —
"includenan", при котором значения NaN остаются в вычислениях. Чтобы исключить значения NaN, присвойте nanflag значение"omitnan". Выходные данные все равно будут содержать значения NaN, если x состоит только из значений NaN вдоль обрабатываемой размерности.Необязательная вторая выходная переменная m содержит среднее значение элементов x, использованных для вычисления дисперсии. Если v — взвешенная дисперсия, то m также является взвешенным средним.
-
:
y =skewness(x) -
:
y =skewness(x, flag) -
:
y =skewness(x, flag, dim) -
Вычисляет выборочную асимметрию элементов x.
Выборочная асимметрия определяется следующим образом:
mean ((x - mean (x)).^3) skewness (X) = ------------------------. std (x).^3Необязательный аргумент flag задает используемую нормировку. Если flag равен 1 (значение по умолчанию, используемое, если flag не указан или пуст), возвращается выборочная асимметрия, определенная выше. Если flag равен 0, вместо нее возвращается скорректированный коэффициент асимметрии:
sqrt (N*(N-1)) mean ((x - mean (x)).^3) skewness (X, 0) = -------------- * ------------------------. (N - 2) std (x).^3где N — длина вектора x.
Скорректированный коэффициент асимметрии получается заменой выборочных второго и третьего центральных моментов их версиями с поправкой на смещение.
Если x — матрица или, в более общем случае, многомерный массив, асимметрия возвращается вдоль первой размерности, размер которой не равен единице. Если указан необязательный аргумент dim, вычисления выполняются вдоль этой размерности.
-
:
y =kurtosis(x) -
:
y =kurtosis(x, flag) -
:
y =kurtosis(x, flag, dim) -
Вычисляет выборочный эксцесс элементов x.
Выборочный эксцесс определяется следующим образом:
mean ((x - mean (x)).^4) k1 = ------------------------ std (x).^4Необязательный аргумент flag задает используемую нормировку. Если flag равен 1 (значение по умолчанию, используемое, если flag не указан или пуст), возвращается выборочный эксцесс, определенный выше. Если flag равен 0, вместо него возвращается коэффициент эксцесса с поправкой на смещение:
N - 1 k0 = 3 + -------------- * ((N + 1) * k1 - 3 * (N - 1)) (N - 2)(N - 3)где N — длина вектора x.
Коэффициент эксцесса с поправкой на смещение получается заменой выборочных второго и четвертого центральных моментов их несмещенными версиями. Для нормальных генеральных совокупностей он является несмещенной оценкой эксцесса генеральной совокупности.
Если x — матрица или, в более общем случае, многомерный массив, эксцесс возвращается вдоль первой размерности, размер которой не равен единице. Если указан необязательный аргумент dim, вычисления выполняются вдоль этой размерности.
-
:
m =moment(x, p) -
:
m =moment(x, p, type) -
:
m =moment(x, p, dim) -
:
m =moment(x, p, type, dim) -
:
m =moment(x, p, dim, type) -
Вычисляет центральный момент порядка p вектора x.
Центральный момент порядка p вектора x определяется следующим образом:
1/N SUM_i (x(i) - mean(x))^p
где N — длина вектора x.
Если x — матрица, возвращается вектор-строка, содержащий центральный момент порядка p каждого столбца.
Если указан необязательный аргумент dim, вычисления выполняются вдоль этой размерности.
Необязательная строка type задает тип вычисляемого момента. Допустимые значения:
"c"-
Центральный момент (по умолчанию).
"a""ac"-
Абсолютный центральный момент. Момент относительно среднего без учета знака, определяемый следующим образом:
1/N SUM_i (abs (x(i) - mean(x)))^p
"r"-
Начальный момент. Момент относительно нуля, определяемый следующим образом:
moment (x) = 1/N SUM_i x(i)^p
"ar"-
Абсолютный начальный момент. Момент относительно нуля без учета знака, определяемый следующим образом:
1/N SUM_i ( abs (x(i)) )^p
Если указаны оба аргумента — type и dim, — их можно задавать в любом порядке.
-
:
q =quantile(x) -
:
q =quantile(x, p) -
:
q =quantile(x, p, dim) -
:
q =quantile(x, p, dim, method) -
Для выборки x вычисляет квантили q, соответствующие значениям кумулятивной вероятности из p. Все нечисловые значения (NaN) в x игнорируются.
Если x — матрица, квантили вычисляются для каждого столбца и возвращаются в виде матрицы, в которой i-я строка q содержит квантили уровня p(i) для каждого столбца x.
Если p не задан, возвращаются квантили для
[0.00 0.25 0.50 0.75 1.00]. Необязательный аргумент dim задает размерность, вдоль которой вычисляются квантили. Если dim не указан, по умолчанию используется первая размерность, размер которой не равен единице.Доступны девять методов вычисления выборочных квантилей, используемых в R (https://www.r-project.org/). Значение method по умолчанию — 5.
Разрывные методы вычисления выборочных квантилей 1, 2 и 3
- Метод 1: обратная функция эмпирического распределения.
- Метод 2: аналогичен методу 1, но с усреднением в точках разрыва.
- Метод 3: определение SAS — ближайшая порядковая статистика с четным номером.
Непрерывные методы вычисления выборочных квантилей с 4-го по 9-й, где p(k) — функция линейной интерполяции, учитывающая репрезентативную функцию распределения каждого метода.
- Метод 4: p(k) = k / N. То есть линейная интерполяция эмпирической функции распределения, где N — длина P.
- Метод 5: p(k) = (k - 0.5) / N. То есть кусочно-линейная функция, узлы которой находятся посередине ступеней эмпирической функции распределения.
- Метод 6: p(k) = k / (N + 1).
- Метод 7: p(k) = (k - 1) / (N - 1).
- Метод 8: p(k) = (k - 1/3) / (N + 1/3). Полученные оценки квантилей приблизительно несмещены относительно медианы независимо от распределения x.
- Метод 9: p(k) = (k - 3/8) / (N + 1/4). Если x распределен нормально, полученные оценки квантилей приблизительно несмещены относительно ожидаемых порядковых статистик.
Хайндман и Фан (1996) рекомендуют метод 8. Maxima, S и R (версии до 2.0.0) используют метод 7 по умолчанию. Minitab и SPSS используют метод 6. MATLAB использует метод 5.
Литература:
- Becker, R. A., Chambers, J. M. и Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
- Hyndman, R. J. и Fan, Y. (1996) Sample quantiles in statistical packages, American Statistician, 50, 361–365.
- R: A Language and Environment for Statistical Computing; https://cran.r-project.org/doc/manuals/fullrefman.pdf.
Примеры:
x = randi (1000, [10, 1]); # Create empirical data in range 1-1000 q = quantile (x, [0, 1]); # Return minimum, maximum of distribution q = quantile (x, [0.25 0.5 0.75]); # Return quartiles of distribution
См. также: prctile.
-
:
q =prctile(x) -
:
q =prctile(x, p) -
:
q =prctile(x, p, dim) -
Для выборки x вычисляет квантили q, соответствующие значениям кумулятивной вероятности p, выраженным в процентах.
Если x — матрица, процентили вычисляются для каждого столбца и возвращаются в виде матрицы, в которой i-я строка q содержит процентили уровня p(i) для каждого столбца x.
Если p не задан, возвращаются квантили для
[0 25 50 75 100].Необязательный аргумент dim задает размерность, вдоль которой вычисляются процентили. Если dim не указан, по умолчанию используется первая размерность, размер которой не равен единице.
Примечание по программированию: все нечисловые значения (NaN) в x игнорируются.
См. также: quantile.
С помощью функции statistics можно быстро получить сводную информацию о наборе данных.
-
:
stats =statistics(x) -
:
stats =statistics(x, dim) -
Возвращает вектор, содержащий минимум, первый квартиль, медиану, третий квартиль, максимум, среднее, стандартное отклонение, асимметрию и эксцесс элементов вектора x.
Если x — матрица, статистики вычисляются вдоль первой размерности, размер которой не равен единице.
Если указан необязательный аргумент dim, вычисления выполняются вдоль этой размерности.
© 1996–2026 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.4.0/Descriptive-Statistics.html