主要内容

预测

类:NonLinearModel

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

语法

ypred = predict(mdl,Xnew)
[ypred,yci] = predict(mdl,Xnew)
[ypred,yci] = predict(mdl,Xnew,Name,Value)

描述

ypred=预测(mdlXnew对象的预测响应mdl非线性回归模型中的点Xnew

ypred开办预测,预测mdlXnew返回真实平均响应的置信区间。

ypred开办预测,预测mdlXnew名称,值用一个或多个指定的附加选项预测响应名称,值对参数。

输入参数

mdl

非线性回归模型由fitnlm

Xnew

这些点mdl预测的反应。

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

  • 如果Xnew是一个数字矩阵,它必须有相同数量的变量(列)作为用来创建mdl.此外,所有变量用于创建mdl必须是数字。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

α

正标量从01.置信水平开办100(1 - ?α)%.

默认值:0.05,即95%置信区间。

预测

预测类型:

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

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

详细信息请参见polyconf

默认值:“曲线”

同时

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

详细信息请参见polyconf

默认值:

权重

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

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

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

给定的权重,W预测估计观测时的误差方差通过MSE * (1 / W (i)),其中MSE为均方误差。

默认值:没有重量

输出参数

ypred

预测平均值Xnewypred每个组件的尺寸是否相同Xnew

开办

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

例子

全部展开

建立汽车里程的非线性模型作为权重的函数,并预测响应。

创建一个指数模型的汽车里程作为一个函数的重量从carsmall数据。将权重乘以1000,使所有变量的大小大致相等。

负载carsmallX =重量;y = MPG;modelfun ='y ~ b1 + b2*exp(-b3*x/1000)';Beta0 = [1 1 1];mdl = fitnlm(X,y,modelfun,beta0);

创建对数据的预测反应。

Xnew = X;ypred = predict(mdl,Xnew);

把原始反应和预测反应画出来,看看它们有什么不同。

情节(X, y,“o”, X, ypred“x”)传说(“数据”“预测”

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示数据,预测。

建立一个汽车里程的非线性模型作为权重的函数,并检查一些响应的置信区间。

创建一个指数模型的汽车里程作为一个函数的重量从carsmall数据。将权重乘以1000,使所有变量的大小大致相等。

负载carsmallX =重量;y = MPG;modelfun ='y ~ b1 + b2*exp(-b3*x/1000)';Beta0 = [1 1 1];mdl = fitnlm(X,y,modelfun,beta0);

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

Xnew = [min(X);mean(X);max(X)];[ypred,yci] = predict(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)+b(2)*exp(-b(3)*x));rng (“默认”%用于再现性B = [1;3;2];X = extend (2,100,1);Y = modelfun(b,x) + normrnd(0,0.5,100,1);

使用鲁棒拟合选项拟合非线性模型。

Opts = statset(“nlinfit”);选择。RobustWgtFun =“bisquare”;B0 = [2;2;2];MDL = fitnlm(x,y,modelfun,b0,“选项”、选择);

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

Xrange = [min(x):.01:max(x)]';[ypred,yci] = predict(mdl,xrange,“同时”,真正的);图()图(x, y,“柯”观测数据%持有情节(xrange ypred,“k”“线宽”2)图(xrange,开办的,“r——”“线宽”, 1.5)

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

加载样例数据。

S =负载(“反应”);X = s .反应物;y = S.rate;a0 = s;

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

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

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

[ypred,yci] = predict(mdl,[100,100,100],“预测”“观察”...“重量”、重量)
Ypred = 1.8149
开办=1×21.5264 - 2.1033

提示

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

  • 对于从表或数据集数组创建的模型,可以尝试使用更容易使用的语法函数宏指令

参考文献

[1] Lane, t.p.和w.h. DuMouchel。多元回归中的同时置信区间美国统计学家.第48卷,1994年第4期,第315-321页。

[2]塞伯,g.a.f.和c.j.怀尔德。非线性回归.霍博肯,新泽西州:Wiley-Interscience, 2003。

Baidu
map