主要内容

预测

类:NonLinearModel

预测非线性回归模型的响应

语法

Xnew ypred =预测(mdl)
[ypred,开办]=预测(mdl Xnew)
[ypred,开办]=预测(mdl Xnew,名称,值)

描述

ypred=预测(MDL.,Xnew)返回预测的响应MDL.非线性回归模型的点Xnew

(ypred,开办] =预测(MDL.,Xnew)返回真正的均值响应的置信区间。

(ypred,开办] =预测(MDL.,Xnew,名称,值)通过一个或多个指定的其他选项预测响应名称,值对论点。

输入参数

MDL.

非线性回归模型,由fitnlm

Xnew

点的MDL.预测的反应。

  • 如果Xnew是表或数据集数组,它必须包含预测器名称MDL.

  • 如果Xnew是一个数字矩阵,它必须具有相同数量的变量(列),如用于创建的MDL.。此外,在创建中使用的所有变量MDL.必须是数值。

名称值对参数

指定可选的,以逗号分隔的对名称,值论点。的名字参数name和是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

'Α'

积极的标量01。信心水平开办100 (1 -α) %。

默认值:0.05,意味着95%的置信区间。

'预测'

类型的预测:

  • '曲线'- - - - - -预测预测拟合的平均值的置信范围。

  • “观察”- - - - - -预测预测了新的观测结果的可信范围。这将导致更宽的范围,因为新的观测结果的误差等于估计平均值的误差,加上观测结果与真实平均值之间的可变性。

有关详细信息,请参见Polyconf.

默认值:'曲线'

'同时'

指定置信度界是否适用于所有预测值值的逻辑值(真正),或对每个预测值()。同时边界比单独的界限更宽,因为要求整个曲线在界限内比要求单个预测值值的曲线在界限内更严格。

有关详细信息,请参见Polyconf.

默认值:

“重量”

实的、正值权重的向量或函数句柄。

  • 如果您指定了一个向量,那么它的元素数量必须与观测的数量(或行)相同Xnew

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

给予重量,W,预测估计观测时的误差方差通过MSE *(1 / W(i)),其中MSE是平均平方误差。

默认值:没有重量

输出参数

ypred

预测平均值Xnewypred与每个组件相同Xnew

开办

置信区间,两列矩阵,每行提供一个间隔。置信区间的含义取决于名称值对的设置。

例子

全部展开

创建一个作为重量的函数的汽车里程的非线性模型,并预测响应。

创建一个幂快的汽车里程模型,作为重量的函数Carsmall.数据。将权重缩小1000倍,因此所有变量大小大致相等。

负载Carsmall.x =重量;y = mpg;modelfun =.'y〜b1 + b2 * exp(-b3 * x / 1000)';beta0 = [1 1 1];mdl = fitnlm (X, y, modelfun beta0);

创建对数据的预测响应。

xnew = x;Ypred =预测(MDL,Xnew);

绘制原始响应和预测的响应,以了解它们的不同。

绘图(x,y,'o', X, ypred“x”)传说('数据','预料到的')

建立了汽车里程与重量的非线性模型,并对一些响应的置信区间进行了检验。

创建一个幂快的汽车里程模型,作为重量的函数Carsmall.数据。将权重缩小1000倍,因此所有变量大小大致相等。

负载Carsmall.x =重量;y = mpg;modelfun =.'y〜b1 + b2 * exp(-b3 * x / 1000)';beta0 = [1 1 1];mdl = fitnlm (X, y, modelfun beta0);

创建对最小、平均和最大数据点的预测响应。

Xnew = [min (X);意味着(X),马克斯(X));[ypred,开办]=预测(mdl Xnew)
Ypred =3×134.9469 22.6868 10.0617
开办=3×232.5212 37.3726 21.4061 23.9674 7.0148 13.1086

从非线性回归模型生成示例数据

y = b 1 + b 2 经验值 ( - 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);

使用强大的拟合选项拟合非线性模型。

选择= statset (“nlinfit”);选择。RobustWgtFun ='bisquare';b0 = (2; 2; 2);mdl = fitnlm (x, y, modelfun b0,“选项”、选择);

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

Xrange = [min(x):01:max(x)]';[Ypred,YCI] =预测(MDL,XRange,'同时',真正的);图()图(x, y,'ko')%观察到的数据持有绘图(Xrange,Ypred,'K',“线宽”2)图(xrange,开办的,“r——”,“线宽”, 1.5)

加载示例数据。

S =负载(“反应”);X = S.reactants;y = S.rate;beta0 = S.beta;

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

a = 1;B = 1;权重= @(yhat)1./((+ b * abs(yhat))。^ 2);mdl = fitnlm(x,y,@ hougen,beta0,“重量”、重量);

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

[ypred,开办]=预测(mdl, [100100100],'预测',“观察”,“重量”,重量)
ypred = 1.8149
开办=1×21.5264 2.1033

提示

  • 对于添加了噪声的预测,请使用随机

  • 对于从表或数据集数组创建的模型可以更容易使用的语法,请尝试Feval.

参考资料

[1] Lane, T. P.和W. H. DuMouchel。"多元回归中的同时置信区间"美国统计学家。卷。48,4,1994,第315-321页。

[2] SEBER,G. A. F.和C. J. Wild。非线性回归。Hoboken,NJ:Wiley-Interscience,2003。