简介

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

非线性回归

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

例子

clc
clear all
close all% step1:加载reaction数据,reaction是具有13行3列的矩阵。每一行对应一个观察值,每一列对应一个变量。
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.18654b2    0.062776    0.043562    1.4411    0.18753b3    0.040048    0.030885    1.2967    0.23089b4     0.11242    0.075158    1.4957    0.17309b5      1.1914     0.83671    1.4239     0.1923Number 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-13ans =0.1933    0.0200   14.3900mdl1 = Nonlinear regression model:y ~ hougen(b,X)Estimated Coefficients:Estimate       SE       tStat     pValue ________    ________    ______    _______b1       0.619      0.4552    1.3598    0.21605b2    0.030377    0.023061    1.3172    0.22924b3    0.018927     0.01574    1.2024    0.26828b4    0.053411    0.041084       1.3    0.23476b5      2.4125      1.7903    1.3475     0.2198Number 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-11ypred =1.87626.27931.6718yci =1.6283    2.12425.9789    6.57971.5589    1.7846ypred1 =1.89846.25551.6594yci1 =1.6260    2.17085.9323    6.57871.5345    1.7843>>

找到误差并移除

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

Matlab 非线性回归相关推荐

  1. matlab非线性回归delta,讲解:Delta-sigma、Matlab、analog-to-digital、MatlabPython|SQ

    讲解:Delta-sigma.Matlab.analog-to-digital.MatlabPython|SQCHANGE LOGDate DescriptionNov 10, 2018 Origin ...

  2. [MATLAB]非线性回归--自配函数(nlinfit)

    当谈到非线性回归模型的时候,同学们应该紧密的将线性回归紧密结合在一起,因为非线性回归很容易过拟合.那我们从一个案例谈一下非线性 拿到题目看到一个变量x一个y,非线性问题步骤应该是这样子的: 画出散点图 ...

  3. matlab中用polyfit、regress、nlinfit等进行详细的回归分析

    目录 1.说明 2.回归的介绍 2-1.前面两篇所发现的一些问题 2-1-1.回归和拟合是什么关系? 2-1-2.回归到底是做预测还是用来去脏数据? 3.三个函数的核心:最小二乘法 3-1.介绍 3- ...

  4. MATLAB求解模型待定系数

    在进行方程待定系数求解时,MATLAB提供了多种解决方案.常用 的有:矩阵左除(超定方程求解).转换为线性回归.曲线拟合.非线性回归等方法. 这里以求解如下方程系数为例: a p ( v s , v ...

  5. 用matlab解决多重共线性问题,多重共线性和非线性回归的问题

    前几天她和我说,在百度里有个人连续追着我的回答,三次说我的回答错了.当时非常惊讶,赶紧找到那个回答的问题,看看那个人是怎么说.最终发现他是说多重共线性和非线性回归的问题,他认为多个自变量进行不能直接回 ...

  6. MATLAB实现多元非线性回归

    简单多元非线性回归算例 现有以下数据 i x1 x2 x3 y 1 1.1 2 3.2 10.1 2 1 2 3.2 10.2 3 1.2 1.8 3 10 4 1.1 1.9 2.9 10.1 5 ...

  7. matlab 进行非线性回归,5.利用Matlab编程进行非线性回归分析.doc

    5.利用Matlab编程进行非线性回归分析.doc §5. 利用Matlab编程计算非线性回归模型 --以Logistic曲线为例 1.原始数据 下表给出了某地区1971-2000年的人口数据(表1) ...

  8. 【回归分析】MATLAB实现多元线性/非线性回归

    MATLAB实现多元线性/非线性回归 1 多元线性回归(multivariate linear regression model, MLRM) 1.1 基本原理 1.2 MATLAB代码实现 1.3 ...

  9. Matlab多元非线性回归(nlinfit 函数)

    在matlab中常使用 nlinfit函数 进行多元非线性回归. 1. 基本语法 语法 参数说明 beta = nlinfit(X, Y, modelfun, beta0) X -> 预测变量 ...

最新文章

  1. 爆料!亦庄地区数据中心将面临史上最长群体”限电“
  2. 在OUTLOOK或OWA中查看邮件的SCL级别(转)
  3. Product change时关于change_log的讨论
  4. 1415C. Bouncing Ball
  5. python面试题百度云下载_分享三道Python经典面试题
  6. VSCode配置JAVA开发环境,java初级面试笔试题
  7. win10 linux uefi启动不了系统安装教程,win10更新失败,提示硬盘布局不受UEFI固件支持如图,怎么解决?...
  8. Session自定义存储及分布式存储
  9. 用CSS制作日历弹出框的心得
  10. Ext.gridPanel中内容对齐
  11. Python3 从零单排17_类的继承
  12. 回文数 Exercise06_03
  13. Delphi2010 Dll 函数列表查看
  14. msfconsole捆绑木马
  15. 发光二极管pcb封装图画法_【干货】LED封装形式分类解析
  16. Undefined function or variable. The first assignment to a local variable determin its class.
  17. 华为服务器信息失败,服务器远程信息失败
  18. 线上Request method ‘GET‘ not supported 问题
  19. Educational Codeforces Round 47 (Rated for Div. 2) ---- C Annoying Present
  20. CLIP模型的使用和训练-利用CLIP实现zero-shot的分类任务

热门文章

  1. gitpc段提交失败schannel: next InitializeSecurityContext failed: Unknown error (0x80092013
  2. linux shell用户,Linux 系统 利用shell脚本获取所有用户
  3. web前端——transform变形 旋转角度正负的判断
  4. 用Google实现站内搜索
  5. 针对德尔塔等变异株!国产皮卡新冠疫苗开启临床实验;重庆成都互为人才外流第一目标城市 | 美通社头条...
  6. 解决问题:Matlab如何生成或保存无背景图片
  7. QQ登录接口申请流程(全面)
  8. Oracle日志挖掘之LogMiner
  9. 由DatePicket和TimePicker扩展延伸其他控件
  10. 【数据库实验】镶嵌查询