《利用MATLAB进行多元线性回归》由会员分享,可在线阅读,更多相关《利用MATLAB进行多元线性回归(15页珍藏版)》请在人人文库网上搜索。
1、2.线性回归,b=regress(y,X) b,bint,r,rint,s=regress(y,X,alpha),输入: y因变量(列向量), X1与自变量组成的矩阵, Alpha显著性水平(缺省时设定为0.05),s: 3个统计量:决定系数R2,F值, F(1,n-2)分布大于 F值的概率p,p时回归模型有效,rcoplot(r,rint),残差及其置信区间作图,回归模型,例3: 血压与年龄、体重指数、吸烟习惯,体重指数 = 体重(kg)/身高(m)的平方,吸烟习惯: 0表示不吸烟,1表示吸烟,建立血压与年龄、体重指数、吸烟习惯之间的回归模型,模型建立,血压y,年龄x1,体重指数x2,吸烟习。
2、惯x3,y与x1的散点图,y与x2的散点图,线性回归模型,回归系数0, 1, 2, 3 由数据估计, 是随机误差,n=30;m=3; y=144215138145162142170124158154 162150140110128130135114116124 136142120120160158144130125175; x1=39474547654667426756 64565934424845182019 36503921445363292569; x2=24.2 31.1 22.6 24.0 25.9 25.1 29.5 19.7 27.2 19.3 28.0 25.8 27.3 20。
3、.1 21.7 22.2 27.4 18.8 22.6 21.5 25.0 26.2 23.5 20.3 27.1 28.6 28.3 22.0 25.3 27.4; x3=0 1 0 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 . 0 0 1 0 0 1 1 0 1 0 1;,X=ones(n,1), x1,x2,x3; b,bint,r,rint,s=regress(y,X); s2=sum(r.2)/(n-m-1); b,bint,s,s2 rcoplot(r,rint),模型求解,剔除异常点(第2点和第10点)后,xueya01.m,此时可见第二与第十二个点是异常点。
4、,于是删除上述两点,再次进行回归得到改进后的回归模型的系数、系数置信区间与统计量,这时置信区间不包含零点,F统计量增大,可决系数从0.6855增大到0.8462 ,我们得到回归模型为:,通常,进行多元线性回归的步骤如下: (1)做自变量与因变量的散点图,根据散点图的形状决定是否可以进行线性回归; (2)输入自变量与因变量; (3)利用命令: b,bint,r,rint,s=regress(y,X,alpha),rcoplot(r,rint) 得到回归模型的系数以及异常点的情况; (4)对回归模型进行检验 首先进行残差的正态性检验:jbtest,ttest,其次进行残差的异方差检验: 戈德菲尔德。
5、一匡特(GoldfeldQuandt)检验 戈德菲尔德检验,简称为GQ检验.为了检验异方差性,将样本按解释变量排序后分成两部分,再利用样本1和样本2分别建立回归模型,并求出各自的残差平方和RSSl和RSS2。如果误差项的离散程度相同(即为同方差的),则RSSl和RSS2的值应该大致相同;若两者之间存在显著差异,则表明存在异方差. 检验过程中为了“夸大”残差的差异性,一般先在样本中部去掉C个数据(通常取cn4),再利用F统计量判断差异的显著性:,其中,n为样本容量,k为自变量个数. 然后对残差进行自相关性的检验,通常我们利用DW检验进行残差序列自相关性的检验。该检验的统计量为:,其中 为残差序列。
6、,对于计算出的结果通过查表决定是否存在自相关性。,若 du4-dl,则存在一阶负相关; 若 dlDWdu 或4-duDW4-dl ,则无法判断,下面我们对模型进行检验: (1)残差的正态检验: 由jbtest检验,h=0表明残差服从正态分布,进而由t检验可知h=0,p=1,故残差服从均值为零的正态分布; (2)残差的异方差检验: 我们将28个数据从小到大排列,去掉中间的6个数据,得到F统计量的观测值为:f =1.9092,由F(7,7)=3.79,可知:f =1.90923.79,故不存在异方差.,(3)残差的自相关性检验: 计算得到:dw = 1.4330,查表后得到:dl=0.97 , du=1.41, 由于 1.41=dudw=1.4334-du=2.59 ,残差不存在自相关性。