Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ar

スカラー時系列の AR モデルまたは ARI モデルを同定する際のパラメーターの推定

説明

sys = ar(y,n) は、最小二乗法を使用して、次数 nAR idpoly モデル sys のパラメーターを推定します。モデルのプロパティには、共分散 (パラメーターの不確かさ) と推定の適合度が含まれます。y には、出力のみの iddata オブジェクト、数値ベクトル、またはtimetableを指定できます。

sys = ar(y,n,approach,window) は、approach で指定されたアルゴリズムと window で指定されたプレウィンドウ処理およびポストウィンドウ処理を使用します。approach の既定値を受け入れて window を指定するには、構文の 3 番目の位置に [] を使用します。

sys = ar(y,n,___,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して追加のオプションを指定します。たとえば、名前と値のペアの引数 'IntegrateNoise',1 は、非定常外乱があるシステムに役立つ ARI モデルを推定します。Name,Value は、前述の構文における任意の入力引数の組み合わせの後に指定します。

sys = ar(y,n,___,opt) は、オプション セット opt を使用して推定オプションを指定します。

[sys,refl] = ar(y,n,approach,___) は、approach がラティスベース法の 'burg' または 'gl' である場合に、AR モデルを反射係数 refl と共に返します。

すべて折りたたむ

AR モデルを推定し、その応答を測定出力と比較します。

ノイズがある時系列 tt9 を含むデータを読み込みます。

load sdata9 tt9

4 次 AR モデルを推定します。

sys = ar(tt9,4)
sys =
Discrete-time AR model: A(z)y(t) = e(t)                            
  A(z) = 1 - 0.8369 z^-1 - 0.4744 z^-2 - 0.06621 z^-3 + 0.4857 z^-4
                                                                   
Sample time: 0.0039062 seconds
  
Parameterization:
   Polynomial orders:   na=4
   Number of free coefficients: 4
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                 
Estimated using AR ('fb/now') on time domain data "tt9".
Fit to estimation data: 79.38%                          
FPE: 0.5189, MSE: 0.5108                                
 

出力に、推定の他の詳細と一緒に、推定パラメーターを含む多項式が表示されます。Status の下の Fit to estimation data から、推定モデルの 1 ステップ先の予測精度が 75% を超えていることがわかります。

推定結果に関するその他の情報は、推定レポート sys.Report を調べて確認できます。たとえば、パラメーター共分散を取得できます。

covar = sys.Report.Parameters.FreeParCovariance
covar = 4×4

    0.0015   -0.0015   -0.0005    0.0007
   -0.0015    0.0027   -0.0008   -0.0004
   -0.0005   -0.0008    0.0028   -0.0015
    0.0007   -0.0004   -0.0015    0.0014

推定レポートの表示に関する詳細については、Estimation Reportを参照してください。

ノイズがある正弦波信号を与えて、バーグ法によるスペクトル推定をフォワード-バックワード法を使用した場合と比較します。

出力信号を生成し、iddata オブジェクトに変換します。

y = sin([1:300]') + 0.5*randn(300,1);
y = iddata(y);

バーグ法と既定のフォワード-バックワード法をそれぞれ使用して、4 次 AR モデルを推定します。モデルのスペクトルを一緒にプロットします。

sys_b = ar(y,4,'burg');
sys_fb = ar(y,4);
spectrum(sys_b,sys_fb)
legend('Burg','Forward-Backward')

Figure contains an axes object. The axes object with title From: e@y1 To: y1, ylabel Power (dB) contains 2 objects of type line. These objects represent Burg, Forward-Backward.

ほとんどの周波数範囲において、2 つの応答がほぼ一致しています。

ノイズ源に積分器を含む ARI モデルを推定します。

ノイズがある時系列 ymat9 を含むデータを読み込みます。Ts にはサンプル時間が含まれます。

load sdata9 ymat9 Ts

出力信号を積分します。

y = cumsum(ymat9);

'IntegrateNoise'true に設定して AR モデルを推定します。最小二乗法 'ls' を使用します。

sys = ar(y,4,'ls','Ts',Ts,'IntegrateNoise',true);

5 ステップの予測を使用してモデルの出力を予測し、結果を積分した出力信号 y と比較します。

compare(y,sys,5)

Figure contains an axes object. The axes object is empty.

関数 AR の既定のオプションを変更します。

ノイズがある時系列 z9 を含むデータを読み込みます。

load iddata9 z9

既定のオプションを変更し、'ls' 法を使用して、共分散を推定しないように設定します。

opt = arOptions('Approach','ls','EstimateCovariance',false)
opt = 
Option set for the ar command:

              Approach: 'ls'
                Window: 'now'
            DataOffset: 0
    EstimateCovariance: 0
               MaxSize: 250000

更新したオプションを使用して、4 次 AR モデルを推定します。

sys = ar(z9,4,opt);

バーグ法の使用時に反射係数と損失関数を取得します。

バーグ法 'burg' や幾何ラティス 'gl' などのラティスベースの手法では、推定プロセスの一環として反射係数および対応する損失関数の値が計算されます。それらの値を取得するには 2 番目の出力引数を使用します。

出力信号を生成し、iddata オブジェクトに変換します。

y = sin([1:300]') + 0.5*randn(300,1);
y = iddata(y);

バーグ法を使用して 4 次 AR モデルを推定し、反射係数の出力引数を含めます。

[sys,refl] = ar(y,4,'burg');
refl
refl = 2×5

         0   -0.3562    0.4430    0.5528    0.2385
    0.8494    0.7416    0.5960    0.4139    0.3904

入力引数

すべて折りたたむ

時系列データ。次のいずれかとして指定します。

  • 単一の出力チャネルと空の入力チャネルを含む iddata オブジェクト。

  • 出力チャネルのデータを含む数値列ベクトル。y をベクトルとして指定する場合、サンプル時間 Ts も指定する必要があります。

  • 単一変数 timetable

推定データ型の取り扱いの詳細については、Data Domains and Data Types in System Identification Toolboxを参照してください。

モデル次数。正の整数として指定します。n の値により、AR モデルにおける A パラメーターの数が決まります。

例: ar(idy,2) は、単一チャネルの iddata オブジェクト idy から 2 次 AR モデルを計算します。

AR モデルを計算するアルゴリズム。次の値のいずれかとして指定します。

  • 'burg':バーグのラティスベース法。前方予測と後方予測の二乗誤差の調和平均を使用してラティス フィルター方程式を解きます。

  • 'fb':(既定) フォワード-バックワード法。前方モデルの最小二乗基準と時間反転モデルの類似基準の和を最小化します。

  • 'gl':幾何ラティス法。バーグ法に似ていますが、最小化において調和平均の代わりに幾何平均を使用します。

  • 'ls':最小二乗法。前方予測誤差の標準二乗和を最小化します。

  • 'yw':ユール・ウォーカー法。サンプル共分散から形成されるユール・ウォーカー方程式を解きます。

これらのアルゴリズムは、いずれも最小二乗法のバリアントです。詳細については、アルゴリズムを参照してください。

例: ar(idy,2,'ls') は、最小二乗法を使用して AR モデルを計算します。

測定時間間隔の範囲外 (過去の値と将来の値) のプレウィンドウ処理とポストウィンドウ処理。次の値のいずれかとして指定します。

  • 'now':ウィンドウ処理なし。approach'yw' に設定する場合を除き、これが既定の値です。測定データのみを使用して回帰ベクトルが形成されます。基準の総和は n+1 と等しいサンプル インデックスから始まります。

  • 'pow':ポストウィンドウ処理。末尾の欠損値がゼロで置き換えられ、総和が時間 N+n (N は観測数) まで拡張されます。

  • 'ppw':プレウィンドウ処理とポストウィンドウ処理。この値は、ユール・ウォーカー法 'yw' を選択した場合に、window の指定に関係なく常に使用されます。

  • 'prw':プレウィンドウ処理。基準の総和をゼロと等しい時間から開始できるように、過去の欠損値がゼロで置き換えられます。

例: ar(idy,2,'yw','ppw') は、プレウィンドウ処理とポストウィンドウ処理を含むユール・ウォーカー法を使用して AR モデルを計算します。

AR モデルの同定の推定オプション。arOptions オプション セットとして指定します。opt で次のオプションを指定します。

  • 推定手法

  • データのウィンドウ処理の手法

  • データのオフセット

  • データのセグメントにおける要素の最大数

詳細については、arOptions を参照してください。例については、既定のオプションの変更を参照してください。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: 'IntegrateNoise',true は、ノイズ源に積分器を追加します。

timetable データの出力チャネル名。string または文字ベクトルとして指定します。既定では、tt の最後の変数が唯一の出力チャネルとして解釈されます。出力チャネルに異なる timetable 変数を選択する場合は、'OutputName' を使用してそれを指定します。たとえば、sys = ar(tt,__,'OutputName',"y3") では、変数 y3 が推定の出力チャネルとして選択されます。

サンプル時間。'Ts' とサンプル時間 (秒単位) で構成されるコンマ区切りのペアとして指定します。y が数値ベクトルの場合は、'Ts' を指定しなければなりません。

例: ar(y_signal,2,'Ts',0.08) は、0.08 秒のサンプル時間で 2 次 AR モデルを計算します。

ARI モデルの推定用のノイズチャネル積分オプション。'IntegrateNoise' と logical で構成されるコンマ区切りのペアとして指定します。ノイズの積分は、外乱が非定常である場合に便利です。

'IntegrateNoise' を使用する場合、出力チャネルのデータも積分する必要があります。例については、ARI モデルを参照してください。

出力引数

すべて折りたたむ

与えられた推定データを適合する AR モデルまたは ARI モデル。離散時間の idpoly モデル オブジェクトとして返されます。このモデルは、指定したモデル次数、遅延、および推定オプションを使用して作成されます。

推定結果と使用されたオプションに関する情報は、モデルの Report プロパティに格納されます。Report には次のフィールドがあります。

Report のフィールド説明
Status

モデルのステータスの概要。モデルが構築によって作成されたものか推定によって取得されたものかを示します。

Method

使用された推定コマンド。

Fit

推定の定量的評価。構造体として返されます。これらの品質メトリクスの詳細については、Loss Function and Model Quality Metricsを参照してください。構造体には、以下のフィールドがあります。

フィールド説明
FitPercent

正規化平方根平均二乗誤差 (NRMSE)。モデルの応答が推定データにどの程度適合するかをパーセンテージで示す尺度で、fitpercent = 100(1-NRMSE) として表されます。

LossFcn

推定完了時の損失関数の値。

MSE

平均二乗誤差 (MSE)。モデルの応答が推定データにどの程度適合するかを示す尺度です。

FPE

モデルの最終予測誤差。

AIC

生の赤池情報量基準 (AIC)。モデルの品質を示す尺度です。

AICc

小さいサンプルサイズの補正された AIC。

nAIC

正規化された AIC。

BIC

ベイズ情報量基準 (BIC)。

Parameters

モデル パラメーターの推定値。

OptionsUsed

推定に使用されたオプション セット。これは、カスタム オプションを構成していない場合は既定のオプションのセットになります。詳細については、arOptions を参照してください。

RandState

推定開始時の乱数ストリームの状態。推定時にランダム化が使用されなかった場合は空 [] になります。詳細については、rng を参照してください。

DataUsed

推定に使用されたデータの属性。次のフィールドをもつ構造体として返されます。

フィールド説明
Name

データ セットの名前。

Type

データ型。

Length

データ サンプルの数。

Ts

サンプル時間。

InterSample

入力サンプル間動作。次の値のいずれかとして返されます。

  • 'zoh' — ゼロ次ホールドにより、サンプル間で区分的に一定な入力信号を維持。

  • 'foh' — 1 次ホールドにより、サンプル間で区分的に線形な入力信号を維持。

  • 'bl' — 帯域幅を制限した動作により、ナイキスト周波数を超える連続時間入力信号のパワーがゼロになるように指定。

InputOffset

推定時に時間領域の入力データから削除されたオフセット。非線形モデルの場合は [] になります。

OutputOffset

推定時に時間領域の出力データから削除されたオフセット。非線形モデルの場合は [] になります。

Report の使用の詳細については、Estimation Reportを参照してください。

反射係数と損失関数。2 行 2 列の配列として返されます。2 つのラティスベース法 'burg''gl' について、refl は 1 行目に反射係数、2 行目に対応する損失関数の値を格納します。refl の 1 列目はゼロ次のモデルで、refl の要素 (2,1) は時系列自体のノルムです。例については、バーグ法の反射係数の取得を参照してください。

詳細

すべて折りたたむ

AR (自己回帰) モデル

AR モデル構造には入力はなく、次の方程式で与えられます。

A(q)y(t)=e(t)

このモデル構造は、入力チャネルがないスカラー時系列の推定に対応します。この構造は ARX 構造の特殊なケースです。

ARI (自己回帰和分) モデル

ARI モデルは、ノイズ チャネルに積分器を含む AR モデルです。ARI モデル構造は次の方程式で与えられます。

A(q)y(t)=11q1e(t)

アルゴリズム

AR モデルと ARI モデルのパラメーターは、最小二乗法のバリアントを使用して推定されます。次の表は、一般的な方法の名前と approach 引数および window 引数の具体的な値の組み合わせをまとめたものです。

メソッド手法とウィンドウ処理
修正共分散(既定) ウィンドウ処理なしのフォワード-バックワード法
相関法プレウィンドウ処理とポストウィンドウ処理を含むユール・ウォーカー法
共分散法ウィンドウ処理なしの最小二乗法。このルーチンは arx で使用

参照

[1] Marple, S. L., Jr. Chapter 8. Digital Spectral Analysis with Applications. Englewood Cliffs, NJ: Prentice Hall, 1987.

バージョン履歴

R2006a で導入

すべて展開する