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% 신뢰구간도 계산합니다. Jnlinfit로 계산된 야코비 행렬입니다. 'robust' 옵션이 nlinfit와 함께 사용되는 경우 필수 sigma 모수가 로버스트 피팅을 고려하도록 'jacobian' 입력값이 아니라 'covar' 입력값을 사용하십시오.

ci = nlparci(...,'alpha',alpha)100(1-alpha)% 신뢰구간을 반환합니다.

nlparciresid 또는 J에서 NaN을 누락값으로 취급하고 이에 대응하는 관측값을 무시합니다.

신뢰구간 계산은 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에 Jacobian 인수를 사용하여 [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 이전에 개발됨

참고 항목

|