26.3 Основные статистические функции
Octave поддерживает различные полезные статистические функции. Многие из них полезны в качестве начальных шагов при подготовке набора данных для дальнейшего анализа. Другие предоставляют меры, отличные от основных описательных статистик.
-
:
y =center(x) -
:
y =center(x, dim) -
Центрирует данные, вычитая их среднее значение.
Если x — вектор, вычитается его среднее значение.
Если x — матрица, описанная выше операция выполняется для каждого столбца.
Если задан необязательный аргумент dim, операция выполняется вдоль этого измерения.
Примечание по программированию:
centerимеет очевидное применение для нормализации статистических данных. Она также полезна для повышения точности общих численных вычислений. Если в наборе данных есть большое общее для всех значений число, можно вычесть среднее значение, выполнить вычисление, а затем прибавить среднее обратно, чтобы получить окончательный результат.См. также: zscore.
-
:
z =zscore(x) -
:
z =zscore(x, opt) -
:
z =zscore(x, opt, dim) -
:
[z, mu, sigma] =zscore(…) -
Вычисляет Z-оценку x.
Если x — вектор, вычитается его среднее значение, а результат делится на стандартное отклонение. Если стандартное отклонение равно нулю, вместо него используется 1.
Необязательный параметр opt определяет способ нормализации при вычислении стандартного отклонения и имеет то же значение, что и соответствующий параметр для
std.Если x — матрица, вычисление выполняется вдоль первого измерения, размер которого не равен единице. Если задан третий необязательный аргумент dim, операция выполняется вдоль этого измерения.
Необязательные выходные переменные mu и sigma содержат среднее значение и стандартное отклонение.
-
:
z =normalize(x) -
:
z =normalize(x, dim) -
:
z =normalize(…, method) -
:
z =normalize(…, method, option) -
:
z =normalize(…, scale, scaleoption, center, centeroption) -
:
[z, c, s] =normalize(…) -
Возвращает нормализованные данные x, используя один из доступных методов масштабирования и центрирования.
normalizeпо умолчанию возвращаетzscorex, то есть количество стандартных отклонений, на которое каждый элемент отличается от среднего значения x. Это эквивалентно центрированию по среднему значению данных и масштабированию по стандартному отклонению.Возвращаемое значение z имеет тот же размер, что и x. Необязательные выходные переменные c и s содержат использованные при нормализации коэффициенты центрирования и масштабирования, такие что:
z = (x - c) ./ s
Если x — вектор,
normalizeвыполняет операцию над данными в x.Если x — матрица,
normalizeвыполняет операцию отдельно для каждого столбца x.Если x — N-мерный массив,
normalizeвыполняет операцию отдельно вдоль первого измерения x, размер которого не равен единице.Если задан необязательный второй аргумент dim, операция выполняется вдоль этого измерения.
normalizeигнорирует значения NaN в x, как и параметр omitnan вstd,meanиmedian.Необязательные входные параметры method и option позволяют указать тип нормализации, выполняемой над x. Обратите внимание, что только параметры scale и center можно задавать вместе с любым из описанных ниже методов. Допустимые методы нормализации:
zscore-
(По умолчанию) Нормализует элементы x по масштабированному расстоянию от центрального значения. Допустимые параметры:
std-
(По умолчанию) Данные центрируются по
mean (x)и масштабируются по стандартному отклонению. robustДанные центрируются по
median (x)и масштабируются по медианному абсолютному отклонению.
norm-
z — общая векторная норма x, а option — коэффициент нормализации p, определяющий тип векторной нормы согласно формуле:
z = [sum (abs (x) .^ p)] ^ (1/p)
p может быть любым положительным скаляром; в частности:
p = 1-
x нормализуется по
sum (abs (x)). p = 2-
(По умолчанию) x нормализуется по евклидовой норме, или длине вектора элементов.
P = Infx нормализуется по
max (abs (x)).
scale-
x масштабируется с коэффициентом, определяемым параметром option, который может быть числовым скаляром или одним из следующих значений:
std-
(По умолчанию) x масштабируется по своему стандартному отклонению.
mad-
x масштабируется по своему медианному абсолютному отклонению.
first-
x масштабируется по своему первому элементу.
iqrx масштабируется по своему межквартильному размаху.
range-
x масштабируется так, чтобы попасть в диапазон, заданный параметром option в виде скалярного вектора-строки из двух элементов. Диапазон по умолчанию — [0, 1].
center-
x сдвигается на величину, определяемую параметром option, который может быть числовым скаляром или одним из следующих значений:
mean-
(По умолчанию) x сдвигается на
mean (x). medianx сдвигается на
median (x).
medianiqrx сдвигается на
median (x)и масштабируется по межквартильному размаху.
Известные несовместимости с MATLAB:
- Параметр DataVariables пока не реализован для входных данных x класса Table.
См. также: zscore, iqr, norm, rescale, std, median, mean, mad.
-
:
n =histc(x, edges) -
:
n =histc(x, edges, dim) -
:
[n, idx] =histc(…) -
Вычисляет частоты попадания в интервалы гистограммы.
Если x — вектор, функция подсчитывает количество его элементов, попадающих в интервалы гистограммы, заданные параметром edges. Это должен быть вектор монотонно возрастающих значений, задающих границы интервалов гистограммы.
n(k)содержит количество элементов x, для которых выполняется условиеedges(k) <= x < edges(k+1). Последний элемент n содержит количество элементов x, в точности равных последнему элементу edges.Если x — N-мерный массив, вычисление выполняется вдоль измерения dim. Если dim не задан, по умолчанию используется первое измерение, размер которого не равен единице.
Если запрошен второй выходной аргумент, также возвращается матрица индексов. Матрица idx имеет тот же размер, что и x. Каждый элемент idx содержит индекс интервала гистограммы, в который попал соответствующий элемент x.
См. также: hist.
unique Функция, описанная в разделе unique, часто полезна для статистики.
-
:
c =nchoosek(n, k) -
:
c =nchoosek(set, k) -
Вычисляет биномиальный коэффициент для n или перечисляет все возможные сочетания элементов из набора set.
Если n — скаляр, вычисляется биномиальный коэффициент для n и k, определяемый следующим образом:
/ \ | n | n (n-1) (n-2) ... (n-k+1) n! | | = ------------------------- = --------- | k | k! k! (n-k)! \ /
Это количество сочетаний из n элементов, взятых группами по k элементов.
Если первый аргумент — вектор set, генерируются все сочетания его элементов по k элементов; каждому сочетанию соответствует одна строка. Результат c имеет k столбцов и
nchoosek (length (set), k)строк.Например:
Сколькими способами можно сгруппировать три элемента в пары?
nchoosek (3, 2) ⇒ 3
Какие пары возможны?
nchoosek (1:3, 2) ⇒ 1 2 1 3 2 3Примечание по программированию: при вычислении биномиального коэффициента
nchoosekработает только с неотрицательными целочисленными аргументами. Используйтеbincoeffдля нецелых и отрицательных скалярных аргументов или для одновременного вычисления нескольких биномиальных коэффициентов с векторными значениями n или k.
-
:
P =perms(v) -
:
P =perms(v, "unique") -
Генерирует все перестановки вектора v, помещая каждую перестановку в отдельную строку.
Если v упорядочен по возрастанию, результаты возвращаются в обратном лексикографическом порядке. Если v упорядочен иначе, результат также переставляется соответствующим образом. Поэтому для входных данных, упорядоченных по убыванию, результат будет в обычном лексикографическом порядке. Размер результата —
factorial (n) * n, где n — длина v. Повторяющиеся элементы включаются в выходные данные.Если задан необязательный аргумент
"unique", возвращаются только уникальные перестановки; это требует меньше памяти и времени, чем вызовunique (perms (v), "rows").Пример 1
perms ([1, 2, 3]) ⇒ 3 2 1 3 1 2 2 3 1 2 1 3 1 3 2 1 2 3
Пример 2
perms ([1, 1, 2, 2], "unique") ⇒ 2 2 1 1 2 1 2 1 2 1 1 2 1 2 2 1 1 2 1 2 1 1 2 2
Примечание по программированию: если параметр
"unique"не используется, длина v не должна превышать 10–12, чтобы ограничить потребление памяти. Даже при использовании"unique"число уникальных элементов в v не должно превышать 10–12.
-
:
y =ranks(x) -
:
y =ranks(x, dim) -
:
y =ranks(x, dim, rtype) -
Возвращает ранги (в смысле порядковой статистики) элементов x вдоль первого измерения, размер которого не равен единице, с учетом совпадающих значений.
Если задан необязательный аргумент dim, операция выполняется вдоль этого измерения.
Необязательный параметр rtype определяет способ обработки совпадающих значений. Во всех примерах ниже предполагаются входные данные
[ 1, 2, 2, 4 ].- 0 или
"fractional"(по умолчанию) для дробного ранжирования (1, 2.5, -
2.5, 4);
- 1 или
"competition"для ранжирования соревнований (1, 2, 2, 4); - 2 или
"modified"для модифицированного ранжирования соревнований (1, 3, 3, 4); - 3 или
"ordinal"для порядкового ранжирования (1, 2, 3, 4); - 4 или
"dense"для плотного ранжирования (1, 2, 2, 3).
- 0 или
-
:
cnt =run_count(x, n) -
:
cnt =run_count(x, n, dim) -
Подсчитывает возрастающие серии вдоль первого измерения x, размер которого не равен единице, длиной 1, 2, …, n-1 и не менее n.
Если задан необязательный аргумент dim, операция выполняется вдоль этого измерения.
См. также: runlength.
-
:
count =runlength(x) -
:
[count, value] =runlength(x) -
Находит длины всех серий одинаковых значений.
count — вектор, содержащий длины каждой серии повторяющихся значений.
Необязательный выходной параметр value содержит значение, повторявшееся в серии.
runlength ([2, 2, 0, 4, 4, 4, 0, 1, 1, 1, 1]) ⇒ 2 1 3 1 4
См. также: run_count.
© 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/Basic-Statistical-Functions.html