多元回归(Multiple Regression)
具体是指在相关变量中指定其中一个为因变量,其余一个或多个变量视为自变量,建立多个变量之间的线性或非线性数学模型。
其中,称为回归参数,我们的目的就是利用样本数据对这些参数做出估计,从而给出回归模型。
[b,bint,r,rint,stats]=regress(y,X)
其中,b代表回归系数,bint是回归系数的区间估计,r是残差,rint是置信区间,stats给出相关的检验统计量,依次为r^2,相关系数,F以及F对应的p值。
fit=lm(y~x1+x2+x3,data=mydata) ##以三元回归为例,其余情况类似可得##
summary(fit)
下面以一个例子来具体说明:
给定数据集如下表所示,建立回归模型:
序号 | x1 | x2 | x3 | x4 | y |
1 | 82.9 | 92.0 | 17.1 | 94.0 | 8.4 |
2 | 88.0 | 93.0 | 21.3 | 96.0 | 9.6 |
3 | 99.9 | 96.0 | 25.1 | 97.0 | 10.4 |
4 | 105.3 | 94.0 | 29.0 | 97.0 | 11.4 |
5 | 117.7 | 100.0 | 34.0 | 100.0 | 12.2 |
6 | 131.0 | 101.0 | 40.0 | 101.0 | 14.2 |
7 | 148.2 | 105.0 | 44.0 | 104.0 | 15.8 |
8 | 161.8 | 112.0 | 49.0 | 109.0 | 17.9 |
9 | 174.2 | 112.0 | 51.0 | 111.0 | 19.6 |
10 | 184.7 | 112.0 | 53..0 | 111.0 | 20.8 |
一 matlab程序:
>> X=[ones(10),x1,x2,x3,x4];
>> [b,bint,r,rint,stats]=regress(y,X);
>> b
输出结果如下:
b =
0
0
0
0
-0.3352
0
0
0
0
0
0.1447
-0.0201
-0.0601
-0.0014
bint =
0 0
0 0
0 0
0 0
-16.3054 15.6350
0 0
0 0
0 0
0 0
0 0
0.0673 0.2221
-0.2347 0.1946
-0.2620 0.1419
-0.0142 0.0114
r =
-0.2550
0.4823
-0.1495
0.2633
-0.3058
0.0129
-0.4119
0.1682
0.1972
-0.0017
rint =
-0.9035 0.3935
-0.2785 1.2430
-1.1669 0.8678
-0.3580 0.8846
-1.1922 0.5806
0.0048 0.0210
-1.2299 0.4061
-0.4614 0.7979
-0.7387 1.1331
-0.6352 0.6317
stats =
0.9958 293.5509 0.0000 0.1440
即建立的回归模型为:y=-0.335+0.145x1-0.020x2-0.060x3-0.001x4
二 R程序
fit=lm(y~x1+x2+x3+x4)
summary(fit)
输出结果如下:
Call:
lm(formula = y ~ x1 + x2 + x3 + x4, data = mydata)
Residuals:
1 2 3 4 5 6 7
-0.254973 0.482272 -0.149541 0.263324 -0.305798 0.012890 -0.411873
8 9 10
0.168239 0.197200 -0.001741
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.335177 6.212688 -0.054 0.95906
x1 0.144672 0.030114 4.804 0.00487 **
x2 -0.020060 0.083510 -0.240 0.81970
x3 -0.060055 0.078562 -0.764 0.47912
x4 -0.001390 0.004988 -0.279 0.79172
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.3794 on 5 degrees of freedom
Multiple R-squared: 0.9958, Adjusted R-squared: 0.9924
F-statistic: 293.6 on 4 and 5 DF, p-value: 4.085e-06
即建立的回归模型为:y=-0.335+0.145x1-0.020x2-0.060x3-0.001x4
三 spss输出结果
系数a
模型 未标准化系数 标准化系数 t 显著性
B 标准错误 Beta
1 (常量) -.335 6.213 -.054 .959
VAR00001 .145 .030 1.213 4.804 .005
VAR00002 -.020 .084 -.038 -.240 .820
VAR00003 -.060 .079 -.179 -.764 .479
VAR00004 -.001 .005 -.010 -.279 .792
a 因变量:VAR00005
即建立的回归模型为:y=-0.335+0.145x1-0.020x2-0.060x3-0.001x4
由这个例子可以看出,matlab,R,spss给出的回归模型是完全一样的。