主要内容

nlpredci

非线性回归预测置信区间

描述

实例

[伊普雷德,δ]=nlpredci(modelfun,X,β,R"Covar",,冠状病毒)收益预测,伊普雷德,和95%置信区间半宽度,δ,为非线性回归模型modelfun在输入值处X.在调用之前nlpredci,使用非线性回归适合modelfun然后得到估计系数,β残差,R,和方差-协方差矩阵,冠状病毒

实例

[伊普雷德,δ]=nlpredci(modelfun,X,β,R"Covar",,冠状病毒,名称、值)使用由一个或多个名称-值对参数指定的其他选项。

实例

[伊普雷德,δ]=nlpredci(modelfun,X,β,R“雅可比矩阵”,J)收益预测,伊普雷德,和95%置信区间半宽度,δ,为非线性回归模型modelfun在输入值处X.在调用之前nlpredci,使用非线性回归适合modelfun然后得到估计系数,β残差,R,和雅可比,J

如果您使用一个健壮的选项非线性回归,那么你应该使用科瓦尔语法而不是雅可比语法。方差协方差矩阵,冠状病毒,需要适当考虑坚固的配件。

实例

[伊普雷德,δ]=nlpredci(modelfun,X,β,R“雅可比矩阵”,J,名称、值)使用由一个或多个名称-值对参数指定的其他选项。

例子

全部崩溃

加载示例数据。

S =负载(“反应”);X=S.反应物;y=S.速率;beta0=S.β;

拟合Hougen-Watson模型到速率数据使用的初值beta0

[β,R, J] = nlinfit (X, y, @hougen beta0);

获得平均反应物水平下曲线值的预测响应和95%置信区间半宽度。

[ypred,delta]=nlpredci(@hougen,平均值(X),β,R,“雅可比”, J)
ypred=5.4622
δ=0.1921

计算曲线值的95%置信区间。

[ypred delta,ypred+delta]
ans=1×25.2702 - 5.6543

加载示例数据。

S =负载(“反应”);X=S.反应物;y=S.速率;beta0=S.β;

拟合Hougen-Watson模型到速率数据使用的初值beta0

[β,R, J] = nlinfit (X, y, @hougen beta0);

获得反应物水平新观测的预测响应和95%预测间隔半宽度[100,100,100]

(ypredδ)= nlpredci (@hougen,[100100100],β,R,“雅可比”J...“预选择”,“观察”)
ypred = 1.8346
δ=0.5101

计算新观测值的95%预测区间。

[ypred delta,ypred+delta]
ans=1×21.3245 2.3447

从非线性回归模型生成样本数据 Y = B 1. + B 2. E x P { B 3. x } + ϵ 哪里 B 1. , B 2. , B 3. 为系数,误差项为正态分布,平均值为0,标准偏差为0.5。

modelfun = @ (b, x) (b (1) + (2) * exp (- b (3) * x));rng (“默认”)%为了再现性b = [1; 3; 2);x = exprnd (2100 1);Y = modelfun(b,x) + normrnd(0,0.5,100,1);

使用稳健拟合选项拟合非线性模型。

opts=statset(“nlinfit”); opts.RobustWgtFun=“bisquare”;beta0 = (2; 2; 2);[β,R, J, CovB, MSE) = nlinfit (x, y, modelfun beta0,选择);

绘制拟合回归模型和同步95%置信限。

xrange = min (x): . 01:马克斯(x);(ypredδ)= nlpredci (modelfun xrange,β,R,“科瓦尔”,CovB,...“MSE”,MSE,“SimOpt”,“开”);low = ypred - delta;上面= ypred + delta;图()图(x, y,“柯”)%观测数据持有情节(xrange ypred,“k”,“线宽”2)图(xrange(低;上),“r——”,“线宽”,1.5)

图中包含一个轴对象。轴对象包含4个类型为line的对象。

加载示例数据。

S =负载(“反应”);X=S.反应物;y=S.速率;beta0=S.β;

为观察权值指定一个函数句柄,然后使用指定的观察权函数将Hougen-Watson模型拟合到速率数据。

