このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
aryule
自己回帰全極モデル パラメーター — ユール・ウォーカー法
説明
例
ユール・ウォーカー法を使用したパラメーター推定
多項式係数のベクトルを使用し、1024 サンプルのホワイト ノイズをフィルター処理することで AR(4) を生成します。再現可能な結果が必要な場合は、乱数発生器をリセットします。ユール・ウォーカー法を使用して係数を推定します。
rng default
A = [1 -2.7607 3.8106 -2.6535 0.9238];
y = filter(1,A,0.2*randn(1024,1));
arcoeffs = aryule(y,4)
arcoeffs = 1×5
1.0000 -2.7262 3.7296 -2.5753 0.8927
毎回入力ノイズの分散を変えながら過程の実現を 50 件作成します。ユール・ウォーカー法により推定した分散を実際の値と比較します。
nrealiz = 50; noisestdz = rand(1,nrealiz)+0.5; randnoise = randn(1024,nrealiz); noisevar = zeros(1,nrealiz); for k = 1:nrealiz y = filter(1,A,noisestdz(k) * randnoise(:,k)); [arcoeffs,noisevar(k)] = aryule(y,4); end plot(noisestdz.^2,noisevar,'*') title('Noise Variance') xlabel('Input') ylabel('Estimated')
関数のマルチチャネル構文を使用して手順を繰り返します。
Y = filter(1,A,noisestdz.*randnoise); [coeffs,variances] = aryule(Y,4); hold on plot(noisestdz.^2,variances,'o') hold off legend('Single channel loop','Multichannel','Location','best')
反射係数の減衰を使用したモデル次数の推定
多項式係数のベクトルを使用し、1024 サンプルのホワイト ノイズをフィルター処理することで AR(2) を生成します。再現可能な結果が必要な場合は、乱数発生器をリセットします。
rng default
y = filter(1,[1 -0.75 0.5],0.2*randn(1024,1));
ユール・ウォーカー法を使用して、AR(10) モデルを過程にあてはめます。反射係数を出力してプロットします。最初の 2 つの係数は 95% の信頼限界の外側に位置しています。これは、AR(10) モデルが、データの時間依存性をかなり過大に推定していることを示します。詳細については、偏自己相関列による AR 次数選択を参照してください。
[ar,nvar,rc] = aryule(y,10); stem(rc) xlim([0 11]) conf95 = sqrt(2)*erfinv(0.95)/sqrt(1024); [X,Y] = ndgrid(xlim,conf95*[-1 1]); hold on plot(X,Y,'--r') hold off title('Reflection Coefficients')
入力引数
出力引数
e
— ホワイト ノイズ入力分散
スカラー | 行ベクトル
ホワイト ノイズ入力分散。スカラーまたは行ベクトルとして返されます。x
が行列の場合、e
の各要素は x
の列に対応します。
詳細
AR(p) モデル
p 次の AR モデルにおいて、現在の出力は、それ以前の p の出力とホワイト ノイズ入力の線形結合になります。
p の過去の出力に重み付けを行うことで、自己回帰の平均二乗の予測誤差が最小になります。y(n) が出力の現在の値で、x(n) がゼロ平均ホワイト ノイズ入力の場合、AR(p) モデルは次のようになります。
反射係数
反射係数は、–1 でスケーリングした部分自己相関係数です。
反射係数では、間にある k – 1 回のステップに基づく予測を差し引いた後の、y(n) と y(n – k) 間の時間依存性が示されます。
アルゴリズム
関数 aryule
は、サンプル自己相関列のバイアス付き推定にレビンソン・ダービン再帰法を使用して、パラメーターを計算します。
参照
[1] Hayes, Monson H. Statistical Digital Signal Processing and Modeling. New York: John Wiley & Sons, 1996.
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)