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