Main Content

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

resid

残差を計算および検定する

説明

resid(Data,sys) は同定されたモデル sys の 1 ステップ先の予測誤差 (残差) を計算し、Data 内のデータに応じて以下のいずれかとして残差入力ダイナミクスをプロットします。

  • 時間領域データの場合、resid は残差の自己相関および残差と入力信号の相互相関をプロットします。ラグ -25 から 25 に対して相関が生成されます。別の最大ラグ値を指定するには、residOptions を使用します。統計的に有意でない相関を示す 99% 信頼領域が X 軸のまわりに影付きの領域として表示されます。

  • 周波数領域データでは、resid は入力信号から残差までの周波数応答のボード線図をプロットします。統計的に有意でない応答を示す 99% 信頼領域が X 軸のまわりの領域として示されます。

表示オプションを変更するには、プロットを右クリックしてコンテキスト メニューにアクセスします。メニューの詳細については、ヒントを参照してください。

resid(Data,sys,Linespec) は、ライン スタイル、マーカー記号、および色を設定します。

resid(Data,sys1,...,sysn) は複数の同定されたモデル sys1、...、sysn の残差を計算してプロットします。

resid(Data,sys1,Linespec1,...,sysn,Linespecn) は、各システムのライン スタイル、マーカー記号、および色を設定します。

resid(___,Options) は、追加の残差計算オプションを指定します。Options を前述の任意の構文で使用します。

resid(___,Type) はプロット タイプを指定します。Type を前述の任意の構文で使用します。

[E,R] = resid(Data,sys) は、計算した残差 E および残差相関 R を返します。プロットは生成されません。

すべて折りたたむ

時間領域データを読み込みます。

load iddata1
data = z1;

ARX モデルを推定します。

sys = arx(data,[1 1 0]);

残差の自己相関および残差と入力の相互相関をプロットします。

resid(data,sys)

Figure contains 2 axes objects. Axes object 1 with title AutoCorr, ylabel e@y1 contains 2 objects of type line. One or more of the lines displays its values using only markers This object represents sys. Axes object 2 with title XCorr (u1) contains 2 objects of type line. One or more of the lines displays its values using only markers This object represents sys.

相関は、既定の最大ラグ 25 まで計算されます。統計的に有意でない相関を示す 99% 信頼領域が X 軸のまわりに影付きの領域として表示されます。

データを周波数領域に変換します。

data2 = fft(data);

同定されたモデル sys および周波数領域データの残差を計算します。赤の×印を使用して残差応答をプロットします。

resid(data2,sys,'rx')

Figure contains 2 axes objects. axes object 1 with title From: u1 To: e@y1, ylabel Magnitude (dB) contains a line object which displays its values using only markers. This object represents sys. axes object 2 with ylabel Phase (deg) contains a line object which displays its values using only markers. This object represents sys.

周波数領域データでは、resid は入力から残差までの周波数応答を示すボード線図をプロットします。

時間領域データを読み込みます。

load iddata1

ARX モデルを推定します。

sys1 = arx(z1,[1 1 0]);

伝達関数モデルを推定します。

sys2 = tfest(z1,2);

残差の相関をプロットします。

resid(z1,sys1,'b',sys2,'r')

Figure contains 2 axes objects. Axes object 1 with title AutoCorr, ylabel e@y1 contains 4 objects of type line. One or more of the lines displays its values using only markers These objects represent sys1, sys2. Axes object 2 with title XCorr (u1) contains 4 objects of type line. One or more of the lines displays its values using only markers These objects represent sys1, sys2.

すべてのラグで sys2 の残差と入力の相互相関が 99% 信頼帯域内にあります。

時間領域データを読み込みます。

load iddata1

ARX モデルを推定します。

sys = arx(z1,[1 1 0]);

残差相関計算の最大ラグを指定します。

opt = residOptions('MaxLag',35);

入力から残差までのインパルス応答をプロットします。

resid(z1,sys,opt,'ir')

Figure contains an axes object. The axes object with title From: u1 To: e@y1 contains 2 objects of type line. One or more of the lines displays its values using only markers This object represents sys.

時間領域データを読み込みます。

load iddata7

データは 2 入力単出力のデータセットです。

ARX モデルを推定します。

sys = tfest(z7,2);

残差、その自己相関、および入力との相互相関を計算します。

[E,R] = resid(z7,sys);

R は相関の 26×3×3 の行列です。以下に例を示します。

  • R(:,1,1) はラグ 25 までの残差の自己相関です。

  • R(:,1,2) はラグ 25 までの残差と最初の入力の相互相関です。

E は、残差を出力データとし、検証データ (z7) の入力を入力データとした iddata オブジェクトです。E を使用して誤差モデルを同定し、誤差ダイナミクスを解析できます。

誤差をプロットします。

plot(E)

Figure contains 3 axes objects. Axes object 1 with title e@y1 contains an object of type line. This object represents E. Axes object 2 with title u1 contains an object of type line. This object represents E. Axes object 3 with title u2 contains an object of type line. This object represents E.

入力と残差間のインパルス応答を推定します。標準偏差 3 の信頼領域でプロットします。

I = impulseest(E);
showConfidence(impulseplot(I,20),3)

Figure contains 2 axes objects. Axes object 1 with title From: u1, ylabel To: e@y1 contains 2 objects of type line. One or more of the lines displays its values using only markers This object represents I. Axes object 2 with title From: u2 contains 2 objects of type line. One or more of the lines displays its values using only markers This object represents I.

入力引数

すべて折りたたむ

検証入出力データ。iddata オブジェクトとして指定します。Data は複数の入出力チャネルをもつことができます。sys が線形の場合、Data は時間領域または周波数領域です。sys が非線形の場合、Data は時間領域です。

