cov
Ковариация.
| Библиотека |
|
Синтаксис
Вызов функции
-
C = cov(A)— возвращает ковариацию.-
Если
A— вектор наблюдений, тоC— скалярное значение дисперсии. -
Если
A— матрица, столбцы которой представляют случайные величины, а строки — наблюдения, тоC— ковариационная матрица с соответствующими дисперсиями столбцов по диагонали. -
Если
A— скаляр,cov(A)возвращает0. ЕслиA— пустой массив,cov(A)возвращаетNaN.
-
-
C = cov(A,B)— возвращает ковариацию между двумя случайными переменнымиAиB.-
Если
AиB— векторы наблюдений одинаковой длины, тоC— ковариационная матрица размером2на2. -
Если
AиB— матрицы наблюдений, то функцияcovрассматривает аргументыAиBкак векторы, и данный вызов эквивалентенcov(A[:],B[:]). Входные аргументыAиBдолжны быть одинакового размера. -
Если
AиB— скаляры,cov(A,B)возвращает блок нулей размером2на2. ЕслиAиB— пустые массивы,cov(A,B)возвращает блок значенийNaNразмером2на2.
-
Аргументы
Входные аргументы
#
A —
входной массив
вектор | матрица
Details
Входной массив, заданный как вектор или матрица.
| Типы данных |
|
#
w —
вес нормализации
0 (по умолчанию) | 1
Details
Вес нормализации, заданный как:
-
0— выходной аргумент нормализуется на количество наблюдений минус1. Если наблюдение единственное, то на1. -
1— выходной аргумент нормализуется на количество наблюдений.
| Типы данных |
|
#
nanflag —
условие отсутствия значения
"includemissing" (по умолчанию) | "includenan" | "omitrows" | "partialrows"
Details
Условие отсутствия значения, заданное как:
-
"includemissing"или"includenan"— функция учитывает значенияNaNво входных массивах при вычислении ковариации. Значения"includemissing"и"includenan"ведут себя одинаково. -
"omitrows"— функция игнорирует все строки входных массивов, содержащие одно или несколько значенийNaN, при вычислении ковариации. -
"partialrows"— функция игнорирует строки входных массивов, содержащие значенияNaN, только попарно для каждого вычисления ковариации в двух столбцах.
Выходные аргументы
#
C —
ковариация
скаляр | матрица
Details
Ковариация, возвращаемая в виде скаляра или матрицы.
-
Для одной входной матрицы аргумент
Cимеет размер[size(A,2) size(A,2)], основанный на количестве случайных переменных (столбцов), представленных в матрицеA. Дисперсии столбцов расположены вдоль диагонали. ЕслиA— вектор-строка или вектор-столбец, тоC— это скалярная дисперсия. -
Для двух входных векторов или матриц аргумент
C— это ковариационная матрица размером2на2между двумя случайными переменными. Дисперсии расположены вдоль диагонали матрицыC.
Примеры
Ковариация матрицы
Details
Создадим матрицу размером 3 на 4 и вычислим ее ковариацию.
import EngeeDSP.Functions: cov
A = [5 0 3 7; 1 -5 7 3; 4 9 8 10]
C = cov(A)
4×4 Matrix{Float64}:
4.33333 8.83333 -3.0 5.66667
8.83333 50.3333 6.5 24.1667
-3.0 6.5 7.0 1.0
5.66667 24.1667 1.0 12.3333
Поскольку количество столбцов матрицы A равно 4, в результате получается матрица 4 на 4.
Ковариация двух векторов
Details
Создадим два вектора и вычислим их ковариационную матрицу размером 2 на 2.
import EngeeDSP.Functions: cov
A = [3 6 4]
B = [7 12 -9]
cov(A, B)
2×2 Matrix{Float64}:
2.33333 6.83333
6.83333 120.333
Ковариация двух матриц
Details
Создадим две матрицы одинакового размера и вычислим их ковариацию размером 2 на 2.
import EngeeDSP.Functions: cov
A = [2 0 -9; 3 4 1]
B = [5 2 6; -4 4 9]
cov(A, B)
2×2 Matrix{Float64}:
22.1667 -6.93333
-6.93333 19.4667
Задание веса нормализации
Details
Создадим матрицу и вычислим ее ковариацию, нормализованную на количество строк.
import EngeeDSP.Functions: cov
A = [1 3 -7; 3 9 2; -5 4 6]
C = cov(A, 1)
3×3 Matrix{Float64}:
11.5556 5.11111 -10.2222
5.11111 6.88889 5.22222
-10.2222 5.22222 29.5556
Ковариация без учета отсутствия значений
Details
Создадим матрицу, содержащую значения NaN.
A = [1.77 -0.005 3.98; NaN -2.95 NaN; 2.54 0.19 1.01]
Вычислим ковариацию матрицы, исключив строки, содержащие значения NaN.
import EngeeDSP.Functions: cov
C = cov(A, "omitrows")
3×3 Matrix{Float64}:
0.29645 0.075075 -1.14345
0.075075 0.0190125 -0.289575
-1.14345 -0.289575 4.41045
Дополнительно
Ковариация
Details
Для двух векторов случайных величин и ковариация определяется следующим образом:
где — среднее значение , — среднее значение , а обозначает комплексное сопряжение.
Ковариационная матрица двух случайных величин — это матрица вычислений ковариации между каждой парой переменных,
Для матрицы , столбцы которой представляют собой случайные величины, состоящие из наблюдений, ковариационная матрица — это попарное вычисление ковариации между каждой комбинацией столбцов. Другими словами,
Дисперсия
Details
Для вектора конечной длины, состоящего из скалярных наблюдений, дисперсия определяется следующим образом:
где — среднее значение ,
В некоторых определениях дисперсии используется коэффициент нормализации вместо , который можно задать, установив для аргумента w значение 1. В любом случае предполагается, что среднее значение имеет обычный коэффициент нормализации .