主要内容gydF4y2Ba

非线性回归的工作流gydF4y2Ba

这个例子展示了如何做一个典型的非线性回归工作流程:导入数据,拟合非线性回归,测试其质量,修改它以提高质量,并基于模型进行预测。gydF4y2Ba

步骤1。准备数据。gydF4y2Ba

加载gydF4y2Ba反应gydF4y2Ba数据。gydF4y2Ba

负载gydF4y2Ba反应gydF4y2Ba

检查工作区中的数据。gydF4y2Ba反应物gydF4y2Ba是一个13行3列的矩阵。每一行对应一个观察值,每一列对应一个变量。变量名在gydF4y2BaxngydF4y2Ba:gydF4y2Ba

xngydF4y2Ba
xn =gydF4y2Ba3 x10 char数组gydF4y2Ba"氢" "正戊烷" "异戊烷"gydF4y2Ba

同样的,gydF4y2Ba率gydF4y2Ba是一个包含13个响应的向量,变量名在gydF4y2BayngydF4y2Ba:gydF4y2Ba

yngydF4y2Ba
yn = '反应速率'gydF4y2Ba

的gydF4y2Bahougen.mgydF4y2Ba文件包含一个非线性模型的反应速率作为一个函数的三个预测变量。对于一个5维向量gydF4y2Ba bgydF4y2Ba 和三维向量gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba

hgydF4y2Ba ogydF4y2Ba ugydF4y2Ba ggydF4y2Ba egydF4y2Ba ngydF4y2Ba (gydF4y2Ba bgydF4y2Ba ,gydF4y2Ba xgydF4y2Ba )gydF4y2Ba =gydF4y2Ba bgydF4y2Ba (gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba xgydF4y2Ba (gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba -gydF4y2Ba xgydF4y2Ba (gydF4y2Ba 3.gydF4y2Ba )gydF4y2Ba /gydF4y2Ba bgydF4y2Ba (gydF4y2Ba 5gydF4y2Ba )gydF4y2Ba 1gydF4y2Ba +gydF4y2Ba bgydF4y2Ba (gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba xgydF4y2Ba (gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba +gydF4y2Ba bgydF4y2Ba (gydF4y2Ba 3.gydF4y2Ba )gydF4y2Ba xgydF4y2Ba (gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba +gydF4y2Ba bgydF4y2Ba (gydF4y2Ba 4gydF4y2Ba )gydF4y2Ba xgydF4y2Ba (gydF4y2Ba 3.gydF4y2Ba )gydF4y2Ba

作为解决方案的起点,采取gydF4y2BabgydF4y2Ba作为1的向量。gydF4y2Ba

beta0 = 1(5、1);gydF4y2Ba

步骤2。对数据拟合一个非线性模型。gydF4y2Ba

mdl = fitnlm(反应物,gydF4y2Ba...gydF4y2Ba率,@hougen beta0)gydF4y2Ba
mdl =非线性回归模型:y ~ hougen(b,X) Estimated Coefficients: Estimate SE tStat pValue ________ ________ ______ _______ b1 1.2526 0.86702 1.4447 0.18654 b2 0.062776 0.043562 1.4411 0.18753 b3 0.040048 0.030885 1.2967 0.23089 b4 0.11242 0.075158 1.4957 0.17309 b5 1.1914 0.83671 1.4239 0.1923观测数:13、误差自由度:8均方根误差:0.193 R-Squared: 0.999,调整R-Squared 0.998 F-statistic vs. 0模型:3.91e+03, p-value = 2.54e-13gydF4y2Ba

步骤3。检查模型的质量。gydF4y2Ba

均方根误差与观测值的范围相比是相当低的。gydF4y2Ba

(mdl。RMSE最小(率)最大(率)gydF4y2Ba
ans =gydF4y2Ba1×3gydF4y2Ba0.1933 0.0200 14.3900gydF4y2Ba

检查残差图。gydF4y2Ba

plotResiduals (mdl)gydF4y2Ba

图中包含一个轴对象。标题为残差直方图的坐标轴对象包含一个patch类型的对象。gydF4y2Ba

这个模型对数据来说似乎足够了。gydF4y2Ba

检查诊断图以寻找异常值。gydF4y2Ba

plotDiagnostics (mdlgydF4y2Ba“cookd”gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。标题为Cook's distance的Case order plot的axis对象包含2个类型为line的对象。这些物体代表库克距离,参考线。gydF4y2Ba

观察gydF4y2Ba6gydF4y2Ba好像有点过分。gydF4y2Ba

步骤4。删除离群值。gydF4y2Ba

将异常值从配合件上移除gydF4y2Ba排除gydF4y2Ba名称-值对。gydF4y2Ba

mdl1 = fitnlm(反应物,gydF4y2Ba...gydF4y2Ba率,@hougen,(5、1),gydF4y2Ba“排除”gydF4y2Ba6)gydF4y2Ba
mdl1 =非线性回归模型:y ~ hougen(b,X) Estimated Coefficients: Estimate SE tStat pValue ________ ________ ______ _______ b1 0.619 0.4552 1.3598 0.21605 b2 0.030377 0.023061 1.3172 0.22924 b3 0.018927 0.01574 1.2024 0.26828 b4 0.053411 0.041084 1.3 0.23476 b5 2.4125 1.7903 1.3475 0.219812、误差自由度:7均方根误差:0.198 R-Squared: 0.999,校正R-Squared 0.998 F-statistic vs. 0模型:2.67e+03, p-value = 2.54e-11gydF4y2Ba

模型系数与模型中的系数相比有很大的变化gydF4y2BamdlgydF4y2Ba.gydF4y2Ba

第5步。检查两个模型的切片图。gydF4y2Ba

为了观察每个预测因子对反应的影响,使用gydF4y2BaplotSlice (mdl)gydF4y2Ba.gydF4y2Ba

plotSlice (mdl)gydF4y2Ba

图预测切片图包含3个轴对象和其他类型的uimenu, uicontrol对象。axis对象1包含5个类型为line的对象。axis对象2包含5个类型为line的对象。坐标轴对象3包含5个类型为line的对象。gydF4y2Ba

plotSlice (mdl1)gydF4y2Ba

图预测切片图包含3个轴对象和其他类型的uimenu, uicontrol对象。axis对象1包含5个类型为line的对象。axis对象2包含5个类型为line的对象。坐标轴对象3包含5个类型为line的对象。gydF4y2Ba

两幅图看起来非常相似,但置信区间略宽gydF4y2Bamdl1gydF4y2Ba.这种差异是可以理解的,因为匹配的数据点少了一个,代表了超过7%的观测值。gydF4y2Ba

步骤6。预测新的数据。gydF4y2Ba

创建一些新的数据并预测来自两个模型的响应。gydF4y2Ba

Xnew =(200200200; 100200100; 500年,50岁,5];[ypred yci] =预测(mdl,Xnew)gydF4y2Ba
ypred =gydF4y2Ba3×1gydF4y2Ba1.8762 6.2793 1.6718gydF4y2Ba
开办=gydF4y2Ba3×2gydF4y2Ba1.6283 2.1242 5.9789 6.5797 1.5589 1.7846gydF4y2Ba
[ypred1 yci1] =预测(mdl1,Xnew)gydF4y2Ba
ypred1 =gydF4y2Ba3×1gydF4y2Ba1.8984 6.2555 1.6594gydF4y2Ba
yci1 =gydF4y2Ba3×2gydF4y2Ba1.6260 2.1708 5.9323 6.5787 1.5345 1.7843gydF4y2Ba

尽管模型系数不同,但预测几乎相同。gydF4y2Ba