a=1;b=1;权重=@(yhat)1./((a+b*abs(yhat))。^2);[beta,R,J,CovB]=nlinfit(X,y,@hougen,beta0,“重量”,重量);

用反应物水平计算新观测值的95%预测区间[100,100,100]使用观察权重函数。

(ypredδ)= nlpredci (@hougen,[100100100],β,R,“雅可比”J...“预选择”,“观察”,“重量”,重量);[ypred delta,ypred+delta]
ans=1×21.5264 2.1033

加载示例数据。

S =负载(“反应”);X=S.反应物;y=S.速率;beta0=S.β;

使用组合误差方差模型拟合Hougen-Watson模型到速率数据。

[β,R, J, CovB, MSE, S] = nlinfit (X, y, @hougen beta0,“错误模型”,“合并”);

用反应物水平计算新观测值的95%预测区间[100,100,100]使用拟合误差方差模型。

(ypredδ)= nlpredci (@hougen,[100100100],β,R,“雅可比”J...“预选择”,“观察”,“ErrorModelInfo”,S);[ypred delta,ypred+delta]
ans=1×21.3245 2.3447

输入参数

全部崩溃

非线性回归模型函数,指定为函数句柄。modelfun必须接受两个输入参数,一个系数向量和一个数组X-并返回拟合响应值的向量。

例如,要指定厚根非线性回归函数,使用函数句柄@hougen

数据类型:功能手柄

预测的输入值,指定为一个矩阵。nlpredci对每行数据中的协变量进行预测X.表格中应该有一列X对于模型中的每个系数。

数据类型:|双重的

估计回归系数,指定为前一次调用返回的拟合系数向量非线性回归

数据类型:|双重的

适合的残差modelfun,指定为前一个调用返回的残差向量非线性回归

拟合系数的估计方差-协方差矩阵,β,指定为上一次调用返回的方差协方差矩阵非线性回归

非线性回归模型的估计雅可比矩阵,modelfun,指定为前一次调用返回的雅可比矩阵非线性回归

名称值参数

指定可选的逗号分隔的字符对名称、值论据。的名字是参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值

例子:'α',0.1,'PredOpt','observation'指定新观测值的90%预测间隔。

置信区间的显著性级别,指定为逗号分隔的对,由“α”和范围(0,1)内的标量值。如果阿尔法有价值α然后nlpredci返回100×(1 -α) %的信心水平。

默认置信水平为95%(α= 0.05).

例子:“阿尔法”,0.1

数据类型:|双重的

有关错误模型拟合的信息,指定为逗号分隔对,由“ErrorModelInfo”以及上一次调用返回的结构非线性回归

ErrorModelInfo仅在以下情况下对返回的预测间隔有影响:预先选择有价值“观察”.如果您不使用ErrorModelInfo然后nlpredci假设误差方差模型为“不变”

返回的错误模型结构非线性回归有以下字段:

ErrorModel 选择误差模型
误差参数 估计误差参数
误差方差 接受N-借-P矩阵,X,并返回N-使用估计误差模型的误差方差的by-1向量
微卫星 均方误差
谢夫西姆普雷德 使用估计误差模型时同步预测区间的Scheffé参数
权函数 逻辑与价值真正的中使用的自定义权重函数非线性回归
FixedWeights 逻辑与价值真正的如果以前在中使用了固定权重非线性回归
RobustWeightFunction 逻辑与价值真正的如果以前在中使用过稳健拟合非线性回归

拟合非线性回归模型的均方误差(MSE),指定为逗号分隔对,包括“MSE”以及上一次调用返回的MSE值非线性回归

如果您使用一个健壮的选项非线性回归,则必须在预测新观测值时指定MSE,以正确考虑稳健拟合。如果未指定MSE,则nlpredci根据残差计算MSE,R,并且不考虑稳健拟合。

例如,如果微卫星返回的MSE值是非线性回归,则可以指定MSE, MSE

数据类型:|双重的

要计算的预测间隔,指定为逗号分隔对组成“预选择”或者“曲线”“观察”

  • 如果指定该值“曲线”然后nlpredci返回观测值处估计曲线(函数值)的置信区间X

  • 如果指定该值“观察”然后nlpredci返回新观测值的预测时间间隔X

