多元迴歸(Multiple Regression)
具體是指在相關變量中指定其中一個爲因變量,其餘一個或多個變量視爲自變量,建立多個變量之間的線性或非線性數學模型。
其中,稱爲迴歸參數,我們的目的就是利用樣本數據對這些參數做出估計,從而給出迴歸模型。
- 在matlab中,與多元迴歸相關的命令是:
[b,bint,r,rint,stats]=regress(y,X)
其中,b代表迴歸係數,bint是迴歸係數的區間估計,r是殘差,rint是置信區間,stats給出相關的檢驗統計量,依次爲r^2,相關係數,F以及F對應的p值。
- 在R中,可以直接調用lm來進行迴歸建模:
fit=lm(y~x1+x2+x3,data=mydata) ##以三元迴歸爲例,其餘情況類似可得##
summary(fit)
- spss裏沒有命令。只需選擇迴歸分析,指定自變量與因變量即可。
下面以一個例子來具體說明:
給定數據集如下表所示,建立迴歸模型:
序號 | 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給出的迴歸模型是完全一樣的。