2012年4月24日火曜日
構文
[ypred,delta] = nlpredci(modelfun,x,beta,resid,'covar',sigma)
[ypred,delta] = nlpredci(modelfun,x,beta,resid,'jacobian',J)
[...] = nlpredci(...,param1,val1,param2,val2,...)
説明
[ypred,delta] = nlpredci(modelfun,x,beta,resid,'covar',sigma) は、入力値 x のとき modelfun で定義された非線形回帰モデルに対する、予測値 ypred と 95% の信頼区間の半値幅 delta を返します。modelfun は、係数ベクトルと配列 x の 2 つの引数を受け入れて、近似した y 値のベクトルを返す、@ を使用して指定される関数ハンドルです。nlpredci を呼び出す前に、非線形最小二乗で modelfun を近似するために nlinfit を使用し、推定された係数値 beta、残差 resid、および推定された係数の共分散行列 sigma を取得します。
大きなカイ二乗値がどのような意味ですか
[ypred,delta] = nlpredci(modelfun,x,beta,resid,'jacobian',J) も、95% の信頼区間を計算する構文です。J は、nlinfit で計算されるヤコビです。nlinfit で 'robust' オプションを使用する場合は、'jacobian' の入力ではなく、'covar' の入力を使用して、必要な sigma パラメーターがロバスト近似を考慮するようにします。
[...] = nlpredci(...,param1,val1,param2,val2,...) は、オプション パラメーターの名前と値のペアを受け入れます。
パラメーター | 値 |
---|---|
'alpha' | 100(1-alpha)% の信頼レベルを指定する 0 ~ 1 の値。既定値は 0.05 です。 誰が世界で最初のマップを作成 |
'mse' | nlinfit で返される平均 2 乗誤差。nlinfit でロバスト オプションを使用する場合は、新規の観測を予測する必要があります ('predopt' を参照)。それ以外の場合は、'mse' は残差から計算され、ロバスト近似を考慮しません。 |
'predopt' | x で推定される曲線 (関数値) に対する信頼区間を計算する場合は 'curve' (既定値)、x で新規の観測の予測区間を計算する場合は 'observation' です。nlinfit でロバスト オプションを使用した後、'observation' を指定した場合、平均 2 乗誤差のロバスト推定を指定するため 'mse' パラメーターを指定しなければなりません。 |
'simopt' | 同時区間の場合は 'on'、非同時区間の場合は 'off' (既定値) です。 |
nlpredci は、resid または J の NaN を欠損値として処理し、対応する観測を無視します。
ゼオライトは何ですか
信頼区間の計算は、resid の長さが beta の長さを超え、J が beta で列フルランクをもつシステムに対して有効です。J が悪条件の場合、予測区間と信頼区間は不正確になる可能性があります。
例
指数関数的減衰への近似
次の形式のモデルを近似させたいデータがあるとします。
yi = a1 + a2exp(–a3xi) + εi.
ここで、ai は推定するパラメーター、xi はデータ ポイント、yi は応答、および εi はノイズ項です。
このモデルを表す関数ハンドルを記述します。
mdl = @(a,x)(a(1) + a(2)*exp(-a(3)*x));
パラメーター a = [1;3;2]、パラメーター 2 で指数分布した x データ ポイント、および標準偏差 0.1 で正規分布したノイズで合成されたデータを生成します。
rng(9845,'twister') % for reproducibility a = [1;3;2]; x = exprnd(2,100,1); epsn = normrnd(0,0.1,100,1); y = mdl(a,x) + epsn;
任意の推定 a0 = [2;2;2] から始まるデータにモデルを近似します。
a0 = [2;2;2]; [ahat,r,J,cov,mse] = nlinfit(x,y,mdl,a0); ahat ahat = 1.0153 3.0229 2.1070
x の平均には、<yhat の平均に関する 95% の信頼区間とともに予測応答 yhat を求めます。
[ypred dlt] = nlpredci(mdl,mean(x),ahat,r,'Covar',cov) ypred = 1.0669 dlt = 0.0231
ypred に関する 95% の信頼区間は次のとおりです。
[ypred-dlt,ypred+dlt] ans = 1.0438 1.0900
参考
nlinfit | nlparci
0 コメント:
コメントを投稿