nlparci

Нелинейные доверительные интервалы параметра регрессии

Синтаксис

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

Описание

ci = nlparci(beta,resid,'covar',sigma) возвращает 95% доверительных интервалов ci для нелинейного метода наименьших квадратов параметр оценивает beta. Перед вызовом nlparciИспользование nlinfit подбирать нелинейную модель регрессии и получить коэффициент оценивают beta, остаточные значения resid, и оцененная содействующая ковариационная матрица sigma.

ci = nlparci(beta,resid,'jacobian',J) альтернативный синтаксис, который также вычисляет 95% доверительных интервалов. J якобиан, вычисленный nlinfit. Если 'robust' опция используется с nlinfit, используйте 'covar' введите, а не 'jacobian' введите так, чтобы необходимый sigma параметр принимает устойчивый подбор кривой во внимание.

ci = nlparci(...,'alpha',alpha) возвращает 100(1-alpha)% доверительные интервалы.

nlparci обработки NaNs в resid или J как отсутствующие значения, и игнорирует соответствующие наблюдения.

Вычисление доверительного интервала допустимо для систем где длина 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

Проверяйте ли [1;3;2] находится в 95%-м доверительном интервале с помощью якобиевского аргумента в nlparci:

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