MATLAB中多元线性回归的例子
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 ...
X0=[on0es1(n,10), x10',x21',x31']; 0 1 0 1];
[b,bint,r,rint,s]=regress(y',X);
s2=sum(r.^2)/(n-m-1);
b,bint,s,s2
rcoplot(r,rint)
模型 求解
xueya01.m
回归系数 回归系数估计值 回归系数置信区间
0
45.3636
[3.5537 87.1736]
1
0.3604
[-0.0758 0.7965 ]
2
3.0906
[1.0530 5.1281]
s: 3个统计量:决定系数R2,F值, F(1,n-2)分布大于 F值的概率p,p<时回归模型有效
rcoplot(r,rint)
残差及其置信区间作图
回归 模型 例3: 血压与年龄、体重指数、吸烟习惯
序 血 年 体重 吸烟 序 血 年 体重 吸烟 号 压 龄 指数 习惯 号 压 龄 指数 习惯 1 144 39 24.2 0 21 136 36 25.0 0 2 215 47 31.1 1 22 142 50 26.2 1 3 138 45 22.6 0 23 120 39 23.5 0 10 154 56 19.3 0 30 175 69 27.4 1
(2)输入自变量与因变量;
(3)利用命令: [b,bint,r,rint,s]=regress(y,X,alpha),rcoplot(r,rint) 得到回归模型的系数以及异常点的情况;
(4)对回归模型进行检验 首先进行残差的正态性检验:jbtest,ttest
其次进行残差的异方差检验: 戈德菲尔德一匡特(Goldfeld—Quandt)检验 戈德菲尔德检验,简称为G—Q检验.为了检验异方差性,将样本按解释变量排序后 分成两部分,再利用样本1和样本2分别建立回归模型,并求出各自的残差平方和 RSSl和RSS2。如果误差项的离散程度相同(即为同方差的),则RSSl和RSS2的值应 该大致相同;若两者之间存在显著差异,则表明存在异方差. 检验过程中为了“夸大” 残差的差异性,一般先在样本中部去掉C个数据(通常取c=n/4),再利用F统计量判 断差异的显著性:
F RSS2 /((n c) / 2 k 1) RSS2 ~ F ((n c) / 2 k 1, (n c) / 2 k 1) RSS1 /((n c) / 2 k 1) RSS1
其中,n为样本容量,k为自变量个数. 然后对残差进行自相关性的检验,通常我们利用DW检验进行残差序列自相关性的检验。 该检验的统计量为:
(3)残差的自相关性检验: 计算得到:dw = 1.4330,查表后得到:dl=0.97 , du=1.41, 由于 1.41=du<dw=1.433<4-du=2.59 ,残差不存在自相关性.
这时置信区间不包含零点,F统计量增大,可决系数从0.6855增大到0.8462 , 我们得到回归模型为:
yˆ 58.5101 0.4303 x1 2.3449 x2 10.3065 x3
通常,进行多元线性回归的步骤如下:
(1)做自变量与因变量的散点图,根据散点图的形状决定是否可以进行线性回归;
67 56 64 56 59 34 42 48
45 18 20 19 36 50 39 21
44 53 63 29 25 69];
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.1 21.7 22.2 27.4 18.8 22.6 21.5 25.0 26.2 23.5
2.线性回归
b=regress(y,X) [b,bint,r,rint,s]=regress(y,X,alpha)
输入: y~因变量(列向量), X~1与自变量组成的矩阵, Alpha~显著性水平(缺省时设定为0.05)
输出:b=(
ˆ0, ˆ1,),bint: b的置信区间,
r:残差(列向量),rint: r的置信区间
3
11.8246
[-0.1482 23.7973]
R2= 0.6855 F= 18.8906 p<0.0001 s2 =169.7917
剔除异常点(第2点 和第10点)后
回归系数
0 1 2 3
R2= 0.8462
回归系数估计值 回归系数置信区间
58.5101
[29.9064 87.1138]
0.4303
体重指数 = 体重(kg)/身高(m)的平方
吸烟习惯: 0表示不吸烟,1表示吸烟
建立血压与年龄、体重指数、吸烟习惯之间的回归模型
模型建立
血压y,年龄x1,体重指数x2,吸烟习惯x3
y与x1的散点图
y与x2的散点图
线性回归模型
y 0 1x1 2 x2 3x3
回归系数0, 1, 2, 3 由数据估计, 是随机误差
回归系数 回归系数估计值 回归系数置信区间
0
58.5101
[29.9064 87.1138]
1
0.4303
[0.1273 0.7332]
2
2.3449
[0.8509 3.8389]
3
10.3065
[3.3878 17.2253]
R2= 0.8462 F= 44.0087 p<0.0001 s2 =53.6604
下面我们对模型进行检验: (1)残差的正态检验: 由jbtest检验,h=0表明残差服从正态分布,进而由t检验可知h=0,p=1,故残差服从 均值为零的正态分布; (2)残差的异方差检验: 我们将28个数据从小到大排列,去掉中间的6个数据,得到F统计量的观测值为:f =1.9092,
由F(7,7)=3.79,可知:f =1.9092<3.79,故不存在异方差.
[0.1273 0.7332]
2.3449
[0.8509 3.8389]
10.3065
[3.3878 17.2253]
F= 44.0087 p<0.0001 s2 =53.6604
yˆ 58.5101 0.4303 x1 2.3449 x2 10.3065 x3
此时可见第二与第十二个点是异常点,于是删除上述两点,再次进行回归得到改 进后的回归模型的系数、系数置信区间与统计量
n
n
DW (et et1 )2 / et 2
t2
t 1
e 其中 为残t 差序列,对于计算出的结果通过查表决定是否存在自相关性。
若 du<DW<4-du,则不存在自相关性; 若 DW<dl,则存在一阶正相关;
DW>4-dl,则存在一阶负相关; 若 dl<DW<du 或4-du<DW<4-dl ,则无法判断
n=30;m=3;
y=[144 215 138 145 162 142 170 124
158Hale Waihona Puke Baidu154 162
150 140 110 128
130 135 114 116 124 136
142
120 120 160 158 144 130 125
175];
x1=[39 47 45 47 65 46 67 42