残差の計算に使用するシステム。同定された線形または非線形モデルとして指定します。

例: idpoly

ライン スタイル、マーカー記号、および色。文字ベクトルとして指定します。詳細については、plot を参照してください。Type'corr' として指定された場合、ライン スタイルのみが使用されます。

例: 'Linespec','kx'

残差分析オプション。residOptions オプション セットとして指定します。

プロット タイプ。以下のいずれかの値として指定します。

  • 'corr' — 残差 e の自己相関および残差と入力信号 u の相互相関をプロットします。ラグ -25 から 25 に対して相関が生成されます。residOptions を使用して、別の最大ラグ値を指定します。統計的に有意でない相関を示す 99% 信頼領域も X 軸のまわりに影付きの領域として表示されます。信頼領域の計算は、e がホワイトで u から独立しているものと仮定して行われます。

    'corr' は時間領域データの既定です。このプロット タイプは、周波数領域データでは使用できません。

  • 'ir' — システムのラグ 25 まで、入力から残差までのインパルス応答をプロットします。impulseest コマンドはまず、e を出力データとし、u を入力としてインパルス応答モデルを推定します。次に、impulseest は推定モデルのインパルス応答を計算します。統計的に有意でない応答を示す 99% 信頼領域が影付きの領域として表示されます。振幅が小さければ、信頼できるモデルであることを示しています。

    このプロット タイプは、周波数領域データでは使用できません。

  • 'fr' — (高次 FIR モデルに基づいて) 入力から残差までの周波数応答が、ボード線図として示されます。統計的に有意でない応答を示す 99% 信頼領域が影付きの領域として表示されます。対象の周波数範囲の振幅が小さければ、信頼できるモデルであることを示しています。

    'fr' は周波数領域データの既定です。

出力引数

すべて折りたたむ

モデル残差。iddata オブジェクトとして返されます。残差は E.OutputData に格納され、入力は E.InputData に格納されます。E を使用して、入力から残差までのダイナミクスを記述するモデルを構築します。sys が信頼できる同定されたモデルである場合、ダイナミクスは無視できます。

残差の相関。次のいずれかとして返されます。

  • double の行列 — 時間領域データの場合

    R はサイズが M+1×(ny+nu)×(ny+nu) の行列です。ここで、M は Options で指定した最大ラグ、ny は出力の数、nu は入力の数です。M の既定値は 25 です。

    各ラグ k (k = 0:M) で、R(k,i,j) は期待値 <Z(t,i).Z(t+k-1,j)> です。ここで、Z = [E.OutputData,E.InputData] です。

    たとえば、2 出力単入力モデルの場合、Z = [e1,e2,u1] です。ここで、e1 は最初の出力の残差、e2 は 2 番目の出力の残差、u1 は入力です。R26×3×3 の行列です。ここで、

    • R(5,1,2) = <e1(t).e2(t+4)> は e1 と e2 のラグ 4 における相互相関です。

    • R(5,1,3) = <e1(t).u1(t+4)> は e1 と u1 のラグ 4 における相互相関です。

    • R(5,1,1)R(5,2,2)R(5,3,3) はそれぞれ、e1、e2、および u1 のラグ 4 における自己相関です。

  • [] — 周波数領域データの場合

ヒント

  • プロットを右クリックするとコンテキスト メニューが開き、次のオプションにアクセスできます。

    • システム — 残差相関または応答のプロットを表示するシステムを選択します。既定では、すべてのシステムがプロットされます。

    • 信頼領域の表示 — 統計的に有意でない相関を示す 99% 信頼領域を表示します。相関プロットの場合にのみ適用可能です。

    • データ実験 — 複数実験データの場合のみ。別の実験のデータに切り替えます。

    • 特性 — データ特性を表示します。相関プロットには適用されません。

      • ピーク応答 — データのピーク応答を表示します。

      • 信頼領域 — 統計的に有意でない応答を示す 99% 信頼領域を表示します。

    • 表示 — 周波数応答プロットの場合にのみ適用可能です。

      • 振幅 — 周波数応答の振幅を表示します。

      • 位相 — 周波数応答の位相を表示します。

    • I/O のグループ化 — 複数の入力チャネルまたは出力チャネルを含むデータセットの場合。プロットにおける入力チャネルおよび出力チャネルのグループ化を選択します。相関プロットには適用されません。

      • なし — 入出力チャネルをそれぞれ別々の座標軸にプロットします。

      • すべて — すべての入力チャネルをグループ化し、すべての出力チャネルをグループ化します。

    • I/O セレクター — 複数の入力チャネルまたは出力チャネルを含むデータセットの場合。プロットする入力チャネルと出力チャネルのサブセットを選択します。既定では、すべての出力チャネルがプロットされます。

    • グリッド — プロットにグリッドを追加します。

    • 正規化 — プロット内のすべてのデータの y スケールを正規化します。周波数応答データには適用されません。

    • フル ビュー — フル ビューに戻ります。既定では、プロットはフル ビューにスケーリングされます。

    • 初期条件 — 初期条件の処理を指定します。

      次のいずれかとして指定します。

      • 推定 — 初期条件を推定パラメーターとして扱います。

      • ゼロ — すべての初期条件をゼロに設定します。

      • 遅延を吸収して推定 — 非ゼロの遅延をモデルの係数に吸収し、初期条件を推定パラメーターとして扱います。このオプションは、離散時間モデルにのみ使用します。

    • プロパティ — プロットの属性をカスタマイズするための [プロパティ エディター] ダイアログ ボックスを開きます。

参照

[1] Ljung, L. System Identification: Theory for the User. Upper Saddle River, NJ: Prentice-Hall PTR, 1999, Section 16.6.

バージョン履歴

R2006a より前に導入