arcov
Параметры модели авторегрессии со всеми полюсами — метод ковариации.
| Библиотека |
|
Синтаксис
Вызов функции
-
a,e = arcov(x,p)— возвращает нормированные параметры авторегрессии (АР)a, соответствующие модели порядкаpдля входного массиваx, гдеxпредполагается выходом АР-системы, управляемой белым шумом. Этот метод минимизирует ошибку прямого предсказания по методу наименьших квадратов.Также возвращает расчетную дисперсию
eвходного белого шума.
Аргументы
Примеры
Оценка параметров с использованием метода ковариации
Details
Используем вектор коэффициентов полинома для генерации процесса авторегрессии 4-го порядка путем фильтрации 1024 отсчетов белого шума. Сбросим генератор случайных чисел, чтобы получить воспроизводимые результаты. Используем метод ковариации для оценки коэффициентов.
import EngeeDSP.Functions: randn,filter,arcov
A = [1 -2.7607 3.8106 -2.6535 0.9238]
y = filter(1,A,0.2*randn(1024,1))
arcoeffs = arcov(y,4)[1]
1×5 Matrix{Float64}:
1.0 -2.77456 3.8419 -2.68565 0.936713
Сгенерируем 50 реализаций процесса, каждый раз меняя дисперсию входного шума. Сравним дисперсию, рассчитанную с помощью ковариации, с фактическими значениями.
nrealiz = 50
order = 4
noisestdz = rand(1, nrealiz) .+ 0.5
randnoise = randn(1024, nrealiz)
noisevar = zeros(1, nrealiz)
for k in 1:nrealiz
y = filter(ones(1), A, noisestdz[k] * randnoise[:, k])
arcoeffs,noisevar[k] = arcov(y, order)
end
p=scatter(vec(noisestdz.^2), vec(noisevar),
marker=:x,
markerstrokecolor=:blue,
xlabel="Input",
ylabel="Estimated",
title="Noise Variance",
label="Single channel loop",
legend=false)

Повторим процедуру, используя многоканальный синтаксис функции.
Y = filter(1,A,noisestdz.*randnoise)
coeffs,variances = arcov(Y,4)
scatter!(p,noisestdz.^2, variances,
marker=:circle,
markercolor=:transparent,
markerstrokecolor=:green,
markersize=10)

Дополнительно
Модель авторегрессии порядка p
Details
В модели авторегрессии порядка ( ) текущий выход является линейной комбинацией предыдущих выходов плюс входной сигнал белого шума. Веса на предыдущих выходах минимизируют среднюю квадратичную ошибку предсказания авторегрессии.
Пусть стационарный в широком смысле случайный процесс, полученный путем фильтрации белого шума дисперсии с помощью системной функции . Если — спектральная плотность мощности , тогда
Поскольку ковариационный метод характеризует входные данные с помощью модели со всеми полюсами, правильный выбор порядка модели