Matlab 非线性回归

简介

非线性回归需要指定模型,然后再采取某种方法计算出模型参数。实际操作过程中可能需要因变量与自变量散点图来分析具体模型形式。

非线性回归

非线性回归工作流程:导入数据,拟合非线性回归,测试其质量,对其进行修改以提高质量以及根据模型进行预测。

例子

clc
clear all
close all

% step1:加载reaction数据,reaction是具有133列的矩阵。每一行对应一个观察值,每一列对应一个变量。
load reaction

% step2:hougen.m文件包含反应速率的非线性模型,该模型是三个预测变量的函数。
beta0 = ones(5,1);
mdl = fitnlm(reactants,...
    rate,@hougen,beta0)

% step3:检查模型的质量。与观测值范围相比,均方根误差相当低。
[mdl.RMSE min(rate) max(rate)]
plotResiduals(mdl)
plotDiagnostics(mdl,'cookd')

% step4.移除异常值。使用排除名称/值对从拟合中移除异常值。
mdl1 = fitnlm(reactants,...
    rate,@hougen,ones(5,1),'Exclude',6)

% step5.检查两个模型的切片图。要查看每个预测变量对响应的影响,请使用plotSlice(mdl)绘制切片图。
plotSlice(mdl)  
plotSlice(mdl1) 

% step6.预测新数据。创建一些新数据并预测两个模型的响应。
Xnew =  [200,200,200;100,200,100;500,50,5];
[ypred yci] = predict(mdl,Xnew)
[ypred1 yci1] = predict(mdl1,Xnew)

结果


mdl = 


Nonlinear regression model:
    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


Number of observations: 13, Error degrees of freedom: 8
Root Mean Squared Error: 0.193
R-Squared: 0.999,  Adjusted R-Squared 0.998
F-statistic vs. zero model: 3.91e+03, p-value = 2.54e-13

ans =

    0.1933    0.0200   14.3900


mdl1 = 


Nonlinear regression model:
    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.2198


Number of observations: 12, Error degrees of freedom: 7
Root Mean Squared Error: 0.198
R-Squared: 0.999,  Adjusted R-Squared 0.998
F-statistic vs. zero model: 2.67e+03, p-value = 2.54e-11

ypred =

    1.8762
    6.2793
    1.6718


yci =

    1.6283    2.1242
    5.9789    6.5797
    1.5589    1.7846


ypred1 =

    1.8984
    6.2555
    1.6594


yci1 =

    1.6260    2.1708
    5.9323    6.5787
    1.5345    1.7843

>> 

找到误差并移除

这些图看起来非常相似,其对mdl1的置信区间稍宽。 这种差异是可以理解的,因为拟合中的数据点少了,表示观测值减少了7%以上。模型系数虽然不同,但是预测几乎相同。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值