Main Content

plotSlice

当てはめた非線形回帰面を通るスライスのプロット

説明

plotSlice(mdl) は、mdl によって予測された回帰面を通るスライスをそれぞれが表す、1 つ以上のプロットが含まれている Figure を作成します。各プロットは、他の予測子変数の値を固定した状態で単一の予測子変数の関数として当てはめた応答値を示します。

plotSlice は、応答値の 95% 信頼限界も表示します。信頼限界のタイプを指定し、各スライス プロットに使用する予測子を選択できます。詳細については、ヒントを参照してください。

plotSlice(mdl,Xnew) は、Xnew の予測子データを使用して Figure を作成します。

plotSlice(fig,___) は、前の構文におけるいずれかの入力引数の組み合わせを使用して、現在の Figure (gcf) ではなく Figure fig にプロットします。 (R2024a 以降)

すべて折りたたむ

標本データ セット reaction を読み込みます。

load reaction

変数 reactants には 3 つの化学物質の分圧のデータが格納され、変数 rate には対応する反応速度のデータが格納されています。

関数hougenを使用して、Hougen-Watson モデルをデータに当てはめます。reactants を予測子、rate を応答として指定します。

mdl = fitnlm(reactants,rate,@hougen,[1 .05 .02 .1 2]);

mdl は、非線形回帰モデルをデータに当てはめた結果を含む NonLinearModel オブジェクトです。

mdl のスライス プロットを作成します。

plotSlice(mdl)

各プロットは rate を単一の予測子変数 X1X2、および X3 の関数として示したものになります。各予測子は各プロットの "x" 軸に表示された値で固定されています。各プロットで、95% 信頼区間が青い影付きの領域で表されています。破線は選択された点を示し、選択された点の応答値と信頼限界がプロットの左にある表に表示されます。"x" 軸のラベルで予測子の値を変更するか、破線を別の位置にドラッグすると、別の点を選択できます。

X1 の値を 450 に変更します。

NonLinearModel.plotSlice.png

プロットから、X1450 に増やすと、X2X3 の回帰曲線が rate の小さい値の方にシフトすることがわかります。

標本データ セット carbig を読み込みます。

load carbig

変数 HorsepowerWeight には、各自動車の馬力と重量のデータが格納されています。変数 MPG には、ガロンあたりの走行マイル数のデータが格納されています。

HorsepowerWeight から予測子データの行列を作成し、無名関数を使用して非線形モデルを定義します。

X = [Horsepower,Weight];
modelfun = @(b,x)b(1)+b(2)*x(:,1).^b(3)+...
    b(4)*x(:,2).^b(5);

modelfun は非線形モデルのハンドルです。

予測子と応答のデータに modelfun を当てはめます。

mdl = fitnlm(X,MPG,modelfun,[-50 500 -1 500 -1],VarNames=["Horsepower" "Weight" "MPG"]);

mdl は、modelfun をデータに当てはめた結果を含む NonLinearModel オブジェクトです。

馬力と重量についての新しい予測子データを生成します。

Horsepower_new = 100:200;
Weight_new = 3000:10:4000;
Xnew = [Horsepower_new' Weight_new'];

新しい予測子データを使用して mdl のスライス プロットを作成します。

plotSlice(mdl,Xnew)

左のプロットは、Weight3500 に固定して Horsepower の関数として MPG を示したものです。右のプロットは、Horsepower150 に固定して Weight の関数として MPG を示したものです。[信頼区間のタイプ] のオプションは、信頼区間が同時であり、当てはめた応答に対するものであることを示しています。詳細については、ヒントを参照してください。

標本データ セット carbig を読み込みます。

load carbig

変数 HorsepowerMPG には、各自動車の馬力とガロンあたりの走行マイル数のデータが格納されています。

無名関数を使用して非線形モデルを定義します。

modelfun = @(b,x)b(1)+b(2)*x.^b(3);

modelfun は非線形モデルのハンドルです。

予測子と応答のデータに modelfun を当てはめます。

mdl = fitnlm(Horsepower,MPG,modelfun,[-50 500 -1],VarNames=["Horsepower" "MPG"]);

mdl は、modelfun をデータに当てはめた結果を含む NonLinearModel オブジェクトです。

mdl のスライス プロットを作成します。

plotSlice(mdl)

mdl に予測子が 1 つしかないため、スライス プロットには学習データの散布図を含む単一の座標軸のセットが表示されます。95% 信頼区間を表す影付きの領域と共に mdl の回帰線が赤で示されています。[信頼区間のタイプ] のオプションは、信頼区間が同時であり、当てはめた応答に対するものであることを示しています。詳細については、ヒントを参照してください。

入力引数

すべて折りたたむ

ターゲットの Figure。Figure オブジェクトとして指定します。Fig は関数 uifigure を使用して作成する必要があります。Fig を指定しない場合、plotSlice は現在の Figure (gcf) を使用します。

非線形回帰モデル オブジェクト。fitnlm を使用して作成される NonLinearModel オブジェクトとして指定します。

新しい予測子の入力値。table または数値行列として指定します。Xnew が table の場合、その列は mdl.VariableNames の予測子と同じ名前でなければなりません。Xnew が行列の場合、その列は mdl.VariableNames の予測子に対応していなければなりません。学習時に使用されていないカテゴリカル予測子の値を Xnew に含めることはできません。

データ型: single | double | table

ターゲットの Figure。Figure オブジェクトとして指定します。fig は関数 uifigure を使用して作成する必要があります。fig を指定しない場合、plotSlice は新しい Figure を作成します。

ヒント

  • 信頼限界のタイプを選択するには、Figure ウィンドウの [信頼区間のタイプ] メニューを使用します。同時か非同時かを選択し、曲線か観測値かを選択できます。

    • [同時] または [非同時]

      • 同時 (既定) — plotSlice は、シェッフェの方法を使用して、応答値の曲線の信頼限界を計算します。信頼限界の上限と下限の間の範囲には、真の応答値から構成される曲線が 95% の信頼度で含まれます。

      • 非同時plotSlice は、各観測値で応答値の信頼限界を計算します。特定の予測子の値における応答値の信頼区間には、真の応答値が 95% の信頼度で含まれます。

      応答値の曲線全体を範囲内に含める方が、単一の予測子の値における応答値を範囲内に含める場合より条件が厳しいので、同時区間は個別の区間より広くなります。

      プロットに信頼限界を表示しない場合は、[プロットに信頼区間を表示] チェック ボックスをオフにできます。

    • [曲線] または [観測値]

      予測子変数 X と応答変数 y に対する回帰モデルは、次の形式になります。

      y = f(X) + ε,

      ここで、f は X の関数、ε はランダムなノイズ項です。

      • 曲線 (既定) — plotSlice は、当てはめた応答 f(X) に対して信頼限界を予測します。

      • 観測値plotSlice は、応答観測値 y に対して信頼限界を予測します。

      ノイズ項により変動性が追加されるので、y の範囲は f(X) の範囲より広くなります。

  • 各スライス プロットに使用する予測子を選択するには、Figure ウィンドウの [予測子] メニューを使用します。8 つを超える予測子が回帰モデル mdl に含まれている場合、既定では plotSlice は最初の 5 つの予測子に対してプロットを作成します。

バージョン履歴

R2012a で導入

すべて展開する