Корреляционный анализ сигналов
Автоковариация и автокорреляция
#
StatsBase.autocov
— Function
autocov(x, [lags]; demean=true)
Вычисляет автоковариацию для вектора или матрицы x
; при необходимости можно указать запаздывания lags
, в которых должна вычисляться автоковариация. demean
указывает, следует ли вычесть среднее значение x
из x
перед вычислением автоковариации.
Если x
— вектор, возвращает вектор той же длины, что и lags
. Если x
— матрица, возвращает матрицу размера (length(lags), size(x,2))
, в которой каждый результирующий столбец соответствует столбцу в x
.
Если запаздывания не заданы, в качестве них используются целые числа от 0 до min(size(x,1)-1, 10*log10(size(x,1)))
.
Результат не нормализуется. Если требуется нормализация, см. описание функции autocor
.
#
StatsBase.autocov!
— Function
autocov!(r, x, lags; demean=true)
Вычисляет автоковариацию для вектора или матрицы x
в lags
и сохраняет результат в r
. demean
указывает, следует ли вычесть среднее значение x
из x
перед вычислением автоковариации.
Если x
— вектор, r
должно быть вектором той же длины, что и lags
. Если x
— матрица, r
должно быть матрицей размера (length(lags), size(x,2))
, в которой каждый результирующий столбец соответствует столбцу в x
.
Результат не нормализуется. Если требуется нормализация, см. описание метода autocor!
.
#
StatsBase.autocor
— Function
autocor(x, [lags]; demean=true)
Вычисляет функцию автокорреляции (ФАК) для вектора или матрицы x
; при необходимости можно указать запаздывания lags
. demean
указывает, следует ли вычесть среднее значение x
из x
перед вычислением ФАК.
Если x
— вектор, возвращает вектор той же длины, что и lags
. Если x
— матрица, возвращает матрицу размера (length(lags), size(x,2))
, в которой каждый результирующий столбец соответствует столбцу в x
.
Если запаздывания не заданы, в качестве них используются целые числа от 0 до min(size(x,1)-1, 10*log10(size(x,1)))
.
Результат нормализуется на дисперсию x
, так что автокорреляция при запаздывании 0 равна 1. Ненормализованную форму см. в описании autocov
.
#
StatsBase.autocor!
— Function
autocor!(r, x, lags; demean=true)
Вычисляет функцию автокорреляции (ФАК) для вектора или матрицы x
в lags
и сохраняет результат в r
. demean
указывает, следует ли вычесть среднее значение x
из x
перед вычислением ФАК.
Если x
— вектор, r
должно быть вектором той же длины, что и lags
. Если x
— матрица, r
должно быть матрицей размера (length(lags), size(x,2))
, в которой каждый результирующий столбец соответствует столбцу в x
.
Результат нормализуется на дисперсию x
, так что автокорреляция при запаздывании 0 равна 1. Ненормализованную форму см. в описании autocov!
.
Взаимная ковариация и взаимная корреляция
#
StatsBase.crosscov
— Function
crosscov(x, y, [lags]; demean=true)
Вычисляет функцию взаимной ковариации (ФВК) между векторами или матрицами вещественных значений x
и y
; при необходимости можно указать запаздывания lags
. Аргумент demean
указывает, следует ли вычесть соответствующие средние значения из x
и y
перед вычислением ФВК.
Если x
и y
— векторы, возвращает вектор той же длины, что и lags
. В противном случае вычисляет взаимную ковариацию между каждой парой столбцов в x
и y
.
Если запаздывания не заданы, в качестве них используются целые числа от -min(size(x,1)-1, 10*log10(size(x,1)))
до min(size(x,1), 10*log10(size(x,1)))
.
Результат не нормализуется. Если требуется нормализация, см. описание функции crosscor
.
#
StatsBase.crosscov!
— Function
crosscov!(r, x, y, lags; demean=true)
Вычисляет функцию взаимной ковариации (ФВК) между векторами или матрицами вещественных значений x
и y
в lags
и сохраняет результат в r
. Аргумент demean
указывает, следует ли вычесть соответствующие средние значения из x
и y
перед вычислением ФВК.
Если x
и y
— векторы, r
должно быть вектором той же длины, что и lags
. Если x
— матрица, а y
— вектор, r
должно быть матрицей размером (length(lags), size(x, 2))
; если x
— вектор, а y
— матрица, r
должно быть матрицей размером (length(lags), size(y, 2))
. Если x
и y
— матрицы, r
должно быть трехмерным массивом размером (length(lags), size(x, 2), size(y, 2))
.
Результат не нормализуется. Если требуется нормализация, см. описание функции crosscor!
.
#
StatsBase.crosscor
— Function
crosscor(x, y, [lags]; demean=true)
Вычисляет взаимную корреляцию между векторами или матрицами вещественных значений x
и y
; при необходимости можно указать запаздывания lags
. Аргумент demean
указывает, следует ли вычесть соответствующие средние значения из x
и y
перед вычислением взаимной корреляции.
Если x
и y
— векторы, возвращает вектор той же длины, что и lags
. В противном случае вычисляет взаимную ковариацию между каждой парой столбцов в x
и y
.
Если запаздывания не заданы, в качестве них используются целые числа от -min(size(x,1)-1, 10*log10(size(x,1)))
до min(size(x,1), 10*log10(size(x,1)))
.
Результат нормализуется по sqrt(var(x)*var(y))
. Ненормализованную форму см. в описании crosscov
.
#
StatsBase.crosscor!
— Function
crosscor!(r, x, y, lags; demean=true)
Вычисляет взаимную корреляцию между векторами или матрицами вещественных значений x
и y
в lags
и сохраняет результат в r
. Аргумент demean
указывает, следует ли вычесть соответствующие средние значения из x
и y
перед вычислением взаимной корреляции.
Если x
и y
— векторы, r
должно быть вектором той же длины, что и lags
. Если x
— матрица, а y
— вектор, r
должно быть матрицей размером (length(lags), size(x, 2))
; если x
— вектор, а y
— матрица, r
должно быть матрицей размером (length(lags), size(y, 2))
. Если x
и y
— матрицы, r
должно быть трехмерным массивом размером (length(lags), size(x, 2), size(y, 2))
.
Результат нормализуется по sqrt(var(x)*var(y))
. Ненормализованную форму см. в описании crosscov!
.
Функция частной автокорреляции
#
StatsBase.pacf
— Function
pacf(X, lags; method=:regression)
Вычисляет функцию частной автокорреляции (ФЧАК) для вектора или матрицы вещественных значений X
в lags
. Аргумент method
определяет метод оценки. Допускаются значения :regression
, при котором частная автокорреляция вычисляется посредством моделей последовательной регрессии, и :yulewalker
, при котором частная автокорреляция вычисляется с помощью уравнений Юла-Уокера.
Если x
— вектор, возвращает вектор той же длины, что и lags
. Если x
— матрица, возвращает матрицу размера (length(lags), size(x, 2))
, в которой каждый результирующий столбец соответствует столбцу в x
.
#
StatsBase.pacf!
— Function
pacf!(r, X, lags; method=:regression)
Вычисляет функцию частной автокорреляции (ФЧАК) для матрицы X
в lags
и сохраняет результат в r
. Аргумент method
определяет метод оценки. Допускаются значения :regression
, при котором частная автокорреляция вычисляется посредством моделей последовательной регрессии, и :yulewalker
, при котором частная автокорреляция вычисляется с помощью уравнений Юла-Уокера.
r
должно быть матрицей размером (length(lags), size(x, 2))
.