std
Стандартное отклонение.
| Библиотека |
|
Синтаксис
Вызов функции
-
S,M = std(A)— возвращает стандартное отклонениеSэлементовAпо первому измерению массива, размер которого не равен1. По умолчанию стандартное отклонение нормализуется поN-1, гдеN— количество величин. Также возвращает математическое ожиданиеMэлементовA, используемых для вычисления стандартного отклонения. ЕслиS— взвешенное стандартное отклонение, тоM— среднее взвешенное.-
Если
A— матрица, столбцы которой являются случайными величинами, а строки — скалярными величинами, тоS— вектор-строка, содержащая стандартное отклонение, соответствующее каждому столбцу. -
Если
A— многомерный массив, тоstd(A)действует по первому измерению массива, размер которого не равен1, рассматривая элементы как векторы. РазмерSв этом измерении становится равным1, в то время как размеры всех остальных измерений остаются такими же, как вA.
-
S,M = std(A,w)— определяет весовую схему. Приw = 0(по умолчанию) стандартное отклонение имеет нормировочный коэффициентN-1, гдеN— число величин. Приw = 1стандартное отклонение имеет нормировочный коэффициент, равный числу величин. Аргументwтакже может быть весовым вектором, содержащим неотрицательные элементы. В этом случае длинаwдолжна быть равна длине измерения, по которому работаетstd.
-
S,M = std(A,w,vecdim)— возвращает стандартное отклонение по измерениям, указанным в вектореvecdim, когдаwравно0или1. Например, еслиA— матрица, тоstd(A,0,[1 2])возвращает стандартное отклонение по всем элементам вA, поскольку каждый элемент матрицы содержится в срезе массива, определенном измерениями1и2.
-
S,M = std(___,missingflag)— определяет, следует ли включать или исключать пропущенные значения вAдля любого из предыдущих вариантов синтаксиса. Например,std(A,"omitmissing")игнорирует все пропущенные значения при вычислении стандартного отклонения. По умолчаниюstdвключает пропущенные значения.
Аргументы
Входные аргументы
#
A —
входной массив
вектор | матрица | многомерный массив
Details
Входной массив, заданный как вектор, матрица или многомерный массив. Если A — скаляр, то std(A) возвращает 0. Если A — пустой массив размером 0 на 0, то std(A) возвращает NaN.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
w —
вес
0 (по умолчанию) | 1 | вектор
Details
Вес, заданный одним из следующих значений:
-
0— нормализовать поN-1, гдеN— количество величин. Если величина только одна, вес равен1. -
1— нормализовать поN. -
Вектор, состоящий из неотрицательных скалярных весов, соответствующих размерности
A, по которой вычисляется стандартное отклонение.
| Типы данных |
|
#
dim —
измерение, по которому выполняется операция
положительный целочисленный скаляр
Details
Измерение, по которому выполняется операция, указывается как положительный целочисленный скаляр. Если измерение не указано, по умолчанию используется первое измерение массива, размер которого не равен 1.
Аргумент dim указывает измерение, длина которого уменьшается до 1. Значение size(S,dim) равно 1, в то время как размеры всех остальных измерений остаются прежними.
Рассмотрим входную матрицу A размером m на n:
-
std(A,0,1)вычисляет стандартное отклонение элементов в каждом столбце матрицыAи возвращает вектор-строку размером1наn. -
std(A,0,2)вычисляет стандартное отклонение элементов в каждой строке матрицыAи возвращает вектор-столбец размеромmна1.
Если dim больше ndims(A), то std(A) возвращает массив нулей того же размера, что и A.
#
vecdim —
вектор измерений
вектор положительных целых чисел
Details
Вектор измерений, заданный как вектор положительных целых чисел. Каждый элемент представляет измерение входного массива. Длина выходных данных в указанных рабочих измерениях равна 1, в то время как остальные измерения остаются неизменными.
Рассмотрим входной массив A размером 2×3×3. Тогда std(A,0,[1 2]) возвращает массив размером 1×1×3, элементы которого представляют собой стандартные отклонения, вычисленные для каждого слоя A.
#
missingflag —
условие отсутствия значения
"includemissing" (по умолчанию) | "includenan" | "includenat" | "omitmissing" | "omitnan" | "omitnat"
Details
Условие отсутствия значения, заданное как одно из значений в этой таблице.
| Значение | Тип входных данных | Описание |
|---|---|---|
|
Все поддерживаемые типы данных |
При вычислении стандартного отклонения учитываются пропущенные значения в |
|
|
|
|
|
|
|
Все поддерживаемые типы данных |
Пропущенные значения в |
|
|
|
|
|
Выходные аргументы
#
S —
стандартное отклонение
скаляр | вектор | матрица | многомерный массив
Details
Стандартное отклонение, возвращаемое в виде скаляра, вектора, матрицы или многомерного массива.
-
Если
A— вектор величин, тоS— скаляр. -
Если
A— матрица, столбцы которой являются случайными величинами, а строки — скалярными величинами, тоS— вектор-строка, содержащая стандартное отклонение, соответствующее каждому столбцу. -
Если
A— многомерный массив, тоstd(A)действует по первому измерению массива, размер которого не равен1, рассматривая элементы как векторы. РазмерSв этом измерении становится равным1, в то время как размеры всех остальных измерений остаются такими же, как вA. -
Если
A— скаляр, тоSравно0. -
Если
A— пустой массив размером0на0, тоSравноNaN.
#
M —
математическое ожидание
скаляр | вектор | матрица | многомерный массив
Details
Математическое ожидание, возвращаемое в виде скаляра, вектора, матрицы или многомерного массива.
-
Если
A— вектор величин, тоM— скаляр. -
Если
A— матрица, столбцы которой являются случайными величинами, а строки — скалярными величинами, тоM— вектор-строка, содержащая математическое ожидание для каждого столбца. -
Если
A— многомерный массив, тоstd(A)действует по первому измерению массива, размер которого не равен1, рассматривая элементы как векторы. РазмерMв этом измерении становится равным1, в то время как размеры всех остальных измерений остаются такими же, как вA. -
Если
A— пустой массив размером0на0, тоMравноNaN.
Если S — взвешенное стандартное отклонение, то M — среднее взвешенное.
Примеры
Стандартное отклонение столбцов матрицы
Details
Создадим матрицу и вычислим стандартное отклонение каждого столбца.
import EngeeDSP.Functions: std
A = [4 -5 1; 2 3 5; -9 1 7]
S = std(A).S
1×3 Matrix{Float64}:
7.0 4.16333 3.05505
Стандартное отклонение трехмерного массива
Details
Создадим трехмерный массив и вычислим стандартное отклонение по первому измерению.
import EngeeDSP.Functions: std
A = cat([2 4; -2 1], [9 13; -5 7], [4 4; 8 -3]; dims=3)
S = std(A).S
1×2×3 Array{Float64, 3}:
[:, :, 1] =
2.82843 2.12132
[:, :, 2] =
9.89949 4.24264
[:, :, 3] =
2.82843 4.94975
Указание весовых коэффициентов стандартного отклонения
Details
Создадим матрицу и вычислим стандартное отклонение каждого столбца в соответствии с весовым вектором w.
import EngeeDSP.Functions: std
A = [1 5; 3 7; -9 2]
w = [1 1 0.5]
S = std(A, w).S
1×2 Matrix{Float64}:
4.48999 1.83303
Стандартное отклонение по строкам матрицы
Details
Создадим матрицу и вычислим стандартное отклонение по каждой строке.
import EngeeDSP.Functions: std
A = [6 4 23 -3; 9 -10 4 11; 2 8 -5 1]
S = std(A, 0, 2).S
3×1 Matrix{Float64}:
11.030261405182864
9.46924847422786
5.32290647422377
Стандартное отклонение слоя массива
Details
Создадим трехмерный массив и вычислим стандартное отклонение для каждого слоя данных (строк и столбцов).
import EngeeDSP.Functions: std
A = cat([2 4; -2 1], [9 13; -5 7], [4 4; 8 -3]; dims=3)
S = std(A, 0, [1 2]).S
1×1×3 Array{Float64, 3}:
[:, :, 1] =
2.5
[:, :, 2] =
7.745966692414834
[:, :, 3] =
4.573474244670748
Стандартное отклонение без учета пропущенных значений
Details
Создадим матрицу, содержащую значения NaN.
A = [1.77 NaN -2.95; NaN 0.34 0.19]
2×3 Matrix{Float64}:
1.77 NaN -2.95
NaN 0.34 0.19
Вычислим стандартное отклонение матрицы, исключая пропущенные значения. Для столбцов матрицы, содержащих любое значение NaN, функция std вычисляется с использованием всех элементов, кроме NaN.
import EngeeDSP.Functions: std
S = std(A, "omitmissing").S
1×3 Matrix{Float64}:
0.0 0.0 2.22032
Стандартное отклонение и математическое ожидание
Details
Создадим матрицу и вычислим стандартное отклонение и математическое ожидание для каждого столбца.
import EngeeDSP.Functions: std
A = [4 -5 1; 2 3 5; -9 1 7]
S, M = std(A)
(S = [7.0 4.163331998932266 3.055050463303893], M = [-1.0 -0.3333333333333333 4.333333333333333])
Создадим матрицу и вычислим взвешенное стандартное отклонение и среднее взвешенное каждого столбца в соответствии с весовым вектором w.
A = [1 5; 3 7; -9 2]
w = [1 1 0.5]
S, M = std(A, w)
(S = [4.48998886412873 1.8330302779823362], M = [-0.2 5.2])
Дополнительно
Стандартное отклонение
Details
Для вектора конечной длины, состоящего из скалярных величин, стандартное отклонение определяется как
где
Стандартное отклонение — это квадратный корень дисперсии.
В некоторых определениях стандартного отклонения используется нормировочный коэффициент 1, что дает квадратный корень второго момента выборки относительно ее математического ожидания.
Независимо от нормировочного коэффициента для стандартного отклонения, предполагается, что математическое ожидание имеет нормировочный коэффициент
Взвешенное стандартное отклонение
Details
Для вектора
где