如果您指定“观察”在使用具有非线性回归,则还必须指定的值微卫星提供均方误差的稳健估计。

例子:“预选择”,“观察”

指定同步边界的指示符,指定为逗号分隔对,由“SimOpt”或者“关”“开”.使用值“关”计算非同步边界,以及“开”用于同时边界。

观察权重,指定为逗号分隔对,由“重量”一个正标量值的向量或者一个函数句柄。默认值是没有权重。

  • 如果指定一个权重向量,那么它必须具有与观测值(行)相同的元素数量X

  • 如果为权重指定函数句柄,则它必须接受预测响应值向量作为输入,并返回实际正权重向量作为输出。

给定权重,W,nlpredci估计观测时的误差方差通过mse * (1 / W (i))哪里微卫星是否使用均方误差值指定微卫星

例子:“权重”,@WFun

数据类型:双重的||功能手柄

输出参数

全部崩溃

预测响应,返回为与。相同行数的向量X

置信区间半宽,返回为具有相同行数的向量X.默认情况下,δ包含非同时95%置信区间的半宽度modelfun观察到X.您可以计算置信区间的上下限为伊普雷德三角洲Ypred +δ分别地

如果“预选择”有价值“观察”然后δ包含中值处新观测值预测间隔的半宽度X

更多关于

全部崩溃

可估计预测的置信区间

当估计的模型雅可比矩阵不是满秩时,可能无法在所有预测点构造合理的置信区间。在这种情况下,,nlpredci仍然试图构造任意的置信区间值得尊重的预测点。

例如,假设您拟合线性函数 F ( x , β ) = β 1. x 1. + β 2. x 2. + β 3. x 3. 在设计矩阵的点上

X = ( 1. 1. 0 1. 1. 0 1. 1. 0 1. 0 1. 1. 0 1. 1. 0 1. )

估计的雅可比矩阵在 X 是设计矩阵本身, J = X 因此,雅可比矩阵不是满秩的:

rng (“默认”)%为了再现性y=randn(6,1);linfun=@(b,x)x*b;beta0=[1;1;1];x=[repmat([1,10],3,1);repmat([1,1],3,1)];[beta,R,J]=nlinfit(x,y,linfun,beta0);
警告:解决方案中的雅可比矩阵是病态的,某些模型参数可能无法很好地估计(它们无法识别)。在进行预测时请谨慎。>nlinfit中283处

在这个例子中,nlpredci只能在满足线性关系的点处计算预测间隔

x 1. = x 2. + x 3.

如果您试图计算不可识别点预测的置信区间,nlpredci返回对应的间隔半宽:

xpred=[11;01-1;211];[ypred,delta]=nlpredci(linfun,xpred,beta,R,“雅可比”, J)
ypred=-0.0035 0.0798-0.0047 delta=NaN 3.8102 3.8102
这里,第一个元素δ因为第一排xpred不满足要求的线性相关性,因此不是可估计的对比度。

提示

  • 要计算复杂参数或数据的置信区间,需要将问题分解为实部和虚部非线性回归:

    1. 定义参数向量β作为原始参数向量的实部和虚部的串联。

    2. 连接响应向量的实部和虚部Y作为单个向量。

    3. 修改模型函数modelfun接受X和纯实参数向量,并返回拟合值的实部和虚部的串联。

    用这种方式表述问题,非线性回归计算真实的估计,置信区间是可行的。

算法

  • nlpredci对待残差中的值,R,或者雅可比矩阵,J,作为缺少的值,并忽略相应的观察值。

  • 如果雅可比矩阵,J,没有完整的列秩,则某些模型参数可能无法识别。在这种情况下,,nlpredci试图构建可估计预测的置信区间,并返回对于那些不是。

工具书类

[1] 多重回归中的同时置信区间美国统计学家第48卷,第4期,1994年,第315-321页。

[2] Seber、G.A.F.和C.J.Wild。非线性回归.霍博肯:Wiley-Interscience, 2003。

之前介绍过的R2006a