全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
10406 43
2014-10-13

(你Know与不Know,它就在那里)





非线性回归:nlinfit  

+

逐步回归:stepwise







——本帖收录于〖素质文库〗


(四大专题:〖前人指路〗、〖Only one〗、〖On Spss〗、〖On Matlab〗)









一、非线性回归



复制代码



     1、参数说明



beta:估计出的回归系数;

r:残差;

J:Jacobian矩阵;

x,y:输入数据x、y分别为矩阵和n维列向量,对一元非线性回归,x为n维列向量;

modelfun:M函数、匿名函数或inline函数,定义的非线性回归函数;

beta0:回归系数的初值;





     2、预测和预测误差估计

[Y,DELTA]=nlpredci('modelfun', x,beta,r,J)

获取x处的预测值Y及预测值的显著性为1-alpha的置信区间Y±DELTA





     3、实例演示说明

解:

     (1)对将要拟合的非线性模型,建立M函数如下

复制代码


     (2)输入数据

复制代码


     (3)求回归系数

复制代码


     即得回归模型为 图片1.png





     (4)预测及作图



复制代码



图片2.jpg



     二、逐步回归


     逐步回归的命令



stepwise(x,y,inmodel,alpha)  根据数据进行分步回归

stepwise     直接调出分步回归GUI界面

     输入参数说明

x:自变量数据, 阶矩阵;

y:因变量数据, 阶矩阵;

inmodel:矩阵的列数的指标,给出初始模型中包括的子集(缺省时设定为全部自变量);

alpha:显著性水平(缺省时为0.5);




     2、实例演示分析


水泥凝固时放出的热量y与水泥中4种化学成分x1、x2、x3、 x4有关,今测得一组数据如下,试用逐步回归法确定一个线性模型

图片3.png

      



     1、数据输入

复制代码


     2、逐步回归



①先在初始模型中取全部自变量




复制代码


图片4.jpg



——MATLAB技术论坛




Fantuanxiaot 坛友 补充的非线性回归中的稳健回归!!


函数

复制代码






主程序

复制代码






基于内联函数的例子

复制代码







二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-10-14 13:10:55
好!!!!!!!!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-14 13:16:25
我再接着版主补充一下 非线性回归中的稳健回归!


函数
function S=Nonlinearmodel(beta,x)
S=beta(1)*exp(beta(2)*x);



主程序
x=[10:0.5:20]';
y=2*exp(0.5*x)+normrnd(0,1,21,1);
beta0=[1 1]';
options=statset('MaxIter',200,'Robust','on','WgtFun','huber');
[beta,resid,jacobimatrix,covbeta,MSE]=nlinfit(x,y,'Nonlinearmodel',beta0,options);%非线性稳健回归
[yy,delta]=nlpredci('Nonlinearmodel',x,beta,resid,'jacobian',jacobimatrix);
ci=nlparci(beta,resid,jacobimatrix);
nlintool(x,y,'Nonlinearmodel',beta0,0.05);



基于内联函数的例子
x=poissrnd(2,30,1);
y=poissrnd(3,30,1);
X=[x y];
Z=2*exp(x+y)+rand(30,1);
beta0=[1.6 1.2 1.4];
EXPFUN=inline('b(1)*exp(b(2)*G(:,1)+b(3)*G(:,2))','b','G');
options=statset('MaxIter',200,'Robust','on','WgtFun','huber');
[beta,resid,jacobimatrix,covbeta,MSE]=nlinfit(X,Z,EXPFUN,beta0,options);
ci=nlparci(beta,resid,jacobimatrix);
[yy,delta]=nlpredci(EXPFUN,X,beta,resid,'jacobian',jacobimatrix);

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-14 13:18:19
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-15 21:34:10
谢谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-15 21:36:41
顶一下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群