rstudio线性回归_R语言统计分析(一元线性回归和多元线性回归)
數據
表2 2003-2012某省運輸業相關數據
年份
投資總額
(億元)
從業人數
(萬人)
能源投入
(萬噸標準煤)
地區GDP
(億元)
CO2排放量
(萬噸)
2003年
320.1
166.37
487.82
6867.7
1216.14
2004年
373.87
180.37
509.12
8553.79
1269.24
2005年
468.35
187.29
649.93
10587.42
1620.28
2006年
568.4
188.9
673.04
12362.79
1677.89
2007年
426.06
198.65
772.28
15012.46
1925.29
2008年
389.43
204.46
802.43
18407.78
2000.46
2009年
484.44
207.7
875.72
19480.46
2183.17
2010年
661.88
213.14
1340.6
23092.36
3342.12
2011年
784.37
217.8
1288.68
26931.03
3212.68
2012年
896.8
222.77
1418.56
29599.31
3536.47
將以上excel表格進行簡單處理,并保存為txt文本格式,存放在C盤的Data文件夾內。表2為2003-2012某省運輸業相關數據,保存時命名為zongti.txt。代碼中出現的invest,worker,energy,gdp,carbon等詞語分別代表表格中的投資總額、從業人數、能源投入地區GDP、CO2排放量。
一元線性回歸分析
相關分析只能得出兩個變量之間是否相關,但是不能回答兩個變量之間存在相關關系時是如何聯系的,即無法找出刻畫它們之間因果關系的函數關系,回歸分析就可以解決這一問題。根據表2中投資總額和地區GDP這兩項數據,分別設為變量X和Y。代碼如下:
setwd("c:\\Data\\")
zongti
x
y
lm.r
summary(lm.r)
調用函數lm()可以非常方便求解回歸方程,以下為運行的結果:
Call:
lm(formula = y ~ 1 +
x)
Residuals:
Min?1Q?Median?3Q?Max
-5833.7
-2645.0?358.8?1810.6?6595.9
Coefficients:
Estimate Std. Error t value
Pr(>|t|)
(Intercept)
-2080.606?4064.682?-0.512?0.62257
x?35.674?7.174?4.973?0.00109 **
---
Signif.
codes:?0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘
’ 1
Residual standard error: 4074
on 8 degrees of freedom
Multiple
R-squared:?0.7556,?Adjusted R-squared:?0.725
F-statistic: 24.73 on 1 and 8
DF,?p-value: 0.00109
從上面輸出的結果中的p值可以看出回歸方程通過回歸參數的檢驗與回歸方程的檢驗,由此得到的一元線性回歸方程為:
Y= -2080.606+35.674X
多元回歸分析
很多實際問題中,影響響應變量的因素不止一個,因此綜合需要考慮與之相關的其他變量,此類回歸分析為多元回歸分析。也就是說多元回歸分析是對隨機變量Y與n個自變量X1、X2…Xn之間存在的線性相關關系。
根據表2中投資總額、從業人數和能源投入以及地區GDP這兩項數據,分別設為變量X1、X2、X3和Y。代碼如下:
setwd("c:\\Data\\")
zongti
y
x1
x2
x3
B
lm.r
lm.s
summary(lm.s)
同樣調用lm()函數進行的回歸分析,由于考慮的變量很多,用step()函數進行變量篩選,結果如下:
Start:?AIC=148.59
y ~ x1 + x2 + x3
Df Sum of
Sq?RSS?AIC
- x1?1?718520
13475687 147.14
12757167 148.59
- x3?1?5873190 18630357
150.38
- x2?1?25535839 38293006 157.58
Step:?AIC=147.14
y ~ x2 + x3
Df Sum of
Sq?RSS?AIC
13475687 147.14
- x3?1?18222037 31697724 153.69
- x2?1?24818088 38293775 155.58
> summary(lm.s)
Call:
lm(formula = y ~ x2 + x3)
Residuals:
Min?1Q?Median?3Q?Max
-2192.72?-757.01?60.92?1017.12?1538.74
Coefficients:
Estimate Std. Error t value
Pr(>|t|)
(Intercept) -39030.90?10382.08?-3.759?0.00708
**
x2?235.96?65.72?3.591?0.00885 **
x3?10.46?3.40?3.077?0.01790 *
---
Signif. codes:?0 ‘***’ 0.001 ‘**’ 0.01 ‘*’
0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1387 on 7 degrees of
freedom
Multiple R-squared:
0.9752,?Adjusted R-squared:?0.9681
F-statistic: 137.6 on 2 and 7 DF,?p-value:
2.406e-06
若選擇全部的變量構造回歸方程,效果不一定好。R語言提供了獲得最優回歸方程的方法,逐步回歸法的計算函數step(),它以Akaike信息統計量為準則(AIC)通過選擇最小的AIC信息統計量,來達到刪除或者增加變量的目的。也就是說它是以AIC作為評價指標來判斷一個變量是否應該加入模型。
從上面運行的結果來看,如果去掉變量X1,AIC的值為147.14;如果如果去掉變量X2,AIC的值為157.58;如果去掉變量X3,AIC的值為150.38;如果選用所有的變量構造方程,AIC的值為148.59。所以可以考慮去掉變量X1。
去掉變量X1后,由于用于回歸方程檢驗的F統計量的p值和用于回歸系數檢驗的t統計量的p值都小于0.05,因此回歸方程與回歸系數的檢驗都是顯著的,最優的多元回歸方程為:
Y= -39030.90+235.96X2+
10.46X3
總結
以上是生活随笔為你收集整理的rstudio线性回归_R语言统计分析(一元线性回归和多元线性回归)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows (win10 ) NTP
- 下一篇: 【E家园项目】