主要内容

预测

类:NonLinearModel

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

语法

ypred = predict(mdl,Xnew)
[ypred,yci] = predict(mdl,Xnew)
[ypred,yci] = predict(mdl,Xnew,名称,值)

描述

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”)传说(“数据”“预测”

图中包含一个axes对象。坐标轴对象包含两个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 = expextend (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)

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

加载样例数据。

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

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

A = 1;B = 1;权重= @(yhat) 1。/((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

提示

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

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

参考文献

雷恩,T. P.和W. H.杜穆谢尔。"多元回归中的同步置信区间"美国统计学家.1994年第4期,第48卷,第315-321页。

西伯,g.a.f和c.j.怀尔德。非线性回归.霍博肯,新泽西州:威利- interscience, 2003。