主要内容gydF4y2Ba

非线性回归工作流程gydF4y2Ba

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

步骤1。准备数据gydF4y2Ba

加载gydF4y2Ba反应gydF4y2Ba数据。gydF4y2Ba

负载gydF4y2Ba反应gydF4y2Ba

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

xngydF4y2Ba
xn =gydF4y2Ba3x10字符数组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

a0 = ones(5,1);gydF4y2Ba

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

MDL = fitnlm(反应物,gydF4y2Ba...gydF4y2Ba率,@hougen beta0)gydF4y2Ba
mdl =非线性回归模型:y ~ hougen(b,X)估计系数:估计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统计量vs零模型:3.91e+03, p值= 2.54e-13gydF4y2Ba

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

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

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

检查残差图。gydF4y2Ba

plotResiduals (mdl)gydF4y2Ba

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

这个模型对这些数据似乎是足够的。gydF4y2Ba

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

plotDiagnostics (mdlgydF4y2Ba“cookd”gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。Cook’s distance Case order plot的坐标轴对象包含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)估计系数:估计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.2198观测数:12,误差自由度:7均方根误差:0.198 r平方:0.999,调整r平方0.998 f统计量vs零模型:2.67e+03, p值= 2.54e-11gydF4y2Ba

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

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

要查看每个预测器对响应的影响,请使用gydF4y2BaplotSlice (mdl)gydF4y2Ba.gydF4y2Ba

plotSlice (mdl)gydF4y2Ba

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

plotSlice (mdl1)gydF4y2Ba

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

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

步骤6。预测新数据。gydF4y2Ba

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

Xnew = [200,200,200;100,200,100;500,50,5];[ypred yci] = predict(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] = predict(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