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 с использованием нескольких доступных методов масштабирования и центрирования.
Функция по умолчанию вернет
zscorex, определяемую как количество стандартных отклонений каждого элемента от среднего значения x. Это эквивалентно центрированию по среднему значению данных и масштабированию с помощью стандартного отклонения.Возвращаемое значение z будет иметь тот же размер, что и x. Необязательные возвращаемые переменные c и s являются факторами центрирования и масштабирования, используемыми в нормализации таким образом, что:
z = (x - c) ./ s
Если x — вектор,
normalizeбудет действовать на данные в x.Если x — матрица,
normalizeбудет действовать независимо на каждом столбце в x.Если x — N-мерный массив,
normalizeбудет действовать независимо на первом неединичном измерении в x.Если указан необязательный второй аргумент dim, операция выполняется по этому измерению.
Необязательные входные данные 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.
- Некоторые массивы, содержащие элементы NaN, могут не возвращать совместимые с MATLAB результаты.
См. также: zscore, iqr, norm, rescale, std, median, mean, mad.
- : n = histc (x, edges) ¶
- : n = histc (x, edges, dim) ¶
- : [n, idx] = histc (…) ¶
-
Вычисление количества элементов гистограммы.
Когда x — вектор, функция подсчитывает количество элементов 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, то генерируются все комбинации элементов из 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 по одной строке на каждую перестановку.
Результаты возвращаются в обратном лексикографическом порядке. Результат имеет размер
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") ⇒ 1 1 2 2 1 2 1 2 1 2 2 1 2 1 1 2 2 1 2 1 2 2 1 1
Примечание для программистов: Если опция
"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–2023 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/v8.1.0/Basic-Statistical-Functions.html