《回归分析MATLAB实现知识讲解.ppt》由会员分享,可在线阅读,更多相关《回归分析MATLAB实现知识讲解.ppt(90页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 回归分析MATLAB实现2/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 通常,我们对总体通常,我们对总体(x,Y)进行进行n次的独立观测,获得次的独立观测,获得n组数据(称为样本观测值)组数据(称为样本观测值)(x1,y1),(x2,y2),(xn,yn)利用最小二乘法可以得到回归模型参
2、数利用最小二乘法可以得到回归模型参数 0,1的最的最小二乘估计小二乘估计 设设Y是一个可观测的随机变量,它受到一个非随机变量是一个可观测的随机变量,它受到一个非随机变量因素因素x和随机误差和随机误差 的影响。若的影响。若Y与与x有如下线性关系:有如下线性关系:(3.1.1)且且E=0,D=2,则称则称(3.1.1)为一元线性回归模为一元线性回归模型型.其中其中 0,1为回归系数,为回归系数,x为自变量,为自变量,Y为因变量为因变量.3/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回
3、归分析回归分析 (3.1.2)其中其中 于是建立经验公式模型:于是建立经验公式模型:(3.1.3)一元线性回归分析的主要任务:一是利用样本观测值一元线性回归分析的主要任务:一是利用样本观测值对回归系数对回归系数 0,1和和 作点估计;二是对方程的线性关作点估计;二是对方程的线性关系即系即 1作显著性检验;三是在作显著性检验;三是在x=x0处对处对Y作预测等作预测等.以下举例说明建立经验公式(以下举例说明建立经验公式(3.1.3)的方法。)的方法。4/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社
4、)第第3章章回归分析回归分析 例例3.1.1 近近10年来,某市社会商品零售总额与职工工年来,某市社会商品零售总额与职工工资总额(单位:亿元)数据如下表资总额(单位:亿元)数据如下表3.1。表表3.1 商品零售总额与职工工资表商品零售总额与职工工资表 (单位:亿元)(单位:亿元)建立社会商品零售总额与职工工资总额数据的回归模型建立社会商品零售总额与职工工资总额数据的回归模型工工资总额资总额23.827.631.632.433.734.943.252.863.873.4零售零售总额总额41.451.861.767.968.777.595.9137.4155.0175.0解:解:%首先输入数据首先
5、输入数据x=23.80,27.60,31.60,32.40,33.70,34.90,43.20,52.80,63.80,73.40;y=41.4,51.8,61.70,67.90,68.70,77.50,95.90,137.40,155.0,175.0;5/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析%然后作散点图然后作散点图plot(x,y,*)%作散点图作散点图xlabel(x(职工工资总额职工工资总额)%横坐标名横坐标名ylabel(y(商品零售总额商品零售总
6、额)%纵坐标名纵坐标名图图3.1商品零售总额与职工工资总额数据散点图商品零售总额与职工工资总额数据散点图6/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析%计算最佳参数计算最佳参数Lxx=sum(x-mean(x).2);Lxy=sum(x-mean(x).*(y-mean(y);b1=Lxy/Lxx;b0=mean(y)-b1*mean(x);运行后得到:运行后得到:b1=2.7991,b0=-23.5493所以,回归模型为所以,回归模型为 问题问题1:当:当x=0
7、,得到,得到y=-23.5493亿元如何理解?亿元如何理解?问题问题2:如何检验:如何检验E=0?D=2?7/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 2.一元多项式回归模型一元多项式回归模型在一元回归模型中,如果变量在一元回归模型中,如果变量y与与x的关系是的关系是n次多次多项式,即项式,即其中其中 是随机误差,服从正态分布是随机误差,服从正态分布N(0,2)a0,a1,an为回归系数为回归系数,则称则称(3.1.4)为多项式回归模型为多项式回归模型.(3.1
8、.4)(1)多项式曲线拟合多项式曲线拟合在在MATLAB7的统计工具箱中,有多项式曲线拟合的的统计工具箱中,有多项式曲线拟合的命令命令polyfit,其调用格式有以下三种:,其调用格式有以下三种:8/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 p=polyfit(x,y,n)p,S=polyfit(x,y,n)p,S,mu=polyfit(x,y,n)其中,输入其中,输入x,y分别为自变量与因变量的样本观测数据分别为自变量与因变量的样本观测数据向量;向量;n是多项
9、式的阶数,对于一元线性回归则取是多项式的阶数,对于一元线性回归则取n=1;输出输出p是按照降幂排列的多项式的系数向量,是按照降幂排列的多项式的系数向量,S是是一个矩阵,用于估计预测误差或供一个矩阵,用于估计预测误差或供MATLAB的其它函的其它函数的调用数的调用。例例3.1.2某种合金中的主要成分为某种合金中的主要成分为A,B两种金属,经过两种金属,经过试验发现:这两种金属成分之和试验发现:这两种金属成分之和x与合金的膨胀系数与合金的膨胀系数y有如下关系,建立描述这种关系的数学表达式有如下关系,建立描述这种关系的数学表达式.9/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析
10、方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 表表3.2 合金的膨胀系数表合金的膨胀系数表解:解:%首先输入数据首先输入数据x=37:0.5:43;y=3.4,3,3,2.27,2.1,1.83,1.53,1.7,1.8,1.9,2.35,2.54,2.9;%其次做散点图其次做散点图plot(x,y,*)xlabel(x(两种合金之和两种合金之和)%横坐标名横坐标名ylabel(y(合金膨胀系数合金膨胀系数)%纵坐标名纵坐标名%然后根据散点图猜测曲线类别然后根据散点图猜测曲线类别(2.1.7)x3737.5 3838.5 3939
11、.5 4040.5 4141.5 4242.5 43y3.4332.27 2.11.83 1.53 1.71.81.92.35 2.54 2.910/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 由于散点图呈抛物线,故选择二次函数曲线进行拟合由于散点图呈抛物线,故选择二次函数曲线进行拟合.p=polyfit(x,y,2)%注意取注意取n=2运行得到回归系数:运行得到回归系数:p=0.1660-13.3866271.6231即二次回归模型为:即二次回归模型为:11/2
12、4MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 多项式曲线拟合预测的命令多项式曲线拟合预测的命令polyval,其调用格,其调用格式有以下两种:式有以下两种:Y=polyval(p,x0)Y,Delta=polyconf(p,x0,S,alpha)其中其中,输入,输入p,S是由多项式拟合命是由多项式拟合命p,S=polyfit(x,y,n)的输出的输出,x0是要预测的自变量的值是要预测的自变量的值.输出输出Y是是polyfit所所得的回归多项式在得的回归多项式在x处的预
13、测值。处的预测值。(2)多项式回归的预测与置信区间多项式回归的预测与置信区间如果输入数据的误差相互独立,且方差为常数,则如果输入数据的误差相互独立,且方差为常数,则YDelta至少包含至少包含95%的预测值;的预测值;alpha缺省时为缺省时为0.05。(Y-Delta,Y+Delta)即即95%的置信区间的置信区间12/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 (3)多项式回归的多项式回归的GUI界面命令界面命令多项式回归的多项式回归的GUI界面命令界面命令p
14、olytool,其典型调用格式,其典型调用格式 polytool(x,y,n,alpha)其中,输入其中,输入x,y分别为自变量与因变量的样本观测数据分别为自变量与因变量的样本观测数据向量;向量;n是多项式的阶数;置信度为是多项式的阶数;置信度为(1-alpha)%,alpha缺省时为缺省时为0.05。该命令可以绘出总体拟合图形以及该命令可以绘出总体拟合图形以及(1-alpha)上、下置信区间的直线(屏幕上显示为红色)上、下置信区间的直线(屏幕上显示为红色).此此外,用鼠标拖动图中纵向虚线,就可以显示出对于外,用鼠标拖动图中纵向虚线,就可以显示出对于不同的自变量数值所对应的预测状况,与此同时图
15、不同的自变量数值所对应的预测状况,与此同时图形左端数值框中会随着自变量的变化而得到的预报形左端数值框中会随着自变量的变化而得到的预报数值以及数值以及(1-alpha)置信区间长度一半的数值。置信区间长度一半的数值。13/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 14/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 例例3.1.3为了分析
16、为了分析X射线的杀菌作用,用射线的杀菌作用,用200千伏的千伏的X射线来照射细菌,每次照射射线来照射细菌,每次照射6分钟用平板计数法估分钟用平板计数法估计尚存活的细菌数,照射次数记为计尚存活的细菌数,照射次数记为t,照射后的细菌,照射后的细菌数数y如表如表3.3所示。所示。t123456789101112131415y3522111971601421061046056383632211915表表3.3 X射线照射次数与残留细菌数射线照射次数与残留细菌数试求:试求:给出给出y与与t的二次函数回归模型;的二次函数回归模型;在同一坐标系内做出原始数据与拟合结果的散点图在同一坐标系内做出原始数据与拟合
17、结果的散点图 预测预测t=16时残留的细菌数;时残留的细菌数;根据问题实际意义选择多项式函数是否合适?根据问题实际意义选择多项式函数是否合适?数据来源:数据来源:http/www.ilr.cornell.edu/hadi/RABE15/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 解:解:%输入原始数据输入原始数据t=1:15;y=352,211,197,160,142,106,104,60,56,38,36,32,21,19,15;p=polyfit(t,y,2)
18、;%作二次多项式回归作二次多项式回归y1=polyval(p,t);%模型估计与作图模型估计与作图plot(t,y,-*,t,y1,-o);legend(原始数据原始数据,二次函数二次函数)xlabel(t(照射次数照射次数)ylabel(y(残留细菌数残留细菌数)t0=16;yc1=polyconf(p,t0)%预测预测t0=16时残留的细菌数时残留的细菌数运行结果为运行结果为p=1.9897 -51.1394 347.8967,yc1=39.0396即二次回归模型为即二次回归模型为16/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机
19、械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 yc1=39.0396,表明照射表明照射16次后,用二次函数计算出次后,用二次函数计算出细菌残留数为细菌残留数为39.0396,显然与实际不相符合。,显然与实际不相符合。调用多项式回归的调用多项式回归的GUI界面命令界面命令polytool,如图如图3.4原始数据与拟合结果的散点图如图原始数据与拟合结果的散点图如图3.3所示,从所示,从图形可知拟合效果较好图形可知拟合效果较好.图图 3.3 原始数据与拟合结果的散点图原始数据与拟合结果的散点图17/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械
20、工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 根据实际问题的意义可知:尽管二次多项式拟合效根据实际问题的意义可知:尽管二次多项式拟合效果较好,但是用于预测并不理想。因此如何根据原果较好,但是用于预测并不理想。因此如何根据原始数据散点图的规律,选择适当的回归曲线是非常始数据散点图的规律,选择适当的回归曲线是非常重要的,因此有必要研究非线性回归分析重要的,因此有必要研究非线性回归分析.图图 3.4 二次函数预测交互图二次函数预测交互图18/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械
21、工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 3.1.2一元非线性回归模型一元非线性回归模型 为了便于正确地选择合适的函数进行回归分析为了便于正确地选择合适的函数进行回归分析建模,我们给出通常选择的六类曲线如下所示:建模,我们给出通常选择的六类曲线如下所示:1.非线性曲线选择非线性曲线选择(1)双曲线)双曲线1/y=a+b/x(见图见图3.5)。图图3.5双曲线双曲线图图3.5双曲线双曲线19/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析(2
22、)幂函数曲线幂函数曲线y=axb,其中其中x0,a0(图图3.6)。图图3.6 幂函数曲线幂函数曲线(3)指数曲线)指数曲线y=aebx,其中参数,其中参数a0(见图见图3.7)。图图3.7 指数曲线指数曲线20/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析(4)倒指数曲)倒指数曲线线 ,其中a0(图3.8)。图图3.8倒指数曲倒指数曲线线(5)y=a+blnx(见图见图3.9)。图图3.9 对数曲线对数曲线21/24MATLABMATLAB数据分析方法(机械工业出
23、版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析(6)S型曲型曲线线(见图3.10)。图图3.10S型曲型曲线线 对于非线性回归建模通常有两种方法:一是通过适对于非线性回归建模通常有两种方法:一是通过适当的变换转化为线性回归模型,例如双曲线模型当的变换转化为线性回归模型,例如双曲线模型(图图3.5)。如果无法实现线性化,可以利用最小二乘法直接建立。如果无法实现线性化,可以利用最小二乘法直接建立非线性回归模型,求解最佳参数。非线性回归模型,求解最佳参数。22/24MATLABMATLAB数据分析方法(机械工业出版社)数据分
24、析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 2.非线性回归的非线性回归的MATLAB命令命令MATLAB统计工具箱中实现非线性回归的命令有统计工具箱中实现非线性回归的命令有nlinfit、nlparci、lpredci和和nlintool。下面逐一介绍。下面逐一介绍调用格式。调用格式。非线性拟合命令非线性拟合命令nlinfit,调用格式:,调用格式:beta,r,J=nlinfit(x,y,model,beta0)其中,输人数据其中,输人数据x,y分别为分别为nm矩阵和矩阵和n维列向量,维列向量,对一元非线性回归,对一元非线性
25、回归,x为为n维列向量,维列向量,model是事先用是事先用M文件定义的非线性函数,文件定义的非线性函数,beta0是回归系数的初值是回归系数的初值(需需要通过解方程组得到要通过解方程组得到),beta是估计出的最佳回归系数,是估计出的最佳回归系数,r是残差,是残差,J是是Jacobian矩阵,它们是估计预测误差需矩阵,它们是估计预测误差需要的数据。要的数据。23/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 非线性回归预测命令非线性回归预测命令nlpredci,调
26、用格式:,调用格式:ypred=nlpredci(FUN,inputs,beta,r,J)其中,输入参数其中,输入参数beta,r,J是非线性回归命令是非线性回归命令nlinfit的输的输出结果出结果,FUN 是拟合函数,是拟合函数,inputs是需要预测的自变是需要预测的自变量;输出量量;输出量ypred是是inputs的预测值。的预测值。非线性回归置信区间命令非线性回归置信区间命令nlparci,调用格式:,调用格式:ci=nlparci(beta,r,J,alpha)输入参数输入参数beta,r,J就是非线性回归命令就是非线性回归命令nlinfit输出的输出的结果,输出结果,输出ci是一
27、个矩阵,每一行分别为每个参数的是一个矩阵,每一行分别为每个参数的(1-alpha)%的置信区间,的置信区间,alpha缺省时默认为缺省时默认为0.05.24/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 非线性回归的非线性回归的GUI界面命令界面命令nlintool,典型调用格式,典型调用格式 nlintool(x,y,fun,beta0)其中参数其中参数x,y,fun,beta0与命令与命令nlinfit中的参数含义相同中的参数含义相同.例例3.1.4.在在M文件
28、中建立函数文件中建立函数y=a(1-be-cx),其中,其中a,b,c为待定的参数。为待定的参数。解:解:fun=inline(b(1)*(1-b(2)*exp(-b(3)*x),b,x);此处,将此处,将b看成参变量,看成参变量,b(1),b(2),b(3)为其分量为其分量.例例3.1.5 炼钢厂出钢时所用盛钢水的钢包,由于钢水对炼钢厂出钢时所用盛钢水的钢包,由于钢水对耐火材料的侵蚀,容积不断增大,我们希望找出使用次耐火材料的侵蚀,容积不断增大,我们希望找出使用次数与增大容积之间的函数关系数与增大容积之间的函数关系.实验数据如表实验数据如表3.4。25/24MATLABMATLAB数据分析方
29、法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 使用次数使用次数(x)23456789增大容增大容积积(y)6.428.29.589.59.7109.939.99使用次数使用次数(x)10111213141516增大容增大容积积(y)10.4910.5910.610.810.610.910.76表表3.4 钢包使用次数与增大容积钢包使用次数与增大容积(1)建立非线性回归模型)建立非线性回归模型1/y=a+b/x;(2)预测钢包使用)预测钢包使用x0=17次后增大的容积次后增大的容积y0;(3)计算回归模型
30、参数的)计算回归模型参数的95%的置信区间。的置信区间。MATLAB脚本程序如下脚本程序如下:x=2:16;y=6.42,8.2,9.58,9.5,9.7,10,9.93,9.99,10.49,10.59,10.6,10.8,10.6,10.9,10.76;26/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析%建立非线性双曲线回归模型建立非线性双曲线回归模型b0=0.084,0.1436;%初始参数值初始参数值fun=inline(x./(b(1)*x+b(2),b,
31、x);beta,r,J=nlinfit(x,y,fun,b0);beta%输出最佳参数输出最佳参数y1=x./(0.0845*x+0.1152);%拟合曲线拟合曲线plot(x,y,*,x,y1,-or)legend(原始数据原始数据,拟合曲线拟合曲线)注意:初始值要先计算后,才能得到上面程序中的注意:初始值要先计算后,才能得到上面程序中的b0,由于确定两个参数值,因此我们选择已知数据中的,由于确定两个参数值,因此我们选择已知数据中的两点(两点(2,6.42)和()和(16,10.76)代入设定方程,得到)代入设定方程,得到方程组方程组27/24MATLABMATLAB数据分析方法(机械工业出
32、版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 上述方程组有两种解法:手工方法与上述方程组有两种解法:手工方法与Matlab方法。下方法。下面用面用Matlab方法解方程组:方法解方程组:a,b=solve(6.42*(2*a+b)=2,10.76*(16*a+b)=16)输出为输出为a=.83961597702347450462657355615004e-1b=.1436032843460839152740622358104928/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社
33、)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 图图3.11钢包使用次数与增大容积的非线性拟合图钢包使用次数与增大容积的非线性拟合图在例在例3.1.5中,预测钢包使用中,预测钢包使用17次后增大的容积,可次后增大的容积,可在执行上面的程序中,继续输入命令在执行上面的程序中,继续输入命令ypred=nlpredci(fun,17,beta,r,J)得到:得到:ypred=10.9599即钢包使用即钢包使用17次后增大的容积次后增大的容积10.9599。29/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方
34、法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 求回归模型参数的求回归模型参数的95%的置信区间,只要继续添加程序的置信区间,只要继续添加程序ci=nlparci(beta,r,J)运行后得到运行后得到ci=0.0814 0.0876 0.0934 0.1370即回归模型即回归模型 中参数中参数a,b的的95%的置信区间分别为的置信区间分别为(0.0814,0.0876)与(与(0.0934,0.1370).我们求出的最佳参数分别为我们求出的最佳参数分别为 a=0.0845,b=0.1152均属均属于上述置信区间。于上述置信区间。30/24MATLABMATLAB
35、数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 图图3.12给给出出钢钢包包使使用用次次数数与与增增大大容容积积的的非非线线性性拟拟合合的的交交互互图图形形,图图中中的的的的圆圆圈圈是是实实验验的的原原始始数数据据点点,两两条条虚虚线线为为95%上上、下下置置信信区区间间的的曲曲线线(屏屏幕幕上上显显示示为为红红色色),中中间间的的实实线线(屏屏幕幕上上显显示示为为绿绿色色)是是回回归归模模型型曲曲线线,纵纵向向的的蓝蓝色色虚虚线线显显示示了了在在自自变变量量为为8.9502,横横向的虚线给出了
36、对应的预测值为向的虚线给出了对应的预测值为10.2734.图图3.12 钢包使用次数与增大容积的非线性拟合交互图钢包使用次数与增大容积的非线性拟合交互图31/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 例例3.1.6 对对例例题题3.1.3进进行行非非线线性性回回归归,并并预预测测照照射射16次次后后细细菌菌残残留留数数目目,给给出出模模型型参参数数的的95%的的置置信信区间,绘出模型交互图形区间,绘出模型交互图形.解:我们选取函数解:我们选取函数y=aebt进行
37、非线性回归,该方程的两进行非线性回归,该方程的两个参数具有简单的物理解释,个参数具有简单的物理解释,a表示实验开始时的细菌表示实验开始时的细菌数目,数目,b表示细菌死亡(或衰变)的速率。表示细菌死亡(或衰变)的速率。MATLAB脚本程序如下:脚本程序如下:t=1:15;y=3522111971601421061046056383632211915;fun=inline(b(1)*exp(b(2)*t),b,t)%非线性函数非线性函数beta0=148,-0.2;%参数初始值参数初始值beta,r,J=nlinfit(t,y,fun,beta0);%非线性拟合非线性拟合beta%输出最佳参数输出
38、最佳参数y1=nlpredci(fun,t,beta,r,J);%模型数值计算模型数值计算32/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 plot(t,y,*,t,y1,-or),legend(原始数据原始数据,非线性回归非线性回归)xlabel(t(照射次数照射次数)ylabel(y(残留细菌数残留细菌数)ypred=nlpredci(fun,16,beta,r,J)%预测残留细菌数预测残留细菌数ci=nlparci(beta,r,J)%参数参数95%区间估计
39、区间估计nlintool(t,y,fun,beta0)%作出交互图形作出交互图形运行后结果如下运行后结果如下:beta=400.0904-0.2240即即,最佳参数为最佳参数为:a=400.0904,b=-0.2240故非线性回归模型为故非线性回归模型为33/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 预测为:预测为:ypred=11.1014即,照射即,照射16次后细菌残留数目为次后细菌残留数目为11.1014,该预测符,该预测符合实际,显然比例合实际,显然比例
40、3.1.3中多项式回归的结果合理。中多项式回归的结果合理。ci=355.2481444.9326-0.2561-0.1919即参数即参数a置信度为置信度为95%的置信区间的置信区间(ci的第一行的第一行)为:为:355.2481,444.9326参数参数b的置信度为的置信度为95%的置信区间的置信区间(ci的第二行的第二行)为为-0.2561-0.1919显然,最佳参数显然,最佳参数a=400.0904,b=-0.2240,均属于各,均属于各自自置信度为置信度为95%的置信区间。的置信区间。34/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方
41、法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 图图3.13原始数据与非原始数据与非线线性回性回归图归图形形图图3.14原始数据与非原始数据与非线线性回性回归归GUI图图形形35/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 从交互图形从交互图形3.14可以看出:圆圈为原始数据,两条虚线可以看出:圆圈为原始数据,两条虚线(屏幕上显示红色)是置信区间曲线;两条虚线内的实(屏幕上显示红色)是置信区间曲线;两条虚线内的实线(屏幕上显示绿色)是
42、回归模型曲线;纵向虚线指示线(屏幕上显示绿色)是回归模型曲线;纵向虚线指示照射照射8次,此时对应的水平虚线表示模型得到的残留细次,此时对应的水平虚线表示模型得到的残留细菌数为:菌数为:66.6451。图图3.14原始数据与非原始数据与非线线性回性回归归GUI图图形形36/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 3.1.3一元回归建模实例一元回归建模实例例例3.1.7在四川白在四川白鹅鹅的生的生产产性能研究中,得到如下一性能研究中,得到如下一组组关于关于雏鹅雏鹅
43、重(重(g g)与)与7070日日龄龄重重(g)(g)的数据,的数据,试试建立建立7070日日龄龄重重(y)与与雏鹅雏鹅重重(x)的直的直线线回回归归方程,方程,计计算模型算模型误误差平差平方和以及可决系数,当方和以及可决系数,当雏鹅雏鹅重分重分别为别为:85,9585,95,115,115时预测时预测其其7070日日龄龄重,以及置信区重,以及置信区间间。表表3.5 5 四川白四川白鹅鹅重与重与7070日日龄龄重重测测定定结结果果 (单单位:位:g g)编编号号123456789101112雏鹅雏鹅重重(x)80869890120102958311310511010070日日龄龄重重(Y)23
44、502400272025003150268026302400308029202960286037/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 解:(解:(1)作散点图。以雏鹅重()作散点图。以雏鹅重(x)为横坐标,)为横坐标,70日龄重(日龄重(y)为)为纵坐标作散点图,如图纵坐标作散点图,如图2-14。在在MATLAB命令窗口中输入命令窗口中输入:x=808698901201029583113105110100;%雏鹅重雏鹅重y=2350240027202500
45、31502680263024003080292029602860;%70日龄重日龄重plot(x,y,*)%作散点图作散点图xlabel(x(雏鹅重雏鹅重)%横坐标名横坐标名ylabel(y(70日龄重日龄重)%纵坐标名纵坐标名图图3.15四川白四川白鹅鹅的的雏鹅雏鹅重与重与70日日龄龄重散点重散点图图和回和回归归直直线图线图38/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 由图形由图形3.15可见白鹅的可见白鹅的70日龄重与雏鹅重间存在直线日龄重与雏鹅重间存在直
46、线关系,且关系,且70日龄重随雏鹅重的增大而增大。因此,可日龄重随雏鹅重的增大而增大。因此,可认为认为y与与x符合一元线性回归模型。符合一元线性回归模型。(2)建立直线回归方程。在建立直线回归方程。在MATLAB中调用命令中调用命令polyfit,从而求出参数,从而求出参数 0,1的最小二乘估计的最小二乘估计.在在MATLAB命令窗口中继续输入命令窗口中继续输入:n=size(x,1)%计算样本容量计算样本容量p,s=polyfit(x,y,1);%调用命令调用命令polyfit计算回归参数计算回归参数y1=polyval(p,x);%计算回归模型的函数值计算回归模型的函数值holdonplo
47、t(x,y1)%作回归方程的图形,结果如图作回归方程的图形,结果如图3.15p%显示参数的最小二乘估计结果显示参数的最小二乘估计结果p=582.185021.712239/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 即参数即参数 的最小二乘估计为的最小二乘估计为所以所以70日龄重日龄重(y)与雏鹅重与雏鹅重(x)的直线回归经验方程的直线回归经验方程为为(3)误差估计与决定系数。在)误差估计与决定系数。在MATLAB命令窗口中继续输入命令窗口中继续输入:TSS=su
48、m(y-mean(y).2)%计算总离差平方和计算总离差平方和RSS=sum(y1-mean(y).2)%计算回归平方和计算回归平方和ESS=sum(y-y1).2)%计算残差平方和计算残差平方和R2=RSS/TSS;%计算样本决定系数计算样本决定系数R2.40/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析 输出输出:TSS=8.314917e+005RSS=7.943396e+005ESS=3.715217e+004R2=0.9553TSS=8.314917e+0
49、05RSS=7.943396e+005ESS=3.715217e+004R2=0.9553由于样本决定系数由于样本决定系数R2=0.9553接近于接近于1,因此模型的拟,因此模型的拟合的效果较好。合的效果较好。41/24MATLABMATLAB数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)数据分析方法(机械工业出版社)第第3章章回归分析回归分析(4)回归方程关系显著性的)回归方程关系显著性的F检验。在检验。在MATLAB命令窗口中继续输入命令窗口中继续输入:F=(n-2)*RSS/ESS%计算的计算的F统计量统计量F1=finv(0.95,1,n-2
50、)%查查F统计量统计量0.05的分位数的分位数F2=finv(0.99,1,n-2)%查查F统计量统计量0.01的分位数的分位数输出结果输出结果:F=2.138e+002,F1=4.9646,F2=10.0442为了方便,将以上的计算结果列成表为了方便,将以上的计算结果列成表3.6。表表3.6 四川白四川白鹅鹅70日日龄龄重与重与雏鹅雏鹅重回重回归归关系方差分析表关系方差分析表自由度自由度(df)平方和平方和(SS)均方和均方和(MS)F值值F0.05F0.01回回归归1794339.60794339.60213.81*4.9610.04残差残差1037152.073715.21总总离差离差1