Main Content

nlparci

Intervalos de confianza de los parámetros de regresión no lineal

Sintaxis

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

Descripción

ci = nlparci(beta,resid,'covar',sigma) devuelve los intervalos de confianza del 95% ci de las estimaciones de parámetros de mínimos cuadrados no lineales beta. Antes de llamar a nlparci, use nlinfit para ajustar un modelo de regresión no lineal y obtener las estimaciones de coeficientes beta, los residuales resid y la matriz de covarianzas del coeficiente estimado sigma.

ci = nlparci(beta,resid,'jacobian',J) es una sintaxis alternativa que también calcula los intervalos de confianza del 95%. J es el jacobiano calculado por nlinfit. Si la opción 'robust' se usa con nlinfit, utilice la entrada 'covar' en lugar de la entrada 'jacobian', de forma que el parámetro sigma requerido tenga en cuenta el ajuste robusto.

ci = nlparci(...,'alpha',alpha) devuelve los intervalos de confianza del 100(1-alpha)%.

nlparci trata los NaN de resid o J como valores faltantes e ignora las observaciones correspondientes.

El cálculo del intervalo de confianza es válido para los sistemas en los que la longitud de resid supere a la longitud de beta y J tenga un rango de columna completo. Cuando J esté mal condicionado, los intervalos de confianza podrían no ser precisos.

Ejemplos

contraer todo

Supongamos que tiene datos y quiere ajustar un modelo de la forma

yi=a1+a2exp(-a3xi)+ϵi.

ai son los parámetros que quiere estimar, xi son los puntos de datos, yi son las respuestas, y εi son términos de ruido.

Escriba un identificador de función que represente el modelo:

mdl = @(a,x)(a(1) + a(2)*exp(-a(3)*x));

Genere datos sintéticos con parámetros a = [1;3;2], con los puntos de datos x distribuidos exponencialmente con el parámetro 2, además de ruido distribuido con normalidad con la desviación estándar 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;

Ajuste el modelo a los datos a partir de la estimación arbitraria 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

Compruebe si [1;3;2] se encuentra en un intervalo de confianza del 95% usando el argumento jacobiano de nlparci:

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

    0.9869    1.0438
    2.9401    3.1058
    1.9963    2.2177

Puede obtener el mismo resultado usando el argumento de covarianza:

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

    0.9869    1.0438
    2.9401    3.1058
    1.9963    2.2177

Historial de versiones

Introducido antes de R2006a

Consulte también

|