多元线性回归软件应用.docx
Matlab实现多元回归实例假设已有数据X 与Y,在Matlab软件包中,使用stepwise命令进展逐步回归,得到回归方程,其中是随机误差。stepwise命令的使用格式如下:stepwise(X,Y)在应用stepwise命令进展运算时,程序不断提醒将某个变量参加Move in回归方程,或者提醒将某个变量从回归方程中剔除Move out。注释:使用stepwise命令进展逐步回归,既有剔除变量的运算,也有引入变量的运算,它是目前应用较为广泛的一种多元回归方法。在运行stepwise(X,Y)命令时,默认显著性概率。求出关系式。解:1本问题涉及的数据是多维的,不能画图观察。先做异常值分析。num=xlsread('1.xls','Sheet5','C2:M27');y=num(1:26,1);x=num(1:26,2:11);A=x,y; mahal(A,A) %异常值分析A=X,Y;程序执行后得到结果:ans =可以认为数据都是正常的。2一般多元回归。在Matlab软件包中写一个M文件opt_cement_1:num=xlsread('1.xls','Sheet5','C2:M27');y=num(1:26,1);x=num(1:26,2:11);a1=ones(26,1);A=a1,x;b,bint,r,rint,stat=regress(y,A)rcoplot(r,rint)stepwise(x,y)程序执行后得到:b =bint =r =rint =stat =以及残差杠杆图:于是,我们得到:并且,残差杠杆图显示,残差均匀分布在0点线附近,在stat返回的4个值中,说明模型拟合的很好。F_检验值666.9387 >0.000,符合要求。但是,与显著性概率相关的值>0.05,这说明,回归方程中有些变量可以剔除。3逐步回归在Matlab软件包中写一个M文件opt_cement_2:num=xlsread('1.xls','Sheet5','C2:M27');y=num(1:26,1);x=num(1:26,2:11);stepwise(x,y)程序执行后得到以下逐步回归的画面:最后得到回归方程蓝色行是被保存的有效行,红色行表示被剔除的变量:回归方程中录用了原始变量x1、x7与x9。模型评估参数分别为:R2,修正的值,F_检验值,与显著性概率相关的值,残差均方RMSE这个值越小越好。以上指标值都很好,说明回归效果比拟理想。 另外,截距intercept=Intercept = the estimated value of the constant term,这就是回归方程的常数项。由于求得的Y 是关于x1、x7与x9 的函数,对应的图形是由四维空间内所有满足Y= f(x1,x7,x9)的点 (x1,x7,x9,Y) 的集合。而人类视觉能够看到的最大空间是三维空间,我们暂时无法在一个三维空间表达四维图像Y= f(x1,x7,x9) 的全貌。因此我们先固定Y值,消除一个未知量,求得在该Y值情况下x1,x7,x9的关系。为计算方便我们取当Y=51.3707时,此时函数关系为:在MATLAB中输入以下程序:c,e=meshgrid(linspace(20,100),linspace(10,410,400);d=(1.115*c+0.00824329*e)/0.432785;mesh(c,d,e);xlabel('x1');ylabel('x7');zlabel('x9');程序执行后得到图形:第 4 页