《新编MATLAB&Simulink自学一本通》课件第19章 回归分析.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《新编MATLAB&Simulink自学一本通》课件第19章 回归分析.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新编MATLAB&Simulink自学一本通 新编MATLAB&Simulink自学一本通课件第19章 回归分析 新编 MATLAB Simulink 自学 课件 19 回归 分析
- 资源描述:
-
1、2023-5-5 一元线性回归一元线性回归 一元非线性回归一元非线性回归 多元线性和广义线性回归多元线性和广义线性回归 多元非线性回归多元非线性回归 数据拟合的其他数据拟合的其他MATLAB函数函数主要内容:主要内容:2023-5-5第一节第一节 一元线性回归一元线性回归2023-5-5【例例19.1-1】现有全国现有全国31个主要城市个主要城市2007年的气候情况观测数据,年的气候情况观测数据,如下表所示。试根据表中如下表所示。试根据表中31组观测数据研究年平均气温和全年组观测数据研究年平均气温和全年日照时数之间的关系。日照时数之间的关系。城城 市市年平均气温年平均气温单位:单位:年极端最高
2、气温年极端最高气温单位:单位:年极端最低气温年极端最低气温单位:单位:年均相对湿度年均相对湿度单位:单位:%全年日照时数全年日照时数单位:小时单位:小时全年降水量全年降水量单位:毫米单位:毫米序序号号北京14.037.3-11.7542351.1483.91天津13.638.5-10.6612165.4389.72石家庄14.939.7-7.4592167.7430.43太原11.435.8-13.2552174.6535.44呼和浩特9.035.6-17.6472647.8261.25沈阳9.033.9-23.1682360.9672.36兰州11.134.3-11.9532214.1407
3、.928西宁6.130.7-21.8572364.7523.129银川10.435.0-15.4522529.8214.730乌鲁木齐8.537.6-24.0562853.4419.5312023-5-5 令令x表示年平均气温,表示年平均气温,y表示全年日照时数。由于表示全年日照时数。由于 x和和 y均为一维变量,可以先从均为一维变量,可以先从 x和和 y的散点图上直观的观察它们之的散点图上直观的观察它们之间的关系,然后再作进一步的分析。间的关系,然后再作进一步的分析。ClimateData=xlsread(examp19_1_1.xls);x=ClimateData(:,1);y=Clima
4、teData(:,5);plot(x,y,k.,Markersize,15);xlabel(年平均气温年平均气温(x);ylabel(全年日照时数全年日照时数(y);%计算计算x和和y的线性相关系数矩阵的线性相关系数矩阵R R=corrcoef(x,y)一、一、数据的散点图数据的散点图2023-5-568101214161820222426500100015002000250030003500年 平 均 气 温(x)全年日照时数(y)0.7095xy 2023-5-5二、二、调用调用regress函数作一元线性回归函数作一元线性回归1.p元广义线性回归模型元广义线性回归模型1112121011
5、121222212211221()()()1()()()1()()()ppppnnpnppnnyXf xfxfxyf xfxfxyf xfxfxy矩阵形式矩阵形式01 11222()()(),1,iiippipiyf xfxfxin2023-5-52.regress函数的用法函数的用法nYYYY.21pb.10 b =regress (Y,X )1112121121222211221()().()1()().().1()().()ppppnnpnpf xfxfxf xfxfxXf xfxfx2023-5-5回归系数的区间估计回归系数的区间估计残差残差用于检验回归模型的统计量,用于检验回归模型的
6、统计量,有有4个数值:判定系数个数值:判定系数r2、F 统计量观测值、检验的统计量观测值、检验的p值值、误差方差的估计误差方差的估计置信区间置信区间 显著性水平显著性水平(缺省时为(缺省时为0.05)b,bint,r,rint,stats=regress(Y,X,alpha)2.regress函数的用法(续)函数的用法(续)2023-5-53.调用调用regress函数作一元线性回归函数作一元线性回归 ClimateData=xlsread(examp19_1_1.xls);x=ClimateData(:,1);y=ClimateData(:,5);xdata=ones(size(x,1),1
7、),x;%调用调用regress函数作一元线性回归函数作一元线性回归 b,bint,r,rint,s=regress(y,xdata);yhat=xdata*b;plot(x,y,k.,Markersize,15);hold on;plot(x,yhat,linewidth,3);xlabel(年平均气温年平均气温(x);ylabel(全年日照时数全年日照时数(y);legend(原始散点原始散点,回归直线回归直线);3115.476.962yx2023-5-54.残差分析残差分析 figure rcoplot(r,rint)通过对残差和残差的置信区间进行分析,可以看出原始通过对残差和残差的置
8、信区间进行分析,可以看出原始数据中是否存在异常点,若残差的置信区间不包括数据中是否存在异常点,若残差的置信区间不包括0点,可点,可认为该组观测为异常点。认为该组观测为异常点。51015202530-1500-1000-500050010001500Residual Case Order PlotResidualsCase Number68101214161820222426500100015002000250030003500年平均气温(x)全年日照时数(y)原始数据散点原始数据回归直线剔除异常数据后回归直线2023-5-55.剔除异常值后重新回归剔除异常值后重新回归 xt=x(y1250);
9、yt=y(y1250);xtdata=ones(size(xt,1),1),xt;b,bint,r,rint,s=regress(yt,xtdata)从残差图可以看出有从残差图可以看出有4条线段(红色虚线)与水平线条线段(红色虚线)与水平线 没有没有交点,它们对应的观测序号分别为交点,它们对应的观测序号分别为22、23、24和和26,也就是,也就是说这说这4组观测对应的残差的置信区间不包含组观测对应的残差的置信区间不包含0点,可认为这四点,可认为这四组观测数据为异常数据。剔除异常数据后重新作回归。组观测数据为异常数据。剔除异常数据后重新作回归。2983.863.628yx2023-5-5三、三
10、、调用自编调用自编reglm函数作一元线性回归函数作一元线性回归1.reglm函数的用法函数的用法 reglm(y,X)stats=reglm(y,X)stats=reglm(y,X,model)stats=reglm(y,X,model,varnames)参数说明请参考课本。参数说明请参考课本。2023-5-52.调用调用reglm函数作一元线性回归函数作一元线性回归 ClimateData=xlsread(examp19_1_1.xls);x=ClimateData(:,1);y=ClimateData(:,5);varname=x;reglm(y,x,varname);2023-5-53
11、.结果结果-方差分析表方差分析表-方差来源方差来源 自由度自由度 平方和平方和 均方均方 F值值 p值值回归回归 1.0000 4316961.1182 4316961.1182 29.3884 0.0000残差残差 29.0000 4259914.3811 146893.5993总计总计 30.0000 8576875.4994 均方根误差均方根误差(Root MSE)383.2670 判定系数判定系数(R-Square)0.5033 因变量均值因变量均值(Dependent Mean)1965.1742 调整的判定系数调整的判定系数(Adj R-Sq)0.4862-参数估计参数估计-变量变
12、量 估计值估计值 标准误标准误 t值值 p值值常数项常数项 3115.3773 223.0588 13.9666 0.0000 x -76.9616 14.1967 -5.4211 0.00002023-5-5四、四、调用调用robustfit函数作稳健回归函数作稳健回归1.robustfit函数的用法函数的用法 b=robustfit(X,Y)b,stats=robustfit(X,Y)b,stats=robustfit(X ,Y,wfun,tune,const)加权函数加权函数12nyyy调整常数调整常数是否显示常是否显示常数项的标示,数项的标示,取值为取值为on或或 off2023-5-
13、52.调用调用robustfit函数作一元线性回归函数作一元线性回归 ClimateData=xlsread(examp19_1_1.xls);x=ClimateData(:,1);y=ClimateData(:,5);%利用利用robustfit函数作稳健回归函数作稳健回归 b,stats=robustfit(x,y)b=1.0e+003*3.0348 -0.06833034.868.3yx68101214161820222426500100015002000250030003500年平均气温(x)全年日照时数(y)原始数据散点regress函数对应的回归直线robustfit函数对应的回归
14、直线2023-5-53.regress和和robustfit函数结果对比函数结果对比 xsort,id=sort(x);ysort=y(id);xdata=ones(size(xsort,1),1),xsort;b1=regress(ysort,xdata);yhat1=xdata*b1;b2=robustfit(xsort,ysort);yhat2=xdata*b2;plot(x,y,ko)hold on plot(xsort,yhat1,r-,linewidth,3)plot(xsort,yhat2,linewidth,3)legend(原始数据散点原始数据散点,.regress函数对应的
15、回归直线函数对应的回归直线,.robustfit函数对应的回归直线函数对应的回归直线);xlabel(年平均气温年平均气温(x)ylabel(全年日照时数全年日照时数(y)2023-5-5第二节第二节 一元非线性回归一元非线性回归2023-5-5【例例19.2-1】头围头围(head circumference)是反映婴幼儿大脑和颅骨是反映婴幼儿大脑和颅骨发育程度的重要指标之一,对头围的研究具有非常重要的意义。发育程度的重要指标之一,对头围的研究具有非常重要的意义。笔者研究了天津地区笔者研究了天津地区1281位儿童(位儿童(700个男孩,个男孩,581个女孩)的个女孩)的颅脑发育情况,测量了年
16、龄、头宽、头长、头宽颅脑发育情况,测量了年龄、头宽、头长、头宽/头长、头围和头长、头围和颅围等指标,测得颅围等指标,测得1281组数据,年龄跨度从组数据,年龄跨度从7个星期到个星期到16周岁,周岁,试根据这试根据这1281组数据建立头围关于年龄的回归方程。组数据建立头围关于年龄的回归方程。2023-5-5 令令x表示年龄,表示年龄,y表示头围。由于表示头围。由于 x和和 y均为一维变量,均为一维变量,可以先从可以先从 x和和 y的散点图上直观的观察它们之间的关系,然后的散点图上直观的观察它们之间的关系,然后再作进一步的分析。再作进一步的分析。HeadData=xlsread(examp19_2
17、_1.xls);x=HeadData(:,4);y=HeadData(:,9);plot(x,y,k.)xlabel(年龄年龄(x)ylabel(头围头围(y)一、一、数据的散点图及备选方程数据的散点图及备选方程1.散点图散点图2023-5-50246810121416354045505560年龄(x)头围(y)2023-5-5 负指数函数:负指数函数:2.备选方程备选方程231xye 双曲线函数:双曲线函数:123xyx 幂函数:幂函数:312()yx Logistic曲线函数:曲线函数:31()21xye 对数函数:对数函数:123ln()yx2023-5-5二、二、调用调用nlinfit
18、函数作一元非线性回归函数作一元非线性回归1.nlinfit函数的用法函数的用法 beta,r,J,COVB,mse=nlinfit(X,y,fun,b0,options)1212,;,1,2,ikiiipiyfxxxin 未知参数未知参数事先用事先用m-文件文件定义的非线性定义的非线性函数函数111212122212ppnnnpxxxxxxXxxx12nyyyy12.k回归系数初值回归系数初值优化属性设置优化属性设置雅可比矩阵雅可比矩阵残差残差2023-5-52.选择合适的理论回归方程选择合适的理论回归方程 负指数函数:负指数函数:231xye2023-5-53.调用调用nlinfit函数作一
19、元非线性回归函数作一元非线性回归 HeadData=xlsread(examp19_2_1.xls);HeadData=sortrows(HeadData,4);x=HeadData(:,4);y=HeadData(:,9);%理论回归方程对应的匿名函数理论回归方程对应的匿名函数 HeadCir2=(beta,x)beta(1)*exp(beta(2)./(x+beta(3);options=statset;options.Robust=on;%调用调用nlinfit函数作非线性回归函数作非线性回归 beta,r,J,COVB,mse=nlinfit(x,y,HeadCir2,53,-0.26
20、04,0.6276,options);0.25950.760452.3766xye2023-5-54.绘制一元非线性回归曲线绘制一元非线性回归曲线 yhat=HeadCir2(beta,x);figure plot(x,y,k.)hold on plot(x,yhat,linewidth,3)xlabel(年龄年龄(x)ylabel(头围头围(y)legend(原始数据散点原始数据散点,.非线性回归曲线非线性回归曲线)0246810121416354045505560年 龄(x)头围(y)原 始 数 据 散 点非 线 性 回 归 曲 线2023-5-55.参数估计值的置信区间参数估计值的置信区
21、间 在调用在调用nlinfit函数得到未知参数的估计值函数得到未知参数的估计值beta、残差向量、残差向量r、雅可比矩阵、雅可比矩阵J、未知参数的协方差矩阵的估计、未知参数的协方差矩阵的估计COVB和误和误差方差差方差 的估计的估计mse后,还可以调用后,还可以调用nlparci函数函数计算参数估计计算参数估计值的置信区间。值的置信区间。beta,resid,J,Sigma=nlinfit(X,y,fun,b0)ci=nlparci(beta,resid,covar,Sigma)或或 ci=nlparci(beta,resid,jacobian,J)%求参数估计值的求参数估计值的95%置信区间
22、的第置信区间的第1种方式种方式 ci1=nlparci(beta,r,covar,COVB,alpha,0.05)%求参数估计值的求参数估计值的95%置信区间的第置信区间的第2种方式种方式 ci1=nlparci(beta,r,jacobian,J,alpha,0.05)2023-5-56.头围平均值的置信区间和观测值的预测区间头围平均值的置信区间和观测值的预测区间 对于对于 x(年龄)的一个给定值(年龄)的一个给定值 x0,相应的,相应的 y(头围)是一(头围)是一个随机变量,具有一定的分布。个随机变量,具有一定的分布。x 给定时给定时y 的总体均值的区的总体均值的区间估计称为平均值(或预测
23、值)的置信区间,间估计称为平均值(或预测值)的置信区间,y的观测值的的观测值的区间估计称为观测值的预测区间。区间估计称为观测值的预测区间。求出头围关于年龄的回归曲线后,对于给定的年龄,可求出头围关于年龄的回归曲线后,对于给定的年龄,可以调用以调用nlpredci函数函数求出头围的预测值(即求出头围的预测值(即x 给定时给定时y 的总体的总体均值)、预测值的置信区间和观测值的预测区间。均值)、预测值的置信区间和观测值的预测区间。beta,resid,J,Sigma=nlinfit(X,y,fun,b0)ypred,delta=nlpredci(fun,x,beta,resid,covar,Sig
24、ma)或或 ypred,delta=nlpredci(fun,x,beta,resid,jacobian,J)2023-5-57.预测区间图预测区间图 xx=0:0.1:16;%计算给定年龄处头围预测值和预测区间计算给定年龄处头围预测值和预测区间 ypred,delta=nlpredci(HeadCir2,xx,beta,r,covar,.COVB,mse,mse,predopt,observation);yup=ypred+delta;ydown=ypred-delta;figure hold on h1=fill(xx;flipud(xx),yup;flipud(ydown),0.5,0.
25、5,0.5);set(h1,EdgeColor,none,FaceAlpha,0.5);plot(xx,yup,r-,LineWidth,2);plot(xx,ydown,b-.,LineWidth,2);plot(xx,ypred,k,linewidth,2)grid on ylim(32,57)xlabel(年龄年龄(x)ylabel(头围头围(y)h2=legend(预测区间预测区间,预测区间上限预测区间上限,预测区间下限预测区间下限,回归曲线回归曲线);set(h2,Location,SouthEast)2023-5-52023-5-5三、三、利用曲线拟合工具利用曲线拟合工具cftoo
展开阅读全文