第五讲回归分析初步与计算机模拟1回归分析的基本思想和方法在客观世界中普遍存在着变量之间的关系,变量之间的关系一般来说可分为确定性的与非确定性的两种。确定性关系是指变量之间可以用确定的函数关系来表达(插值或拟合)。非确定性关系,例如人的身高和体重的关系、人的血压和年龄的关系、某产品的广告投入与销售额间的关系等,它们之间是有关联的,但又不能用普通函数来表示,我们称这类非确定性关系为相关关系。具有相关关系的变量在很多时候涉及到随机变量,虽然不具有确定的函数关系,但是可以借助函数关系来近似表示它们之间的统计规律,这种近似地表示它们之间的相关关系的函数被称为回归函数,对应的数学方法称为回归分析。第五讲回归分析初步与计算机模拟2回归分析的基本思想和方法回归分析是数学建模的有力工具,那么我们要建立回归函数的数学模型,一般需要以下步骤:1、采集一组包含自变量和因变量的数据;2、选定自变量与因变量之间的模型,利用数据按照最小二乘准则计算模型中的系数;3、利用统计分析方法对不同的模型进行比较,找出与数据拟合得最好的模型;4、判断得到的模型是否适合于这组数据,诊断有无不适合回归模型的异常数据;5、利用模型对因变量做出预测或解释。附注:在第2步中,选定自变量与因变量的模型时,一般是凭经验选取模型。回归分析主要包括一元线性回归,多元线性回归以及非线性回归第五讲回归分析初步与计算机模拟3一元线性回归(linearregression)基于最小二乘的一元线性回归函数regress:UnaryLinearRegressionAnalysis:b=regress(y,X)[b,bint,r,rint,stats]=regress(y,X,alpha)范例为实时地调整切削机床,需测定刀具的磨损程度,每隔一小时测量刀具的厚度得到以下的数据,试建立刀具厚度关于切削时间的回归模型,对模型和系数进行检验,预测15小时后刀具的厚度:时间(h)012345678910厚度(cm)30.629.128.428.128.027.727.527.227.026.826.5第五讲回归分析初步与计算机模拟4一元线性回归(linearregression)1、对原始数据进行观察,确定回归模型:x=0:1:10;y=[30.6,29.1,28.4,28.1,28.0,27.7,27.5,27.2,27.0,26.8,26.5];plot(x,y,'rs','linewidth',2);从原始数据上看,可以建立一元线性回归模型:01201~(0,)yxNxy其中和是未知系数是自变量,是因变量第五讲回归分析初步与计算机模拟5一元线性回归(linearregression)2、线性回归函数regress相关参数的统计学意义:其中,alpha表示显著性水平,缺省时为0.05;b为回归系数估计值,bint为回归系数的置信区间;r是残差,rint是残差的置信区间;stats是用于检验回归模型的统计量。统计量stats有三个数值:一是相关系数R的平方(用于相关系数评价,R的绝对值间于0.8~1,越靠近1表明回归显著);二是统计量F(用于F检验法,F的值大于F1-a(v1,v2)表明回归显著);三是与F对应的概率P(P≤alpha表明回归显著,一般0.01<P≤0.05被认为是具有统计学意义,而0.001≤P≤0.01被认为具有高度统计学意义)第五讲回归分析初步与计算机模拟6一元线性回归(linearregression)3、计算回归模型各项系数并绘制时序残差图:x=0:1:10;y=[30.6,29.1,28.4,28.1,28.0,27.7,27.5,27.2,27.0,26.8,26.5];alpha=0.05;x=[ones(length(x),1),x'];y=y';[b,bint,r,rint,stats]=regress(y,x,alpha);%线性回归disp(['回归系数b估计值:',num2str(b')]);disp(['相关系数R绝对值:',num2str(sqrt(stats(1)))]);%此值至少间于0.8~1,越接近1越显著disp(['假设检验统计量F:',num2str(stats(2))]);%此值大于F分布查表值finv(0.95,1,9),越大于越显著disp(['统计量F对应概率P:',num2str(stats(3))]);%此值小于alpha(默认0.05),越小于越显著rcoplot(r,rint)%画出残差及其置信区间(时序残差图)fprintf('回归函数为y=%.4f+%.4f*x\n',b(1),b(2));第五讲回归分析初步与计算机模拟7一元线性回归(linearregression)4、诊断并剔除不适合回归模型的异常数据:%为了方便多次回归,此处daoju.m已作适当改写观察残差分布,发现第一个数据(0,30.6)残差的置信区间不包括零点,应视为异常点,将其剔除后,用剩余的数据点重新进行计算:再次计算,发现原始数据中的第二个数据(1,29.1)残差的置信区间也不包括零点,仍将该点视为异常点,将其剔除,重新计算:第五讲回归分析初步与计算机模拟8一元线性回归(linearregression)5、综合三种评价指数一时序残差图选定最佳回归:最后一次回归的数据残差的置信区间全部包括零点,无异常点。对比分析:对比两次剔除异常点前后的变化,发现置信区间明显缩小,相关系数F平方和明显变大,表明异常点的剔除有利于更好的建立模型。第五讲回归分析初步与计算机模拟9一元线性回归(linearregression)6、残差向量正态性的图形检验:目的是为了检验误差的正态性假设是否合理,常用的图形检验方法与三种:normplotqqplothist-0.500.510.050.100.250.500.750.900.95DataProbabilityNormalProbabilityPlot-2-1.5-1-0.500.511.52-0.6-0.4-0.200.20.40.60.811.2StandardNormalQuantilesQuantilesofInputSampleQQPlotofSampleDataversusStandardNormal-3-2-10123050100150200250300350400450qqplot分位图hist频度统计图第五讲回归分析初步与计算机模拟10一元线性回归(linearregression)7、利用回归模型对因变量做出预测或解释:代入最后一次回归系数估计值:28.8667-0.23333301yx对比采样点和回归模型,并预测15小时后刀具的厚度:xdata=0:1:10;ydata=[30.6,29.1,28.4,28.1,28.0,27.7,27.5,27.2,27.0,26.8,26.5];plot(xdata,ydata,'rs','linewidth',2);holdon;x=0:0.01:16;y=b(1)+b(2)*x;plot(x,y,'b-','linewidth',2);y=b(1)+b(2)*15%ans=25.3667即该切削机床15小时后的刀具厚度预测值为25.3667cm28.86670.233333yx第五讲回归分析初步与计算机模拟11多元线性回归(linearregression)基于最小二乘的多元线性回归函数regress:MultipleLinearRegressionAnalysis:b=regress(y,X)[b,bint,r,rint,stats]=regress(y,X,alpha)范例现有23位病人对医院的服务工作进行综合打分(百分制),同时也调查病人的简单情况,项目包括,病人对医院服务工作的满意程度Y,病人的年龄X1,病情严重程度X2,病人忧虑程度X3,具体调查表格如下(参见p89-90,此处略)第五讲回归分析初步与计算机模拟12多元线性回归(linearregression)1、对原始数据进行观察,确定回归模型:loadhospital.mat%载入数据源subplot(1,3,1);plot(x(1,:),y,'rs','linewidth',2);title('年龄vs评分');subplot(1,3,2);plot(x(2,:),y,'gs','linewidth',2);title('病情vs评分');subplot(1,3,3);plot(x(3,:),y,'bs','linewidth',2);title('忧虑vs评分');由散点图分析知:自变量年龄、病情、忧虑与因变量评分呈显著线性关系,所以可以建立多元线性回归模型011223301232,,,~(0,)yxxxNxy其中是未知参数是自变量,是因变量第五讲回归分析初步与计算机模拟13多元线性回归(linearregression)2、利用数据按照最小二乘准则计算模型中的系数:loadhospital.mat%载入数据源alpha=0.05;x=[ones(length(x),1),x'];y=y';[b,bint,r,rint,stats]=regress(y,x,alpha);disp(['回归系数b估计值:',num2str(b')]);disp(['相关系数R绝对值:',num2str(sqrt(stats(1)))]);disp(['假设检验统计量F:',num2str(stats(2))]);%ffenbu(0.95,3,19)disp(['统计量F对应概率P:',num2str(stats(3))]);rcoplot(r,rint)%画出残差及其置信区间(时序残差图)fprintf('回归函数为y=%.4f+%.4f*x1+%.4f*x2+%.4f*x3',b(1),b(2),b(3),b(4));第五讲回归分析初步与计算机模拟14多元线性回归(linearregression)3、找出与数据拟合得最好的模型:经过对stats统计量和时序残差图的综合分析,回归显著,回归函数具有统计学意义第五讲回归分析初步与计算机模拟15多元线性回归(linearregression)4、利用模型对因变量做出预测或解释:代入最后回归系数估计值:162.88-1.2103-0.66591-8.6130112233yxxx如果有一个新病人,其特征是年龄53,病情严重程度60,忧虑程度2.5,试预测该病人对医院服务工作的评分:x=[1,53,60,2.5];y=x*by=37.2421即该病人对医院服务工作的评分预测值为37.2421123162.881.21030.665918.613yxxx第五讲回归分析初步与计算机模拟16多元线性回归(linearregression)5、利用rstool二次响应曲面交互工具分析预测区间:StatisticsToolbox/rstoolInteractivefittingandvisualizationofaresponsesurfaceloadhospital.mat%载入数据源x=x';y=y';rstool(x,y);%37.2421是预测值,[14.7613,59.7229]是预测区间第五讲回归分析初步与计算机模拟17非线性回归(nonlinearregression)前面假定因变量和自变量之间的相关关系可以用线性方程来近似地反映,但是,在现实生活中,非线性关系是大量存在的,在许多场合,非线性的回归函数比线性回归函数更能够正确地反映客观现象之间的相互联系。非线性回归模型是回归函数关于未知参数具有非线性结构的回归模型,模型的拟合一般很困难。处理非线性回归的通行方法是,通过变量变换,将非线性回归转化为线性回归,然后用线性回归方法处理。122(,,...,)~(0,)nyfxxxN第五讲回归分析初步与计算机模拟18非线性回归(nonlin