Main Content

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

nlparci

非線形回帰パラメーターの信頼区間

構文

ci = nlparci(beta,resid,'covar',sigma)
ci = nlparci(beta,resid,'jacobian',J)
ci = nlparci(...,'alpha',alpha)

説明

ci = nlparci(beta,resid,'covar',sigma) は、非線形最小二乗のパラメーター推定 beta に対する 95% の信頼区間 ci を返します。nlparci を呼び出す前に、非線形回帰モデルに近似するために nlinfit を使用し、係数推定値 beta、残差 resid、および推定された係数共分散行列 sigma を取得します。

ci = nlparci(beta,resid,'jacobian',J) も、95% の信頼区間を計算する構文です。J は、nlinfit で計算されるヤコビアンです。nlinfit'robust' オプションを使用する場合は、'jacobian' の入力ではなく、'covar' の入力を使用して、必要な sigma パラメーターがロバスト近似を考慮するようにします。

ci = nlparci(...,'alpha',alpha) は、100(1-alpha)% の信頼区間を返します。

nlparci は、resid または JNaN を欠損値として処理し、対応する観測を無視します。

信頼区間の計算は、resid の長さが beta の長さを超え、J が列フルランクをもつシステムに対して有効です。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]x のデータ点 (パラメーター 2 による指数分布) およびノイズ (標準偏差 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 = 3×1

    1.0153
    3.0229
    2.1070

nlparci のヤコビ引数を使用して、[1;3;2] が 95% の信頼区間にあることを確認します。

ci = nlparci(ahat,r,'Jacobian',J)
ci = 3×2

    0.9869    1.0438
    2.9401    3.1058
    1.9963    2.2177

共分散引数を使用して同じ結果を取得できます。

ci = nlparci(ahat,r,'covar',cov)
ci = 3×2

    0.9869    1.0438
    2.9401    3.1058
    1.9963    2.2177

R2006a より前に導入