R回歸分析

2021-09-03 02:37:13 字數 4605 閱讀 9485

a.建立回歸模型;

b.求解回歸模型中的引數;

c.對回歸模型進行檢驗。

r中,與線性模型有關的函式有:lm()、summary()、anova()和predict()。我們由例子入手,逐步學習這些函式。

例1:財政收入與稅收有密切的依存關係。d4.3給出我們2023年改革開放以來到2023年共31年的稅收(x,百億元)和財政收入(y,百億元)資料,試分析稅收與財政收入之間的依存關係。

> yx=read.table("clipboard",header=t) ##在d4.3中選取b1:c32區域,然後拷貝
> fm=lm(y~x,data=yx)

> fm

結果

call:

lm(formula = yx$y ~ yx$x)

coefficients:

(intercept) yx$x

6.7336 0.9982

> plot(yx$x, yx$y)

> abline(fm)

####1)模型的方差分析

> anova(fm)
結果

analysis of variance table

response: y

df sum sq mean sq f value pr(>f)

x 1 712077 712077 27428 < 2.2e-16 ***

residuals 29 753 26

---signif. codes: 0 『***』 0.001 『**』 0.01 『*』 0.05 『.』 0.1 『 』 1

由於p<0.05,於是在0.05水平處拒絕原假設,即本例回歸係數有統計學意義,x與y間存在直線回歸關係。

####2)回歸係數的顯著性檢驗

> summary(fm)
call:

lm(formula = yx$y ~ yx$x)

residuals: ##殘差的最小值,0.25分位點,中位數點,0.75分位點和最大值

min 1q median 3q max

-76.763 -5.627 -1.264 3.003 51.066

coefficients:

## estimate是引數估計值,std. error表示引數的標準差,t value為t值,pr(>|t|)為p值

estimate std. error t value pr(>|t|)

(intercept) 6.73358 4.38003 1.537 0.135 ##常數項

yx$x 0.99824 0.02436 40.983 <2e-16 *** ##一次項

---signif. codes: 0 『***』 0.001 『**』 0.01 『*』 0.05 『.』 0.1 『 』 1

residual standard error: 19.46 on 29 degrees of freedom ##殘差的標準差

multiple r-squared: 0.983, adjusted r-squared: 0.9824 ##r方與調整r方

f-statistic: 1680 on 1 and 29 df, p-value: < 2.2e-16 ##f值和p值

由於p<0.05,於是在0.05水平處拒絕原假設,即本例回歸係數有統計學意義,x與y間存在回歸關係。

當經過檢驗,回歸方程是有意義時,可以用它作**。

> new

> lm.pred

> lm.pred ##fit為**值,lwr是95%下限,upr是95%上限

fit     lwr      upr

1 705.5033 655.461 755.5456

例2:

考察財政收入和國內生產總值x1,稅收x2,進出口**總額x3,經濟活動人口x4之間的數量關係,建立多元線性回歸方程。

在d4.4中選取b1:f32區域,然後拷貝

> yx=read.table("clipboard",header=t)
> (fm=lm(y~x1+x2+x3+x4,data=yx))
結果

call:

lm(formula = y ~ x1 + x2 + x3 + x4)

coefficients:

(intercept) yx$x1 yx$x2 yx$x3 yx$x4

23.5321088 -0.0033866 1.1641150 0.0002919 -0.0437416

由於自變數與因變數都是有單位的,從數值上來看,它們樣本取值的極差會有很大的差異,均數與標準差也各不相同,所以不能由偏回歸係數的大小直接說明對因變數線性影響的大小。對於這個問題常用變數標準化與計算標準化偏回歸係數的方法來處理。標準化後常數項為0,且各變數的標準差相同,可用偏回歸的係數的值來反映各自變數在其他自變數固定時對因變數線性影響的大小,相互之間可進行比較。

常用的統計軟體都能給出標準化偏回歸係數,但r語言中並不包含計算標準回歸係數的函式。因此需要自編。

> library(mvstats)

> coef.sd(fm)

$coef.sd

x1 x2 x3 x4

-0.0174513678 1.0423522972 0.0009628564 -0.0371053994

由標準化偏回歸係數可見,稅收對財政收入的線性影響最大。

> summary(fm)
call:

lm(formula = y ~ x1 + x2 + x3 + x4, data = yx)

residuals:

min 1q median 3q max

-5.0229 -2.1354 0.3297 1.2639 6.9690

##係數的t值和p值,係數的顯著性檢驗

coefficients:

estimate std. error t value pr(>|t|)

(intercept) 23.5321088 4.5990714 5.117 2.47e-05 ***

x1 -0.0033866 0.0080749 -0.419 0.678

x2 1.1641150 0.0404889 28.751 < 2e-16 ***

x3 0.0002919 0.0085527 0.034 0.973

x4 -0.0437416 0.0092638 -4.722 7.00e-05 ***

---signif. codes: 0 『***』 0.001 『**』 0.01 『*』 0.05 『.』 0.1 『 』 1

residual standard error: 2.79 on 26 degrees of freedom

multiple r-squared: 0.9997, adjusted r-squared: 0.9997

f-statistic: 2.289e+04 on 4 and 26 df, p-value: < 2.2e-16 ##方程的f值和p值,方程的顯著性檢驗

模型的p<0.0001,故本例回歸模型是有意義的。

偏回歸係數b2,b4的p值都小於0.01,可認為解釋變數稅收x2和經濟活動人口x4顯著;b1,b3的p值大於0.50,不能否定b1=0,b3=0的假設。可認為國內生產總值x1和進出口**總額x3對財政收入y沒有顯著的影響。我們可以看到,國內生產總值、經濟活動人口所對應的偏回歸係數都為負,這與經濟現實是不相符的。出現這種結果的可能原因是這些解釋變數之間存在高度的共線性。

> new

> lm.pred

> lm.pred

結果

R語言系列 回歸分析

r語言系列 回歸分析 一元線形回歸模型 有變數x,y。假設有關係y c bx e,其中c bx 是y隨x變化的部分,e是隨機誤差。可以很容易的用函式lm 求出回歸引數b,c並作相應的假設檢驗,如 x c 0.10,0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.2...

R語言系列 回歸分析

r語言系列 回歸分析 一元線形回歸模型 有變數x,y。假設有關係y c bx e,其中c bx 是y隨x變化的部分,e是隨機誤差。可以很容易的用函式lm 求出回歸引數b,c並作相應的假設檢驗,如 x c 0.10,0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.2...

r語言 面板資料回歸 R語言 地理加權回歸分析

理論知識 地理加權回歸 geographically weighted regression,gwr 是一種空間分析技術,廣泛應用於地理學及涉及空間模式分析的相關學科。gwr通過建立空間範圍內每個點處的區域性回歸方程,來探索研究物件在某一尺度下的空間變化及相關驅動因素,並可用於對未來結果的 由於它考...