nlpredci
非线性回归预测置信区间
语法
描述
例子
非线性回归曲线的置信区间
加载示例数据。
S =负载(“反应”);X = S.reactants;y = S.rate;beta0 = S.beta;
的初始值将Hougen-Watson模型与速率数据拟合beta0
.
[β,R, J] = nlinfit (X, y, @hougen beta0);
得到在平均反应物水平下曲线值的预测响应和95%置信区间半宽度。
(ypredδ)= nlpredci (@hougen,意味着(X),β,R,的雅可比矩阵, J)
ypred = 5.4622
δ= 0.1921
计算曲线值的95%置信区间。
(ypred-delta ypred +δ)
ans =1×25.2702 - 5.6543
新观测的预测区间
加载示例数据。
S =负载(“反应”);X = S.reactants;y = S.rate;beta0 = S.beta;
的初始值将Hougen-Watson模型与速率数据拟合beta0
.
[β,R, J] = nlinfit (X, y, @hougen beta0);
得到一个新的反应物水平的预测响应和95%预测区间半宽[100100100]
.
(ypredδ)= nlpredci (@hougen,[100100100],β,R,的雅可比矩阵J...“PredOpt”,“观察”)
ypred = 1.8346
δ= 0.5101
计算新观测值的95%预测区间。
(ypred-delta ypred +δ)
ans =1×21.3245 - 2.3447
鲁棒拟合曲线的同时置信区间
从非线性回归模型中生成样本数据 ,在那里 , , 为系数,误差项呈正态分布,均值为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);
使用鲁棒拟合选项拟合非线性模型。
选择= statset (“nlinfit”);选择。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”,“上”);Lower = ypred - delta;Upper = ypred + delta;图()图(x, y,“柯”)%观测数据持有在情节(xrange ypred,“k”,“线宽”2)图(xrange(低;上),“r——”,“线宽”, 1.5)
使用观察权重的置信区间
加载示例数据。
S =负载(“反应”);X = S.reactants;y = S.rate;beta0 = S.beta;
为观测权重指定一个函数句柄,然后使用指定的观测权重函数将Hougen-Watson模型拟合到速率数据。
= 1;b = 1;权重= @(yhat) 1。/ ((a + b * abs (yhat)) ^ 2);[β,R, J, CovB] = nlinfit (X, y, @hougen beta0,“重量”、重量);
计算有反应物水平的新观测值的95%预测区间[100100100]
利用观测权函数。
(ypredδ)= nlpredci (@hougen,[100100100],β,R,的雅可比矩阵J...“PredOpt”,“观察”,“重量”、重量);(ypred-delta ypred +δ)
ans =1×21.5264 - 2.1033
使用非常数误差模型的置信区间
加载示例数据。
S =负载(“反应”);X = S.reactants;y = S.rate;beta0 = S.beta;
利用组合误差方差模型将Hougen-Watson模型与率数据拟合。
[β,R, J, CovB, MSE, S] = nlinfit (X, y, @hougen beta0,“ErrorModel”,“组合”);
计算有反应物水平的新观测值的95%预测区间[100100100]
采用拟合误差方差模型。
(ypredδ)= nlpredci (@hougen,[100100100],β,R,的雅可比矩阵J...“PredOpt”,“观察”,“ErrorModelInfo”,年代);(ypred-delta ypred +δ)
ans =1×21.3245 - 2.3447
输入参数
modelfun
- - - - - -非线性回归模型函数
函数处理
非线性回归模型函数,指定为函数句柄。modelfun
必须接受两个输入参数,一个系数矢量和一个数组X
——按照这个顺序——并返回一个拟合响应值的向量。
例如,指定hougen
非线性回归函数,使用函数句柄@hougen
.
数据类型:function_handle
X
- - - - - -用于预测的输入值
矩阵
输入预测值,指定为一个矩阵。nlpredci
对每一行的协变量进行预测X
.里面应该有一栏X
对于模型中的每个系数。
数据类型:单
|双
β
- - - - - -估计回归系数
返回向量nlinfit
的估计回归系数,指定为先前调用返回的拟合系数的向量nlinfit
.
数据类型:单
|双
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:“阿尔法”,0.1,“PredOpt”,“观察”
指定新观察值的90%预测间隔。
α
- - - - - -显著性水平
0.05
(默认)|(0,1)范围内的标量值
置信区间的显著性水平,指定为逗号分隔的对,由“α”
和(0,1)范围内的标量值。如果α
是有价值的α,然后nlpredci
返回100×(1 -)的区间α) %的信心水平。
默认的置信度级别是95% (α= 0.05)。
例子:“阿尔法”,0.1
数据类型:单
|双
ErrorModelInfo
- - - - - -关于误差模型拟合的信息
返回的结构nlinfit
关于错误模型拟合的信息,指定为逗号分隔的对,由“ErrorModelInfo”
和由上一个调用返回的结构nlinfit
.
ErrorModelInfo
只对返回的预测区间有影响时PredOpt
的值“观察”
.如果不使用ErrorModelInfo
,然后nlpredci
假设误差方差模型为“不变”
.
返回的错误模型结构nlinfit
具有以下字段:
ErrorModel |
选择误差模型 |
ErrorParameters |
估计误差参数 |
ErrorVariance |
对象的函数句柄N——- - - - - -p矩阵,X ,并返回N-乘1的误差方差向量使用估计误差模型 |
均方误差 |
均方误差 |
ScheffeSimPred |
Scheffé参数为使用估计误差模型时的同时预测间隔 |
WeightFunction |
逻辑与价值真正的 如果您使用自定义权重函数之前nlinfit |
FixedWeights |
逻辑与价值真正的 如果你之前用的是固定权重nlinfit |
RobustWeightFunction |
逻辑与价值真正的 如果你之前用过稳健拟合nlinfit |
SimOpt
- - - - - -用于指定同时边界的指示器
“关闭”
(默认)|“上”
指示符,用于指定同时边界,指定为逗号分隔的对,由“SimOpt”
,要么“关闭”
或“上”
.使用价值“关闭”
计算非同时边界,和“上”
同时界限。
输出参数
更多关于
可估计预测的置信区间
当估计的模型雅可比矩阵不是满秩时,则可能无法在所有预测点上构造合理的置信区间。在这种情况下,nlpredci
仍然试图为任何可尊敬的预测点。
例如,假设你拟合线性函数 在设计矩阵中的点上
的估计雅可比矩阵 就是设计矩阵本身, 因此,雅可比矩阵不是满秩的:
rng (“默认”)%的再现性y = randn (6,1);Linfun = @(b,x) x*b;beta0 = (1, 1, 1);X = [repmat([1,1 0],3,1);repmat ([1 0 1] 3 1)];[β,R, J] = nlinfit (X, y, linfun beta0);
警告:解处的雅可比矩阵是病态的,一些模型参数可能无法很好地估计(它们无法识别)。在做预测时要谨慎。在nlinfit在283
在这个例子中,nlpredci
能否只计算满足线性关系的点的预测区间
如果你试图计算不可识别点上预测的置信区间,nlpredci
返回南
对于相应的间隔半宽:
Xpred = [1 1 1;0 1 -1;2 1 1];(ypredδ)= nlpredci (linfun xpred,β,R,的雅可比矩阵, J)
ypred = -0.0035 0.0798 -0.0047 delta = NaN 3.8102 3.8102
δ
是南
因为第一行xpred
不满足所需的线性相关性,因此不是一个可估计的对比。
提示
算法
如果雅可比矩阵,
J
,没有完整的列秩,那么一些模型参数可能是不可识别的。在这种情况下,nlpredci
试图构建可估计预测的置信区间,并返回南
对于那些没有的。
参考文献
雷恩,T. P.和W. H.杜穆谢尔。"多元回归中的同步置信区间"美国统计学家.1994年第4期,第48卷,第315-321页。
西伯,g.a.f和c.j.怀尔德。非线性回归.霍博肯,新泽西州:威利- interscience, 2003。
版本历史
之前介绍过的R2006a
另请参阅
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。