Fitpercentについて(system identification toolbox)

10 ビュー (過去 30 日間)
Takeshi Nakamura
Takeshi Nakamura 2017 年 11 月 20 日
コメント済み: mizuki 2018 年 5 月 26 日
armax関数で同定したモデルのFitPercentが99.98%にも関わらずcompare関数で元データとクロスプロットすると、Fit率(?)が4.4%となり、プロットデータも最初の部分があっているのみで、全体的には合っていません。 このFitPercent99.8%というデータはどういうデータを意味し、このFitPercent99.8%のデータとクロスプロットするためには、どのようにコマンド記述すればよろしいでしょうか?(compareOptionsで、何か指定するのでしょうか?)

採用された回答

mizuki
mizuki 2018 年 4 月 18 日
  • FitPercent の意味

FitPercent はモデルの応答が推定データに対してどれくらいフィットしているかをパーセンテージで示した値です。このパーセンテージは、正規化された二乗平均誤差 (Normalized Root Mean Squared Error) を基準としています。

この説明は、以下 armax のドキュメントの出力変数 (Output Arguments) の sys (ARMAX モデル) の項目に記載されています。 https://jp.mathworks.com/help/ident/ref/armax.html

  • 元の値とフィッティングした推定値のクロスプロット

compare 関数を使用して元の値と推定値を描画することができます。

load iddata9;
z9.y = cumsum(z9.y);
model = armax(z9, [4 1]);
model.Report.Fit.FitPercent % FitPercent の値を出力
ans =
   96.8090
compare(z9,model, 1)   % 1-step ahead prediction
  2 件のコメント
Takeshi Nakamura
Takeshi Nakamura 2018 年 5 月 14 日
ちなみにですが,compare(z9,model, 1)と,compare(z9,model)で描画結果が変わってくると思いますが,この違いの意味するところを教えて頂けませんか?
mizuki
mizuki 2018 年 5 月 26 日
第三入力引数は、 compare のドキュメント内の prediction_horizon の変数になります。
Input Arguments の項目に詳細記載がありますが、既定では Inf になっています。これは、システムシミュレーションの応答とデータを比較しています。Nを入れた場合、N-step 先の予測応答とデータを比較しています。時系列モデルであれば数値を入れるべき (finite にするべき) との記載があります。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange線形モデルの同定 についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!