R语言做简单的一元线性回归
简单举一个例子
某商业银行2002年主要业务
数据
如何将这些数据添加到
R中?
> y<- c(0.9,1.1,4.8,3.2,7.8,2.7,1.6,12.5,1.0,2.6,0.3,4.0,0.8,3.5,10.2,3.0,0.2,0.4,1.0,6.8,11.6,1.6,1.2,7.2,3.2)
> x<-c(67.3,111.3,173.0,80.8,199.7,16.2,107.4,185.4,96.1,72.8,64.2,132.2,58.6,174.6,263.5,79.3,14.8,73.5,24.7,139.4,368.2,95.7,109.6,196.2,102.2)
> dfrm<- data.frame(y,x)
> summary(lm(y~ x))
y表示不良贷款,x表示各项贷款余额,单位:亿元
展示输出结果
Call:
lm(formula = y ~ x)
Residuals:
Min 1Q Median 3Q Max
-2.2882 -1.5233 -0.1802 0.8935 6.3038
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.82952 0.72304 -1.147 0.263
x 0.03789 0.00503 7.534 1.18e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.98 on 23 degrees of freedom
Multiple R-squared: 0.7116, Adjusted R-squared: 0.6991
F-statistic: 56.75 on 1 and 23 DF, p-value: 1.183e-07
我们来看一下,这些结果都是表示什么以及是怎么算出来的
Residuals:
Min 1Q Median 3Q Max
-2.2882 -1.5233 -0.1802 0.8935 6.3038
表示的是残差统计量
那么什么是残差,也许有些人不太懂
用一个公式表示,也许你就懂了
ei=yi−yˆi
也就是说这25个残差中,最小的是-2.2882,最大的是6.3038,中位数及四分位数就是上面的几个了,那么有没有办法显示全部的残差咧
summary(lm(y~ x))$resid
输出的结果
1 2 3 4 5 6
-0.8207932 -2.2881603 -0.9262637 0.9676283 1.0619476 2.9156264
7 8 9 10 11 12
-1.6403709 6.3038419 -1.8121607 0.6707859 -1.3033196 -0.1801596
13 14 15 16 17 18
-0.5911092 -2.2868952 1.0442653 0.8244704 0.4686790 -1.5557403
19 20 21 22 23 24
0.8935214 2.3469985 -1.5233105 -1.1970028 -2.1237393 0.5945791
25
0.1566816
我们继续分析
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.82952 0.72304 -1.147 0.263
x 0.03789 0.00503 7.534 1.18e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
这里面的是一堆系数,都是什么咧?
标记为Estimate的列包含由
最小二乘法计算得出的估计回归系数
即
yˆ=0.03789x−0.82952
标记为Std.Error的列表示估计的回归系数(截距和斜率)的标准误差
标记为t value 的列是t统计量,他们的计算方法就是回归系数除以回归系数的标准误差
标记为Pr( >| t | )的列是t统计量计算出来的值(应该是吧)
Residual standard error: 1.98 on 23 degrees of freedom
Multiple R-squared: 0.7116, Adjusted R-squared: 0.6991
F-statistic: 56.75 on 1 and 23 DF, p-value: 1.183e-07
第一句是表示残差的标准误差,23是自由度
第二句是表示判定系数,实际意义就是在不良贷款取值的变差中,有71.16%可以由不良贷款与贷款余额之间的线性关系来解释。后一个值是调整后的判断系数,计算公式为
R2a=1−(1−R2)(n−1n−k−1)
这里由于是一元
线性回归,残差平方和的自由度为n-2(即k=1)
第三句表示的是F(1,23)分布的统计量是56.75。