资源描述:
《MATLAB中多元线性回归》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.线性回归b=regress(y,X)[b,bint,r,rint,s]=regress(y,X,alpha)输入:y~因变量(列向量),X~1与自变量组成的矩阵,Alpha~显著性水平(缺省时设定为0.05)s:3个统计量:决定系数R2,F值,F(1,n-2)分布大于F值的概率p,p<时回归模型有效输出:b=(),bint:b的置信区间,r:残差(列向量),rint:r的置信区间rcoplot(r,rint)残差及其置信区间作图回归模型例3:血压与年龄、体重指数、吸烟习惯序号血压年龄体重指数吸烟习惯序号血压年龄体重指数吸烟习惯1144392
2、4.20211363625.0022154731.11221425026.2131384522.60231203923.50101545619.30301756927.41体重指数=体重(kg)/身高(m)的平方吸烟习惯:0表示不吸烟,1表示吸烟建立血压与年龄、体重指数、吸烟习惯之间的回归模型模型建立血压y,年龄x1,体重指数x2,吸烟习惯x3y与x1的散点图y与x2的散点图线性回归模型回归系数0,1,2,3由数据估计,是随机误差n=30;m=3;y=[144215138145162142170124158154162
3、150140110128130135114116124136142120120160158144130125175];x1=[394745476546674267566456593442484518201936503921445363292569];x2=[24.231.122.624.025.925.129.519.727.219.328.025.827.320.121.722.227.418.822.621.525.026.223.520.327.128.628.322.025.327.4];x3=[0101101010100001000...
4、00100110101];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,s2rcoplot(r,rint)回归系数回归系数估计值回归系数置信区间045.3636[3.553787.1736]10.3604[-0.07580.7965]23.0906[1.05305.1281]311.8246[-0.148223.7973]R2=0.6855F=18.8906p<0.0001s2=169.7917模型求解回归系数回
5、归系数估计值回归系数置信区间058.5101[29.906487.1138]10.4303[0.12730.7332]22.3449[0.85093.8389]310.3065[3.387817.2253]R2=0.8462F=44.0087p<0.0001s2=53.6604剔除异常点(第2点和第10点)后xueya01.m此时可见第二与第十二个点是异常点,于是删除上述两点,再次进行回归得到改进后的回归模型的系数、系数置信区间与统计量回归系数回归系数估计值回归系数置信区间058.5101[29.906487.1138]10.4303[
6、0.12730.7332]22.3449[0.85093.8389]310.3065[3.387817.2253]R2=0.8462F=44.0087p<0.0001s2=53.6604这时置信区间不包含零点,F统计量增大,可决系数从0.6855增大到0.8462,我们得到回归模型为:通常,进行多元线性回归的步骤如下:(1)做自变量与因变量的散点图,根据散点图的形状决定是否可以进行线性回归;(2)输入自变量与因变量;(3)利用命令:[b,bint,r,rint,s]=regress(y,X,alpha),rcoplot(r,rint)得到回归模
7、型的系数以及异常点的情况;(4)对回归模型进行检验首先进行残差的正态性检验:jbtest,ttest其次进行残差的异方差检验:戈德菲尔德一匡特(Goldfeld—Quandt)检验戈德菲尔德检验,简称为G—Q检验.为了检验异方差性,将样本按解释变量排序后分成两部分,再利用样本1和样本2分别建立回归模型,并求出各自的残差平方和RSSl和RSS2。如果误差项的离散程度相同(即为同方差的),则RSSl和RSS2的值应该大致相同;若两者之间存在显著差异,则表明存在异方差.检验过程中为了“夸大”残差的差异性,一般先在样本中部去掉C个数据(通常取c=n/4),
8、再利用F统计量判断差异的显著性:其中,n为样本容量,k为自变量个数.然后对残差进行自相关性的检验,通常我们利用DW检验进行