Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

random

クラス: NonLinearModel

非線形回帰モデルの応答のシミュレーション

構文

ysim = random(mdl)
ysim = random(mdl,Xnew)
ysim = random(mdl,Xnew,'Weights',W)

説明

ysim = random(mdl) は、元の計画点で近似非線形モデル mdl からの応答をシミュレーションします。

ysim = random(mdl,Xnew) はランダム ノイズを追加して、近似された非線形モデル mdl から Xnew のデータへの応答をシミュレーションします。

ysim = random(mdl,Xnew,'Weights',W) は、観測の重み W を使用して応答をシミュレーションします。

入力引数

mdl

fitnlm で構築される非線形回帰モデル。

Xnew

mdl が応答を予測する点。

  • Xnew がテーブルまたはデータセット配列の場合、mdl に予測子名が含まれていなければなりません。

  • Xnew が数値行列の場合、mdl の作成に使用されたのと同じ数の変数 (列) をもたなければなりません。さらに、mdl の作成に使用された変数は、すべて数値でなければなりません。

W

正の実数値の重みのベクトルまたは関数ハンドル。

  • ベクトルを指定する場合、Xnew にある観測値 (行) の数と同じ数の要素を指定しなければなりません。

  • 関数ハンドルを指定する場合、関数は予測される応答値のベクトルを入力として受け入れ、出力として正の実数重みを返さなければなりません。

重み W に対して random は観測 i における誤差分散を MSE*(1/W(i)) により推定します。MSE は平均二乗誤差です。

既定値: 重み付けなし

出力引数

ysim

Xnew における予測された平均値のベクトル。ランダム ノイズにより摂動が与えられています。ノイズは独立で正規分布し、平均 0、モデルの推定誤差分散に等しい分散をもちます。

すべて展開する

自動車の燃費の非線形モデルを重量の関数として作成し、応答をシミュレーションします。

carsmall データから、重量の関数として自動車の燃費の指数モデルを作成します。すべての変数がほぼ同じサイズになるように、1000 のファクタで重み付けをスケーリングします。

load carsmall
X = Weight;
y = MPG;
modelfun = 'y ~ b1 + b2*exp(-b3*x/1000)';
beta0 = [1 1 1];
mdl = fitnlm(X,y,modelfun,beta0);

データに対するシミュレートされた応答を作成します。

Xnew = X;
ysim = random(mdl,Xnew);

元の応答とシミュレートされた応答をプロットして、相違点を確認します。

plot(X,y,'o',X,ysim,'x')
legend('Data','Simulated')

代替方法

ノイズを追加しない予測では、predict を使用します。