var
Дисперсия.
| Библиотека |
|
Синтаксис
Вызов функции
-
V,M = var(A)— возвращает дисперсиюVэлементов массиваAпо первому измерению, размер которого не равен1. По умолчанию дисперсия нормализуется по отношению к числуN-1, гдеN— количество величин. Также возвращает математическое ожиданиеMэлементовA, используемых для вычисления дисперсии. ЕслиV— взвешенная дисперсия, тоM— среднее взвешенное.-
Если
A— матрица, столбцы которой являются случайными величинами, а строки — скалярными величинами, тоV— вектор-строка, содержащий дисперсию, соответствующую каждому столбцу. -
Если
A— многомерный массив, тоvar(A)действует по первому измерению массива, размер которого не равен1, рассматривая элементы как векторы. РазмерVпо этому измерению становится равным1, в то время как размеры всех остальных измерений остаются такими же, как вA. -
Если
A— пустой массив размером0на0, то значениеVравноNaN.
-
V,M = var(A,w)— определяет весовую схему. Приw = 0(по умолчанию) дисперсия имеет нормировочный коэффициентN-1, гдеN— число величин. Приw = 1дисперсия имеет нормировочный коэффициент, равный числу величин. Аргументwтакже может быть весовым вектором, содержащим неотрицательные элементы. В этом случае длинаwдолжна быть равна длине измерения, по которому работаетvar.
Аргументы
Входные аргументы
#
A —
входной массив
вектор | матрица | многомерный массив
Details
Входной массив, заданный как вектор, матрица или многомерный массив,. Если A — скаляр, то var(A) возвращает 0. Если A — пустой массив размером 0 на 0, то var(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:
-
var(A,0,1)вычисляет дисперсию элементов в каждом столбце матрицыAи возвращает вектор-строку размером1наn. -
var(A,0,2)вычисляет дисперсию элементов в каждой строке матрицыAи возвращает вектор-столбец размеромmна1.
Если dim больше ndims(A), то var(A) возвращает массив нулей того же размера, что и A.
#
vecdim —
вектор измерений
вектор положительных целых чисел
Details
Вектор измерений, заданный как вектор положительных целых чисел. Каждый элемент представляет измерение входного массива. Длина выходных данных в указанных рабочих измерениях равна 1, в то время как остальные измерения остаются неизменными.
Рассмотрим входной массив A размером 2×3×3. Тогда var(A,0,[1 2]) возвращает массив размером 1×1×3, элементы которого представляют собой дисперсии, вычисленные для каждого слоя A.
#
nanflag —
условие отсутствия значения
"includemissing" (по умолчанию) | "includenan" | "omitmissing" | "omitnan"
Details
Условие отсутствия значения, заданное одним из следующих значений:
-
"includemissing"или"includenan"— включить значенияNaNвAпри вычислении дисперсии. Если какой-либо элемент в рабочем измерении равенNaN, то соответствующий элемент вVтакже равенNaN."includemissing"и"includenan"ведут себя одинаково. -
"omitmissing"или"omitnan"— игнорировать значенияNaNвAиwи вычислять дисперсию по меньшему количеству точек. Если все элементы в рабочем измерении равныNaN, то соответствующий элемент вVтакже равенNaN."omitmissing"и"omitnan"ведут себя одинаково.
Выходные аргументы
#
V —
дисперсия
скаляр | вектор | матрица | многомерный массив
Details
Дисперсия, возвращаемая в виде скаляра, вектора, матрицы или многомерного массива.
-
Если
A— матрица, столбцы которой являются случайными величинами, а строки — скалярными величинами, тоV— вектор-строка, содержащий дисперсию, соответствующую каждому столбцу. -
Если
A— многомерный массив, тоvar(A)действует по первому измерению массива, размер которого не равен1, рассматривая элементы как векторы. РазмерVпо этому измерению становится равным1, в то время как размеры всех остальных измерений остаются такими же, как вA.
#
M —
математическое ожидание
скаляр | вектор | матрица | многомерный массив
Details
Математическое ожидание, возвращаемое в виде скаляра, вектора, матрицы или многомерного массива.
-
Если
A— вектор величин, тоM— скаляр. -
Если
A— матрица, столбцы которой являются случайными величинами, а строки — скалярными величинами, тоM— вектор-строка, содержащая математическое ожидание для каждого столбца. -
Если
A— многомерный массив, тоvar(A)действует по первому измерению массива, размер которого не равен1, рассматривая элементы как векторы. РазмерMв этом измерении становится равным1, в то время как размеры всех остальных измерений остаются такими же, как вA. -
Если
A— пустой массив размером0на0, тоMравноNaN.
Если V — взвешенная дисперсия, то M — среднее взвешенное.
Примеры
Дисперсия матрицы
Details
Создадим матрицу и вычислим ее дисперсию.
import EngeeDSP.Functions: var
A = [4 -7 3; 1 4 -2; 10 7 9]
var(A).V
1×3 Matrix{Float64}:
21.0 54.3333 30.3333
Дисперсия массива
Details
Создадим трехмерный массив и вычислим его дисперсию.
import EngeeDSP.Functions: var
A = cat([1 3; 8 4], [3 -4; 1 2], dims=3)
var(A).V
1×2×2 Array{Float64, 3}:
[:, :, 1] =
24.5 0.5
[:, :, 2] =
2.0 18.0
Указание весового вектора дисперсии
Details
Создадим матрицу и вычислим ее дисперсию в соответствии с весовым вектором w.
import EngeeDSP.Functions: var
A = [5 -4 6; 2 3 9; -1 1 2]
w = [0.5 0.25 0.25]
var(A, w).V
1×3 Matrix{Float64}:
6.1875 9.5 6.1875
Указание размерности дисперсии
Details
Создадим матрицу и вычислим ее дисперсию по первому измерению.
import EngeeDSP.Functions: var
A = [4 -2 1; 9 5 7]
var(A, 0, 1).V
1×3 Matrix{Float64}:
12.5 24.5 18.0
Вычислим дисперсию А по второму измерению.
var(A, 0, 2).V
2×1 Matrix{Float64}:
9.0
4.0
Дисперсия слоя массива
Details
Создадим трехмерный массив и вычислим дисперсию для каждого слоя данных (строк и столбцов).
import EngeeDSP.Functions: var
A = cat([2 4; -2 1], [9 13; -5 7], [4 4; 8 -3], dims=3)
V = var(A, 0, [1 2]).V
1×1×3 Array{Float64, 3}:
[:, :, 1] =
6.25
[:, :, 2] =
60.0
[:, :, 3] =
20.916666666666664
Дисперсия без учета пропущенных значений
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. Для столбцов матрицы, содержащих любое значение NaN, функция var вычисляет значения, отличные от NaN.
import EngeeDSP.Functions: var
V = var(A, "omitnan").V
1×3 Matrix{Float64}:
0.0 0.0 4.9298
Дисперсия и математическое ожидание
Details
Создадим матрицу и вычислим дисперсию и математическое ожидание для каждого столбца.
import EngeeDSP.Functions: var
A = [4 -7 3; 1 4 -2; 10 7 9]
V, M = var(A)
(V = [21.0 54.33333333333334 30.333333333333336], M = [5.0 1.3333333333333333 3.3333333333333335])
Создадим матрицу и вычислим взвешенную дисперсию и среднее взвешенное каждого столбца в соответствии с весовым вектором w.
A = [5 -4 6; 2 3 9; -1 1 2]
w = [0.5 0.25 0.25]
V, M = var(A, w)
(V = [6.1875 9.5 6.1875], M = [2.75 -1.0 5.75])
Дополнительно
Дисперсия
Details
Для вектора случайной величины , состоящего из скалярных величин, дисперсия определяется как
где — математическое ожидание :
В некоторых определениях дисперсии используется нормировочный коэффициент вместо . Можно использовать нормировочный коэффициент , указав вес 1, что дает второй момент выборки относительно ее математического ожидания.
Независимо от нормировочного коэффициента дисперсии, предполагается, что математическое ожидание имеет нормировочный коэффициент .
Взвешенная дисперсия
Details
Для вектора конечной длины, состоящего из скалярных величин, и весовой схемы , взвешенная дисперсия определяется как
где — среднее взвешенное .