阿尤勒
具有所有极点的自回归模型的参数是Yule-Walker方法。
库::`工程师`
例子:
使用Yule-Walker方法估计参数
Details
我们使用生成多项式的系数向量来生成过程 通过过滤 1024 白噪声样本。 重置随机数发生器以获得可重复的结果。 我们使用Yule-Walker方法来估计系数。
import EngeeDSP.Functions: randn,filter,aryule
A = [1 -2.7607 3.8106 -2.6535 0.9238]
y = filter(1,A,0.2*randn(1024,1))
arcoeffs = aryule(y,4)[1]
1×5 Matrix{Float64}:
1.0 -2.72272 3.71925 -2.56306 0.886621
生成 50 过程的实现,每次改变输入噪声的方差。 让我们将使用Yule—Walker方法计算的方差与实际值进行比较。
nrealiz = 50
order = 4
noisestdz = rand(1, nrealiz) .+ 0.5
randnoise = randn(1024, nrealiz)
noisevar = zeros(1, nrealiz)
对于k在1:nrealiz
y=filter(ones(1),A,noisestdz[k]*randnoise[:,k])
arcoeffs,noisevar[k],e=aryule(y,order)
结束
p=scatter(vec(noisestdz。^2),vec(noisevar),
标记=:x,
markerstrokecolor=:蓝色,
xlabel="输入",
ylabel="估计",
title="噪声方差",
标签="单通道循环",
传说=错误)

让我们使用函数的多通道语法重复该过程。
Y = filter(1,A,noisestdz.*randnoise)
coeffs,variances,e = aryule(Y,4)
scatter!(p,noisestdz.^2, variances,
marker=:circle,
markercolor=:transparent,
markerstrokecolor=:green,
markersize=10)
