多元回归——matlab,R与spss

 多元回归(Multiple Regression)  

具体是指在相关变量中指定其中一个为因变量,其余一个或多个变量视为自变量,建立多个变量之间的线性或非线性数学模型。

                                                   y=\beta _{_{0}}+\beta _{1}x_{1}+\cdots +\beta _{n}x_{n}

其中,\beta _{0},\cdots ,\beta _{n}称为回归参数,我们的目的就是利用样本数据对这些参数做出估计,从而给出回归模型。

  • 在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里没有命令。只需选择回归分析,指定自变量与因变量即可。

下面以一个例子来具体说明:

给定数据集如下表所示,建立回归模型:

序号x1x2x3x4y
182.992.017.194.08.4
288.093.021.396.09.6
399.996.025.197.010.4
4105.394.029.097.011.4
5117.7100.034.0100.012.2
6131.0101.040.0101.014.2
7148.2105.044.0104.015.8
8161.8112.049.0109.0

17.9

9174.2112.051.0111.019.6
10184.7112.053..0111.020.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给出的回归模型是完全一样的。

                 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值